3 // For the time being `macro_rules` items are treated as *very* private...
5 #![feature(decl_macro, uniform_paths)]
6 #![allow(non_camel_case_types)]
9 macro_rules! legacy_macro { () => () }
11 // ... so they can't be imported by themselves, ...
12 use legacy_macro as _; //~ ERROR `legacy_macro` is private, and cannot be re-exported
16 macro_rules! legacy_macro { () => () }
18 type legacy_macro = u8;
20 // ... but don't prevent names from other namespaces from being imported, ...
21 use legacy_macro as _; // OK
25 macro legacy_macro() {}
28 macro_rules! legacy_macro { () => () }
30 // ... but still create ambiguities with other names in the same namespace.
31 use legacy_macro as _; //~ ERROR `legacy_macro` is ambiguous
32 //~| ERROR `legacy_macro` is private, and cannot be re-exported
37 // Exported macros are treated as private as well,
38 // some better rules need to be figured out later.
40 macro_rules! legacy_macro { () => () }
42 use legacy_macro as _; //~ ERROR `legacy_macro` is private, and cannot be re-exported