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