1 2 alias Int = mixin("int"); 3 alias Lint = mixin("Int"); 4 5 int test1(mixin("int")* p) 6 { 7 mixin("int")[] a; 8 mixin("int[]") b; 9 mixin("int[] c;"); 10 mixin("*p = c[0];"); 11 *p = mixin("c[0]"); 12 return *p + a[0] + b[0] + c[0]; 13 } 14 15 /******************************************/ 16 test2()17void test2() 18 { 19 auto a = __traits(allMembers, mixin(__MODULE__)); 20 } 21 22 /*****************************************/ 23 test3()24void test3() 25 { 26 char val; 27 int mod; 28 enum b = __traits(compiles, mixin("*cast(int*)&val + mod")); 29 static assert(b == true); 30 } 31 32 /********************************************/ 33 34 35 struct S 36 { 37 int fielda; 38 int fieldb; 39 } 40 Foo4(alias T)41template Foo4(alias T) 42 { 43 enum Foo4 = true; 44 } 45 test4()46void test4() 47 { 48 S sa; 49 auto a = Foo4!( __traits(getMember,sa,"fielda") ); 50 51 S sb; 52 enum getStuff = q{ __traits(getMember,sb,"fieldb") }; 53 auto b = Foo4!(mixin(getStuff)); 54 } 55 56