Rollup merge of #57908 - petrochenkov:errepice, r=estebank
resolve: Fix span arithmetics in the import conflict error https://github.com/rust-lang/rust/pull/56937 rebased and fixed Fixes https://github.com/rust-lang/rust/issues/56411 Fixes https://github.com/rust-lang/rust/issues/57071 Fixes https://github.com/rust-lang/rust/issues/57787 r? @estebank
This commit is contained in:
commit
bbe8dd9ca3
4 changed files with 98 additions and 46 deletions
17
src/test/ui/issues/issue-56411.rs
Normal file
17
src/test/ui/issues/issue-56411.rs
Normal file
|
|
@ -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!");
|
||||
}
|
||||
31
src/test/ui/issues/issue-56411.stderr
Normal file
31
src/test/ui/issues/issue-56411.stderr
Normal file
|
|
@ -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`.
|
||||
5
src/test/ui/issues/issue_56411_aux.rs
Normal file
5
src/test/ui/issues/issue_56411_aux.rs
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
// compile-pass
|
||||
|
||||
struct T {}
|
||||
|
||||
fn main() {}
|
||||
Loading…
Add table
Add a link
Reference in a new issue