Print out the proper crate path

This commit is contained in:
mejrs 2022-09-18 02:59:32 +02:00
parent 3699c2497b
commit 14e9893023
4 changed files with 6 additions and 10 deletions

View File

@ -1779,11 +1779,8 @@ impl<'a, 'tcx> InferCtxt<'a, 'tcx> {
.tcx .tcx
.parent_module_from_def_id(defid.expect_local()) .parent_module_from_def_id(defid.expect_local())
.to_def_id(); .to_def_id();
let module_name = let module_name = self.tcx.def_path(module).to_string_no_crate_verbose();
self.tcx.def_path(module).to_string_no_crate_verbose(); format!("{name} is defined in module `crate{module_name}` of the current crate")
format!(
"{name} is defined in module {module_name} of the current crate"
)
} else if defid.is_local() { } else if defid.is_local() {
format!("{name} is defined in the current crate") format!("{name} is defined in the current crate")
} else { } else {

View File

@ -20,7 +20,6 @@
#![cfg_attr(bootstrap, feature(label_break_value))] #![cfg_attr(bootstrap, feature(label_break_value))]
#![feature(let_chains)] #![feature(let_chains)]
#![cfg_attr(bootstrap, feature(let_else))] #![cfg_attr(bootstrap, feature(let_else))]
#![feature(let_else)]
#![feature(if_let_guard)] #![feature(if_let_guard)]
#![feature(min_specialization)] #![feature(min_specialization)]
#![feature(never_type)] #![feature(never_type)]

View File

@ -7,12 +7,12 @@ LL | return x;
| ^ expected enum `y::Foo`, found enum `x::Foo` | ^ expected enum `y::Foo`, found enum `x::Foo`
| |
= note: enum `x::Foo` and enum `y::Foo` have similar names, but are actually distinct types = note: enum `x::Foo` and enum `y::Foo` have similar names, but are actually distinct types
note: enum `x::Foo` is defined in module ::x of the current crate note: enum `x::Foo` is defined in module `crate::x` of the current crate
--> $DIR/fully-qualified-type-name2.rs:4:5 --> $DIR/fully-qualified-type-name2.rs:4:5
| |
LL | pub enum Foo { } LL | pub enum Foo { }
| ^^^^^^^^^^^^ | ^^^^^^^^^^^^
note: enum `y::Foo` is defined in module ::y of the current crate note: enum `y::Foo` is defined in module `crate::y` of the current crate
--> $DIR/fully-qualified-type-name2.rs:8:5 --> $DIR/fully-qualified-type-name2.rs:8:5
| |
LL | pub enum Foo { } LL | pub enum Foo { }

View File

@ -7,12 +7,12 @@ LL | meh::Foo
| ^^^^^^^^ expected struct `baz::Foo`, found struct `meh::Foo` | ^^^^^^^^ expected struct `baz::Foo`, found struct `meh::Foo`
| |
= note: struct `meh::Foo` and struct `baz::Foo` have similar names, but are actually distinct types = note: struct `meh::Foo` and struct `baz::Foo` have similar names, but are actually distinct types
note: struct `meh::Foo` is defined in module ::meh of the current crate note: struct `meh::Foo` is defined in module `crate::meh` of the current crate
--> $DIR/show_module.rs:8:5 --> $DIR/show_module.rs:8:5
| |
LL | pub struct Foo; LL | pub struct Foo;
| ^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^
note: struct `baz::Foo` is defined in module ::blah::baz of the current crate note: struct `baz::Foo` is defined in module `crate::blah::baz` of the current crate
--> $DIR/show_module.rs:3:9 --> $DIR/show_module.rs:3:9
| |
LL | pub struct Foo; LL | pub struct Foo;