typedef A = ( ( int xx, const int yy ) x, shared ( int xx, mine int yy ) y, int z ); A a1; var A a2; shared A a3; // FIXME this shouldn't be allowed unless the variable is visible outside the compilation unit () test() { A fa1; var shared A fa2; }