diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:02:58 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:02:58 +0000 |
commit | 698f8c2f01ea549d77d7dc3338a12e04c11057b9 (patch) | |
tree | 173a775858bd501c378080a10dca74132f05bc50 /src/test/ui/fully-qualified-type | |
parent | Initial commit. (diff) | |
download | rustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.tar.xz rustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.zip |
Adding upstream version 1.64.0+dfsg1.upstream/1.64.0+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/ui/fully-qualified-type')
6 files changed, 91 insertions, 0 deletions
diff --git a/src/test/ui/fully-qualified-type/fully-qualified-type-name1.rs b/src/test/ui/fully-qualified-type/fully-qualified-type-name1.rs new file mode 100644 index 000000000..229c174da --- /dev/null +++ b/src/test/ui/fully-qualified-type/fully-qualified-type-name1.rs @@ -0,0 +1,10 @@ +// Test that we use fully-qualified type names in error messages. + +fn main() { + let x: //~ NOTE expected due to the type of this binding + Option<usize>; //~ NOTE expected due to this type + x = 5; + //~^ ERROR mismatched types + //~| NOTE expected enum `Option<usize>` + //~| NOTE expected enum `Option`, found integer +} diff --git a/src/test/ui/fully-qualified-type/fully-qualified-type-name1.stderr b/src/test/ui/fully-qualified-type/fully-qualified-type-name1.stderr new file mode 100644 index 000000000..4750c5ccd --- /dev/null +++ b/src/test/ui/fully-qualified-type/fully-qualified-type-name1.stderr @@ -0,0 +1,20 @@ +error[E0308]: mismatched types + --> $DIR/fully-qualified-type-name1.rs:6:9 + | +LL | let x: + | - expected due to the type of this binding +LL | Option<usize>; + | ------------- expected due to this type +LL | x = 5; + | ^ expected enum `Option`, found integer + | + = note: expected enum `Option<usize>` + found type `{integer}` +help: try wrapping the expression in `Some` + | +LL | x = Some(5); + | +++++ + + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0308`. diff --git a/src/test/ui/fully-qualified-type/fully-qualified-type-name2.rs b/src/test/ui/fully-qualified-type/fully-qualified-type-name2.rs new file mode 100644 index 000000000..94a9f4e56 --- /dev/null +++ b/src/test/ui/fully-qualified-type/fully-qualified-type-name2.rs @@ -0,0 +1,18 @@ +// Test that we use fully-qualified type names in error messages. + +mod x { + pub enum Foo { } +} + +mod y { + pub enum Foo { } +} + +fn bar(x: x::Foo) -> y::Foo { + return x; + //~^ ERROR mismatched types + //~| expected enum `y::Foo`, found enum `x::Foo` +} + +fn main() { +} diff --git a/src/test/ui/fully-qualified-type/fully-qualified-type-name2.stderr b/src/test/ui/fully-qualified-type/fully-qualified-type-name2.stderr new file mode 100644 index 000000000..aed7f72c6 --- /dev/null +++ b/src/test/ui/fully-qualified-type/fully-qualified-type-name2.stderr @@ -0,0 +1,11 @@ +error[E0308]: mismatched types + --> $DIR/fully-qualified-type-name2.rs:12:12 + | +LL | fn bar(x: x::Foo) -> y::Foo { + | ------ expected `y::Foo` because of return type +LL | return x; + | ^ expected enum `y::Foo`, found enum `x::Foo` + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0308`. diff --git a/src/test/ui/fully-qualified-type/fully-qualified-type-name4.rs b/src/test/ui/fully-qualified-type/fully-qualified-type-name4.rs new file mode 100644 index 000000000..2486ae009 --- /dev/null +++ b/src/test/ui/fully-qualified-type/fully-qualified-type-name4.rs @@ -0,0 +1,14 @@ +// Test that we use fully-qualified type names in error messages. + +use std::option::Option; + +fn bar(x: usize) -> Option<usize> { + return x; + //~^ ERROR mismatched types + //~| expected enum `Option<usize>` + //~| found type `usize` + //~| expected enum `Option`, found `usize` +} + +fn main() { +} diff --git a/src/test/ui/fully-qualified-type/fully-qualified-type-name4.stderr b/src/test/ui/fully-qualified-type/fully-qualified-type-name4.stderr new file mode 100644 index 000000000..778b13f24 --- /dev/null +++ b/src/test/ui/fully-qualified-type/fully-qualified-type-name4.stderr @@ -0,0 +1,18 @@ +error[E0308]: mismatched types + --> $DIR/fully-qualified-type-name4.rs:6:12 + | +LL | fn bar(x: usize) -> Option<usize> { + | ------------- expected `Option<usize>` because of return type +LL | return x; + | ^ expected enum `Option`, found `usize` + | + = note: expected enum `Option<usize>` + found type `usize` +help: try wrapping the expression in `Some` + | +LL | return Some(x); + | +++++ + + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0308`. |