]> git.lizzy.rs Git - rust.git/blob - src/test/ui/imports/macros.rs
Rollup merge of #53110 - Xanewok:save-analysis-remap-path, r=nrc
[rust.git] / src / test / ui / imports / macros.rs
1 // Copyright 2016 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
4 //
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
10
11 // aux-build:two_macros.rs
12
13 #![feature(use_extern_macros)]
14
15 extern crate two_macros; // two identity macros `m` and `n`
16
17 mod foo {
18     pub use two_macros::n as m;
19 }
20
21 mod m1 {
22     m!(use two_macros::*;);
23     use foo::m; // This shadows the glob import
24 }
25
26 mod m2 {
27     use two_macros::*;
28     m! { //~ ERROR ambiguous
29         use foo::m;
30     }
31 }
32
33 mod m3 {
34     use two_macros::m;
35     fn f() {
36         use two_macros::n as m; // This shadows the above import
37         m!();
38     }
39
40     fn g() {
41         m! { //~ ERROR ambiguous
42             use two_macros::n as m;
43         }
44     }
45 }
46
47 mod m4 {
48     macro_rules! m { () => {} }
49     use two_macros::m;
50     m!(); //~ ERROR ambiguous
51 }
52
53 fn main() {}