1 // REQUIRED_ARGS: -transition=checkimports
2 /*
3 TEST_OUTPUT:
4 ---
5 fail_compilation/checkimports2a.d(26): Deprecation: local import search method found variable imports.imp2.X instead of variable checkimports2a.X
6 fail_compilation/checkimports2a.d(32): Deprecation: local import search method found variable imports.imp2.X instead of nothing
7 fail_compilation/checkimports2a.d(32): Error: no property 'X' for type 'checkimports2a.B'
8 fail_compilation/checkimports2a.d(32):        while evaluating: `static assert((B).X == 0)`
9 fail_compilation/checkimports2a.d(33): Deprecation: local import search method found variable imports.imp2.Y instead of nothing
10 fail_compilation/checkimports2a.d(33): Error: no property 'Y' for type 'checkimports2a.B'
11 fail_compilation/checkimports2a.d(33):        while evaluating: `static assert((B).Y == 2)`
12 fail_compilation/checkimports2a.d(35): Deprecation: local import search method found variable imports.imp2.X instead of variable checkimports2a.X
13 fail_compilation/checkimports2a.d(36): Deprecation: local import search method found variable imports.imp2.Y instead of variable imports.imp1.Y
14 ---
15 */
16 
17 // new lookup + information
18 
19 import imports.imp1;
20 
21 enum X = 0;
22 
23 class B
24 {
25     import imports.imp2;
26     static assert(X == 0);      // imp2.X --> .X
27     int[Y] aa;                  // imp2.Y
28 }
29 
30 class C : B
31 {
32     static assert(B.X == 0);    // imp2.X --> error
33     static assert(B.Y == 2);    // imp2.Y --> error
34 
35     static assert(X == 0);      // imp2.X --> .X
36     static assert(Y == 1);      // imp2.Y --> imp1.Y
37 }
38