diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:03 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:03 +0000 |
commit | 64d98f8ee037282c35007b64c2649055c56af1db (patch) | |
tree | 5492bcf97fce41ee1c0b1cc2add283f3e66cdab0 /tests/ui/blind | |
parent | Adding debian version 1.67.1+dfsg1-1. (diff) | |
download | rustc-64d98f8ee037282c35007b64c2649055c56af1db.tar.xz rustc-64d98f8ee037282c35007b64c2649055c56af1db.zip |
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/ui/blind')
-rw-r--r-- | tests/ui/blind/blind-item-block-item-shadow.rs | 9 | ||||
-rw-r--r-- | tests/ui/blind/blind-item-block-item-shadow.stderr | 17 | ||||
-rw-r--r-- | tests/ui/blind/blind-item-block-middle.rs | 9 | ||||
-rw-r--r-- | tests/ui/blind/blind-item-block-middle.stderr | 16 | ||||
-rw-r--r-- | tests/ui/blind/blind-item-item-shadow.rs | 7 | ||||
-rw-r--r-- | tests/ui/blind/blind-item-item-shadow.stderr | 18 |
6 files changed, 76 insertions, 0 deletions
diff --git a/tests/ui/blind/blind-item-block-item-shadow.rs b/tests/ui/blind/blind-item-block-item-shadow.rs new file mode 100644 index 000000000..d90ef77e2 --- /dev/null +++ b/tests/ui/blind/blind-item-block-item-shadow.rs @@ -0,0 +1,9 @@ +mod foo { pub struct Bar; } + +fn main() { + { + struct Bar; + use foo::Bar; + //~^ ERROR the name `Bar` is defined multiple times + } +} diff --git a/tests/ui/blind/blind-item-block-item-shadow.stderr b/tests/ui/blind/blind-item-block-item-shadow.stderr new file mode 100644 index 000000000..68b3f4c1a --- /dev/null +++ b/tests/ui/blind/blind-item-block-item-shadow.stderr @@ -0,0 +1,17 @@ +error[E0255]: the name `Bar` is defined multiple times + --> $DIR/blind-item-block-item-shadow.rs:6:13 + | +LL | struct Bar; + | ----------- previous definition of the type `Bar` here +LL | use foo::Bar; + | ^^^^^^^^ `Bar` reimported here + | + = note: `Bar` must be defined only once in the type namespace of this block +help: you can use `as` to change the binding name of the import + | +LL | use foo::Bar as OtherBar; + | ~~~~~~~~~~~~~~~~~~~~ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0255`. diff --git a/tests/ui/blind/blind-item-block-middle.rs b/tests/ui/blind/blind-item-block-middle.rs new file mode 100644 index 000000000..6cd3f3bd4 --- /dev/null +++ b/tests/ui/blind/blind-item-block-middle.rs @@ -0,0 +1,9 @@ +#![allow(non_camel_case_types)] + +mod foo { pub struct bar; } + +fn main() { + let bar = 5; + //~^ ERROR mismatched types + use foo::bar; +} diff --git a/tests/ui/blind/blind-item-block-middle.stderr b/tests/ui/blind/blind-item-block-middle.stderr new file mode 100644 index 000000000..eb64fea94 --- /dev/null +++ b/tests/ui/blind/blind-item-block-middle.stderr @@ -0,0 +1,16 @@ +error[E0308]: mismatched types + --> $DIR/blind-item-block-middle.rs:6:9 + | +LL | mod foo { pub struct bar; } + | -------------- unit struct defined here +... +LL | let bar = 5; + | ^^^ - this expression has type `{integer}` + | | + | expected integer, found struct `bar` + | `bar` is interpreted as a unit struct, not a new binding + | help: introduce a new binding instead: `other_bar` + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0308`. diff --git a/tests/ui/blind/blind-item-item-shadow.rs b/tests/ui/blind/blind-item-item-shadow.rs new file mode 100644 index 000000000..82d07ea70 --- /dev/null +++ b/tests/ui/blind/blind-item-item-shadow.rs @@ -0,0 +1,7 @@ +mod foo { pub mod foo { } } + +use foo::foo; +//~^ ERROR the name `foo` is defined multiple times +//~| `foo` reimported here + +fn main() {} diff --git a/tests/ui/blind/blind-item-item-shadow.stderr b/tests/ui/blind/blind-item-item-shadow.stderr new file mode 100644 index 000000000..7f9e80089 --- /dev/null +++ b/tests/ui/blind/blind-item-item-shadow.stderr @@ -0,0 +1,18 @@ +error[E0255]: the name `foo` is defined multiple times + --> $DIR/blind-item-item-shadow.rs:3:5 + | +LL | mod foo { pub mod foo { } } + | ------- previous definition of the module `foo` here +LL | +LL | use foo::foo; + | ^^^^^^^^ `foo` reimported here + | + = note: `foo` must be defined only once in the type namespace of this module +help: you can use `as` to change the binding name of the import + | +LL | use foo::foo as other_foo; + | ~~~~~~~~~~~~~~~~~~~~~ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0255`. |