diff options
| author | Mara Bos <m-ou.se@m-ou.se> | 2021-03-08 20:09:06 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-03-08 20:09:06 +0100 |
| commit | 3908eec60fe4f95bcde989651e98b2a3b3965a4b (patch) | |
| tree | d26c880126869cb6d0559130b0183f680bd11bfb /src/test | |
| parent | a5035c9995a87495267965b3a43bc2e1f66d747d (diff) | |
| parent | 0eeae1abfcd8e588b41b01100db4dbc9384f6144 (diff) | |
| download | rust-3908eec60fe4f95bcde989651e98b2a3b3965a4b.tar.gz rust-3908eec60fe4f95bcde989651e98b2a3b3965a4b.zip | |
Rollup merge of #82881 - Manishearth:crate-root, r=estebank
diagnostics: Be clear about "crate root" and `::foo` paths in resolve diagnostics Various changes to make sure the diagnostics are clear about the differences in `::foo` paths across editions: - `::foo` will say "crate root" in 2015 and "list of imported crates" in 2018 - `crate::` will never reference imported crates in 2018 Fixes https://github.com/rust-lang/rust/issues/82876
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui/editions-crate-root-2015.rs | 21 | ||||
| -rw-r--r-- | src/test/ui/editions-crate-root-2015.stderr | 28 | ||||
| -rw-r--r-- | src/test/ui/editions-crate-root-2018.rs | 21 | ||||
| -rw-r--r-- | src/test/ui/editions-crate-root-2018.stderr | 28 | ||||
| -rw-r--r-- | src/test/ui/editions/edition-imports-virtual-2015-gated.stderr | 2 | ||||
| -rw-r--r-- | src/test/ui/resolve/raw-ident-in-path.rs | 2 | ||||
| -rw-r--r-- | src/test/ui/resolve/raw-ident-in-path.stderr | 4 | ||||
| -rw-r--r-- | src/test/ui/rfc-2126-extern-absolute-paths/non-existent-2.rs | 2 | ||||
| -rw-r--r-- | src/test/ui/rfc-2126-extern-absolute-paths/non-existent-2.stderr | 4 |
9 files changed, 105 insertions, 7 deletions
diff --git a/src/test/ui/editions-crate-root-2015.rs b/src/test/ui/editions-crate-root-2015.rs new file mode 100644 index 00000000000..4c890e3ae69 --- /dev/null +++ b/src/test/ui/editions-crate-root-2015.rs @@ -0,0 +1,21 @@ +// edition:2015 + +mod inner { + fn global_inner(_: ::nonexistant::Foo) { + //~^ ERROR failed to resolve: maybe a missing crate `nonexistant`? + } + fn crate_inner(_: crate::nonexistant::Foo) { + //~^ ERROR failed to resolve: maybe a missing crate `nonexistant`? + } + + fn bare_global(_: ::nonexistant) { + //~^ ERROR cannot find type `nonexistant` in the crate root + } + fn bare_crate(_: crate::nonexistant) { + //~^ ERROR cannot find type `nonexistant` in the crate root + } +} + +fn main() { + +} diff --git a/src/test/ui/editions-crate-root-2015.stderr b/src/test/ui/editions-crate-root-2015.stderr new file mode 100644 index 00000000000..f8d65fec3d1 --- /dev/null +++ b/src/test/ui/editions-crate-root-2015.stderr @@ -0,0 +1,28 @@ +error[E0433]: failed to resolve: maybe a missing crate `nonexistant`? + --> $DIR/editions-crate-root-2015.rs:4:26 + | +LL | fn global_inner(_: ::nonexistant::Foo) { + | ^^^^^^^^^^^ maybe a missing crate `nonexistant`? + +error[E0433]: failed to resolve: maybe a missing crate `nonexistant`? + --> $DIR/editions-crate-root-2015.rs:7:30 + | +LL | fn crate_inner(_: crate::nonexistant::Foo) { + | ^^^^^^^^^^^ maybe a missing crate `nonexistant`? + +error[E0412]: cannot find type `nonexistant` in the crate root + --> $DIR/editions-crate-root-2015.rs:11:25 + | +LL | fn bare_global(_: ::nonexistant) { + | ^^^^^^^^^^^ not found in the crate root + +error[E0412]: cannot find type `nonexistant` in the crate root + --> $DIR/editions-crate-root-2015.rs:14:29 + | +LL | fn bare_crate(_: crate::nonexistant) { + | ^^^^^^^^^^^ not found in the crate root + +error: aborting due to 4 previous errors + +Some errors have detailed explanations: E0412, E0433. +For more information about an error, try `rustc --explain E0412`. diff --git a/src/test/ui/editions-crate-root-2018.rs b/src/test/ui/editions-crate-root-2018.rs new file mode 100644 index 00000000000..61e4329bbb3 --- /dev/null +++ b/src/test/ui/editions-crate-root-2018.rs @@ -0,0 +1,21 @@ +// edition:2018 + +mod inner { + fn global_inner(_: ::nonexistant::Foo) { + //~^ ERROR failed to resolve: could not find `nonexistant` in the list of imported crates + } + fn crate_inner(_: crate::nonexistant::Foo) { + //~^ ERROR failed to resolve: could not find `nonexistant` in the crate root + } + + fn bare_global(_: ::nonexistant) { + //~^ ERROR cannot find crate `nonexistant` in the list of imported crates + } + fn bare_crate(_: crate::nonexistant) { + //~^ ERROR cannot find type `nonexistant` in the crate root + } +} + +fn main() { + +} diff --git a/src/test/ui/editions-crate-root-2018.stderr b/src/test/ui/editions-crate-root-2018.stderr new file mode 100644 index 00000000000..967a5a2fca1 --- /dev/null +++ b/src/test/ui/editions-crate-root-2018.stderr @@ -0,0 +1,28 @@ +error[E0433]: failed to resolve: could not find `nonexistant` in the list of imported crates + --> $DIR/editions-crate-root-2018.rs:4:26 + | +LL | fn global_inner(_: ::nonexistant::Foo) { + | ^^^^^^^^^^^ could not find `nonexistant` in the list of imported crates + +error[E0433]: failed to resolve: could not find `nonexistant` in the crate root + --> $DIR/editions-crate-root-2018.rs:7:30 + | +LL | fn crate_inner(_: crate::nonexistant::Foo) { + | ^^^^^^^^^^^ could not find `nonexistant` in the crate root + +error[E0412]: cannot find crate `nonexistant` in the list of imported crates + --> $DIR/editions-crate-root-2018.rs:11:25 + | +LL | fn bare_global(_: ::nonexistant) { + | ^^^^^^^^^^^ not found in the list of imported crates + +error[E0412]: cannot find type `nonexistant` in the crate root + --> $DIR/editions-crate-root-2018.rs:14:29 + | +LL | fn bare_crate(_: crate::nonexistant) { + | ^^^^^^^^^^^ not found in the crate root + +error: aborting due to 4 previous errors + +Some errors have detailed explanations: E0412, E0433. +For more information about an error, try `rustc --explain E0412`. diff --git a/src/test/ui/editions/edition-imports-virtual-2015-gated.stderr b/src/test/ui/editions/edition-imports-virtual-2015-gated.stderr index 06605c6f208..1cde0f72140 100644 --- a/src/test/ui/editions/edition-imports-virtual-2015-gated.stderr +++ b/src/test/ui/editions/edition-imports-virtual-2015-gated.stderr @@ -2,7 +2,7 @@ error[E0432]: unresolved import `E` --> $DIR/edition-imports-virtual-2015-gated.rs:8:5 | LL | gen_gated!(); - | ^^^^^^^^^^^^^ could not find `E` in crate root + | ^^^^^^^^^^^^^ could not find `E` in the list of imported crates | = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) diff --git a/src/test/ui/resolve/raw-ident-in-path.rs b/src/test/ui/resolve/raw-ident-in-path.rs index 1bcbef59437..7f1163bebde 100644 --- a/src/test/ui/resolve/raw-ident-in-path.rs +++ b/src/test/ui/resolve/raw-ident-in-path.rs @@ -1,5 +1,5 @@ // Regression test for issue #63882. -type A = crate::r#break; //~ ERROR cannot find type `r#break` in module `crate` +type A = crate::r#break; //~ ERROR cannot find type `r#break` in the crate root fn main() {} diff --git a/src/test/ui/resolve/raw-ident-in-path.stderr b/src/test/ui/resolve/raw-ident-in-path.stderr index f2efcbc8e85..771dacbbb20 100644 --- a/src/test/ui/resolve/raw-ident-in-path.stderr +++ b/src/test/ui/resolve/raw-ident-in-path.stderr @@ -1,8 +1,8 @@ -error[E0412]: cannot find type `r#break` in module `crate` +error[E0412]: cannot find type `r#break` in the crate root --> $DIR/raw-ident-in-path.rs:3:17 | LL | type A = crate::r#break; - | ^^^^^^^ not found in `crate` + | ^^^^^^^ not found in the crate root error: aborting due to previous error diff --git a/src/test/ui/rfc-2126-extern-absolute-paths/non-existent-2.rs b/src/test/ui/rfc-2126-extern-absolute-paths/non-existent-2.rs index 61212f299be..def60feb5a6 100644 --- a/src/test/ui/rfc-2126-extern-absolute-paths/non-existent-2.rs +++ b/src/test/ui/rfc-2126-extern-absolute-paths/non-existent-2.rs @@ -2,5 +2,5 @@ fn main() { let s = ::xcrate::S; - //~^ ERROR failed to resolve: could not find `xcrate` in crate root + //~^ ERROR failed to resolve: could not find `xcrate` in the list of imported crates } diff --git a/src/test/ui/rfc-2126-extern-absolute-paths/non-existent-2.stderr b/src/test/ui/rfc-2126-extern-absolute-paths/non-existent-2.stderr index 8b2a6933f37..7df4f06d1c7 100644 --- a/src/test/ui/rfc-2126-extern-absolute-paths/non-existent-2.stderr +++ b/src/test/ui/rfc-2126-extern-absolute-paths/non-existent-2.stderr @@ -1,8 +1,8 @@ -error[E0433]: failed to resolve: could not find `xcrate` in crate root +error[E0433]: failed to resolve: could not find `xcrate` in the list of imported crates --> $DIR/non-existent-2.rs:4:15 | LL | let s = ::xcrate::S; - | ^^^^^^ could not find `xcrate` in crate root + | ^^^^^^ could not find `xcrate` in the list of imported crates error: aborting due to previous error |
