diff options
Diffstat (limited to 'src/test/ui/macros/restricted-shadowing-modern.rs')
| -rw-r--r-- | src/test/ui/macros/restricted-shadowing-modern.rs | 241 |
1 files changed, 0 insertions, 241 deletions
diff --git a/src/test/ui/macros/restricted-shadowing-modern.rs b/src/test/ui/macros/restricted-shadowing-modern.rs deleted file mode 100644 index 1151a829eba..00000000000 --- a/src/test/ui/macros/restricted-shadowing-modern.rs +++ /dev/null @@ -1,241 +0,0 @@ -// Legend: -// `N` - number of combination, from 0 to 4*4*4=64 -// `Outer < Invoc` means that expansion that produced macro definition `Outer` -// is a strict ancestor of expansion that produced macro definition `Inner`. -// `>`, `=` and `Unordered` mean "strict descendant", "same" and -// "not in ordering relation" for parent expansions. -// `+` - possible configuration -// `-` - configuration impossible due to properties of partial ordering -// `-?` - configuration impossible due to block/scope syntax -// `+?` - configuration possible only with legacy scoping - -// N | Outer ~ Invoc | Invoc ~ Inner | Outer ~ Inner | Possible | -// 1 | < | < | < | + | -// 2 | < | < | = | - | -// 3 | < | < | > | - | -// 4 | < | < | Unordered | - | -// 5 | < | = | < | + | -// 6 | < | = | = | - | -// 7 | < | = | > | - | -// 8 | < | = | Unordered | - | -// 9 | < | > | < | + | -// 10 | < | > | = | + | -// 11 | < | > | > | -? | -// 12 | < | > | Unordered | -? | -// 13 | < | Unordered | < | + | -// 14 | < | Unordered | = | - | -// 15 | < | Unordered | > | - | -// 16 | < | Unordered | Unordered | -? | -// 17 | = | < | < | + | -// 18 | = | < | = | - | -// 19 | = | < | > | - | -// 20 | = | < | Unordered | - | -// 21 | = | = | < | - | -// 22 | = | = | = | + | -// 23 | = | = | > | - | -// 24 | = | = | Unordered | - | -// 25 | = | > | < | - | -// 26 | = | > | = | - | -// 27 | = | > | > | -? | -// 28 | = | > | Unordered | - | -// 29 | = | Unordered | < | - | -// 30 | = | Unordered | = | - | -// 31 | = | Unordered | > | - | -// 32 | = | Unordered | Unordered | -? | -// 33 | > | < | < | -? | -// 34 | > | < | = | -? | -// 35 | > | < | > | -? | -// 36 | > | < | Unordered | + | -// 37 | > | = | < | - | -// 38 | > | = | = | - | -// 39 | > | = | > | + | -// 40 | > | = | Unordered | - | -// 41 | > | > | < | - | -// 42 | > | > | = | - | -// 43 | > | > | > | -? | -// 44 | > | > | Unordered | - | -// 45 | > | Unordered | < | - | -// 46 | > | Unordered | = | - | -// 47 | > | Unordered | > | -? | -// 48 | > | Unordered | Unordered | -? | -// 49 | Unordered | < | < | -? | -// 50 | Unordered | < | = | - | -// 51 | Unordered | < | > | - | -// 52 | Unordered | < | Unordered | + | -// 53 | Unordered | = | < | - | -// 54 | Unordered | = | = | - | -// 55 | Unordered | = | > | - | -// 56 | Unordered | = | Unordered | + | -// 57 | Unordered | > | < | - | -// 58 | Unordered | > | = | - | -// 59 | Unordered | > | > | + | -// 60 | Unordered | > | Unordered | + | -// 61 | Unordered | Unordered | < | -? | -// 62 | Unordered | Unordered | = | -? | -// 63 | Unordered | Unordered | > | -? | -// 64 | Unordered | Unordered | Unordered | + | - -#![feature(decl_macro, rustc_attrs)] - -struct Right; -// struct Wrong; // not defined - -#[rustc_macro_transparency = "transparent"] -macro include() { - #[rustc_macro_transparency = "transparent"] - macro gen_outer() { - macro m() { Wrong } - } - #[rustc_macro_transparency = "transparent"] - macro gen_inner() { - macro m() { Right } - } - #[rustc_macro_transparency = "transparent"] - macro gen_invoc() { - m!() - } - - fn check1() { - macro m() {} - { - #[rustc_macro_transparency = "transparent"] - macro gen_gen_inner_invoc() { - gen_inner!(); - m!(); //~ ERROR `m` is ambiguous - } - gen_gen_inner_invoc!(); - } - } - - fn check5() { - macro m() { Wrong } - { - #[rustc_macro_transparency = "transparent"] - macro gen_inner_invoc() { - macro m() { Right } - m!(); // OK - } - gen_inner_invoc!(); - } - } - - fn check9() { - macro m() { Wrong } - { - #[rustc_macro_transparency = "transparent"] - macro gen_inner_gen_invoc() { - macro m() { Right } - gen_invoc!(); // OK - } - gen_inner_gen_invoc!(); - } - } - - fn check10() { - macro m() { Wrong } - { - macro m() { Right } - gen_invoc!(); // OK - } - } - - fn check13() { - macro m() {} - { - gen_inner!(); - #[rustc_macro_transparency = "transparent"] - macro gen_invoc() { m!() } //~ ERROR `m` is ambiguous - gen_invoc!(); - } - } - - fn check17() { - macro m() {} - { - gen_inner!(); - m!(); //~ ERROR `m` is ambiguous - } - } - - fn check22() { - macro m() { Wrong } - { - macro m() { Right } - m!(); // OK - } - } - - fn check36() { - gen_outer!(); - { - gen_inner!(); - m!(); //~ ERROR `m` is ambiguous - } - } - - fn check39() { - gen_outer!(); - { - macro m() { Right } - m!(); // OK - } - } - - fn check52() { - gen_outer!(); - { - #[rustc_macro_transparency = "transparent"] - macro gen_gen_inner_invoc() { - gen_inner!(); - m!(); //~ ERROR `m` is ambiguous - } - gen_gen_inner_invoc!(); - } - } - - fn check56() { - gen_outer!(); - { - #[rustc_macro_transparency = "transparent"] - macro gen_inner_invoc() { - macro m() { Right } - m!(); // OK - } - gen_inner_invoc!(); - } - } - - fn check59() { - gen_outer!(); - { - macro m() { Right } - gen_invoc!(); // OK - } - } - - fn check60() { - gen_outer!(); - { - #[rustc_macro_transparency = "transparent"] - macro gen_inner_gen_invoc() { - macro m() { Right } - gen_invoc!(); // OK - } - gen_inner_gen_invoc!(); - } - } - - fn check64() { - gen_outer!(); - { - gen_inner!(); - #[rustc_macro_transparency = "transparent"] - macro gen_invoc() { m!() } //~ ERROR `m` is ambiguous - gen_invoc!(); - } - } -} - -include!(); - -fn main() {} |
