]>
Commit | Line | Data |
---|---|---|
5a0aa603 IB |
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 | ||
17 | void test2() | |
18 | { | |
19 | auto a = __traits(allMembers, mixin(__MODULE__)); | |
20 | } | |
21 | ||
22 | /*****************************************/ | |
23 | ||
24 | void 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 | ||
41 | template Foo4(alias T) | |
42 | { | |
43 | enum Foo4 = true; | |
44 | } | |
45 | ||
46 | void 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 |