diff options
| author | François Mockers <mockersf@gmail.com> | 2018-12-18 02:22:08 +0100 |
|---|---|---|
| committer | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2019-01-25 22:39:14 +0300 |
| commit | ac4b685650d1ba0a38806ce8f7cbf12e7a00f573 (patch) | |
| tree | a3f487422e70a97c8aa7e85b25e4085d3e62222a /src/test/ui/issues | |
| parent | 0b1669d96cee9dec9035a50fdf0a967a68605f98 (diff) | |
| download | rust-ac4b685650d1ba0a38806ce8f7cbf12e7a00f573.tar.gz rust-ac4b685650d1ba0a38806ce8f7cbf12e7a00f573.zip | |
#56411 do not suggest a fix for a import conflict in a macro
Diffstat (limited to 'src/test/ui/issues')
| -rw-r--r-- | src/test/ui/issues/issue-56411.rs | 17 | ||||
| -rw-r--r-- | src/test/ui/issues/issue-56411.stderr | 31 | ||||
| -rw-r--r-- | src/test/ui/issues/issue_56411.rs | 5 |
3 files changed, 53 insertions, 0 deletions
diff --git a/src/test/ui/issues/issue-56411.rs b/src/test/ui/issues/issue-56411.rs new file mode 100644 index 00000000000..599f277123c --- /dev/null +++ b/src/test/ui/issues/issue-56411.rs @@ -0,0 +1,17 @@ +macro_rules! import { + ( $($name:ident),* ) => { + $( + mod $name; + pub use self::$name; + //~^ ERROR the name `issue_56411` is defined multiple times + //~| ERROR `issue_56411` is private, and cannot be re-exported + + )* + } +} + +import!(issue_56411); + +fn main() { + println!("Hello, world!"); +} diff --git a/src/test/ui/issues/issue-56411.stderr b/src/test/ui/issues/issue-56411.stderr new file mode 100644 index 00000000000..842d86f4a3a --- /dev/null +++ b/src/test/ui/issues/issue-56411.stderr @@ -0,0 +1,31 @@ +error[E0255]: the name `issue_56411` is defined multiple times + --> $DIR/issue-56411.rs:5:21 + | +LL | mod $name; + | ---------- previous definition of the module `issue_56411` here +LL | pub use self::$name; + | ^^^^^^^^^^^ + | | + | `issue_56411` reimported here + | you can use `as` to change the binding name of the import +... +LL | import!(issue_56411); + | --------------------- in this macro invocation + | + = note: `issue_56411` must be defined only once in the type namespace of this module + +error[E0365]: `issue_56411` is private, and cannot be re-exported + --> $DIR/issue-56411.rs:5:21 + | +LL | pub use self::$name; + | ^^^^^^^^^^^ re-export of private `issue_56411` +... +LL | import!(issue_56411); + | --------------------- in this macro invocation + | + = note: consider declaring type or module `issue_56411` with `pub` + +error: aborting due to 2 previous errors + +Some errors occurred: E0255, E0365. +For more information about an error, try `rustc --explain E0255`. diff --git a/src/test/ui/issues/issue_56411.rs b/src/test/ui/issues/issue_56411.rs new file mode 100644 index 00000000000..bd689e913ab --- /dev/null +++ b/src/test/ui/issues/issue_56411.rs @@ -0,0 +1,5 @@ +// compile-pass + +struct T {} + +fn main() {} |
