about summary refs log tree commit diff
path: root/src/test/ui/issues
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2019-01-26 18:14:46 +0000
committerbors <bors@rust-lang.org>2019-01-26 18:14:46 +0000
commit20c2cba61dc83e612d25ed496025171caa3db30f (patch)
treef6294c9e220acd5733dfe7b39541f4e2640c7187 /src/test/ui/issues
parent46a43dc1e987156c4c03a8c92c8ba7b21363982b (diff)
parent97833ee506d2b69c46bad4aad07aab89c7f03516 (diff)
downloadrust-20c2cba61dc83e612d25ed496025171caa3db30f.tar.gz
rust-20c2cba61dc83e612d25ed496025171caa3db30f.zip
Auto merge of #57918 - Centril:rollup, r=Centril
Rollup of 7 pull requests

Successful merges:

 - #57407 (Stabilize extern_crate_self)
 - #57703 (Make MutexGuard's Debug implementation more useful.)
 - #57764 (Fix some minor warnings)
 - #57825 (un-deprecate mem::zeroed)
 - #57827 (Ignore aarch64 in simd-intrinsic-generic-reduction)
 - #57908 (resolve: Fix span arithmetics in the import conflict error)
 - #57913 (Change crate-visibility-modifier issue number in The Unstable Book)

Failed merges:

r? @ghost
Diffstat (limited to 'src/test/ui/issues')
-rw-r--r--src/test/ui/issues/issue-56411.rs17
-rw-r--r--src/test/ui/issues/issue-56411.stderr31
-rw-r--r--src/test/ui/issues/issue_56411_aux.rs5
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..3561c21cc7e
--- /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_aux` is defined multiple times
+            //~| ERROR `issue_56411_aux` is private, and cannot be re-exported
+
+        )*
+    }
+}
+
+import!(issue_56411_aux);
+
+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..dd05852c091
--- /dev/null
+++ b/src/test/ui/issues/issue-56411.stderr
@@ -0,0 +1,31 @@
+error[E0255]: the name `issue_56411_aux` is defined multiple times
+  --> $DIR/issue-56411.rs:5:21
+   |
+LL |             mod $name;
+   |             ---------- previous definition of the module `issue_56411_aux` here
+LL |             pub use self::$name;
+   |                     ^^^^^^^^^^^
+   |                     |
+   |                     `issue_56411_aux` reimported here
+   |                     you can use `as` to change the binding name of the import
+...
+LL | import!(issue_56411_aux);
+   | ------------------------- in this macro invocation
+   |
+   = note: `issue_56411_aux` must be defined only once in the type namespace of this module
+
+error[E0365]: `issue_56411_aux` is private, and cannot be re-exported
+  --> $DIR/issue-56411.rs:5:21
+   |
+LL |             pub use self::$name;
+   |                     ^^^^^^^^^^^ re-export of private `issue_56411_aux`
+...
+LL | import!(issue_56411_aux);
+   | ------------------------- in this macro invocation
+   |
+   = note: consider declaring type or module `issue_56411_aux` 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_aux.rs b/src/test/ui/issues/issue_56411_aux.rs
new file mode 100644
index 00000000000..bd689e913ab
--- /dev/null
+++ b/src/test/ui/issues/issue_56411_aux.rs
@@ -0,0 +1,5 @@
+// compile-pass
+
+struct T {}
+
+fn main() {}