07e7823c01
If a symbol name can only be imported from one place for a type, and as long as it was not glob-imported anywhere in the current crate, we can trim its printed path and print only the name. This has wide implications on error messages with types, for example, shortening `std::vec::Vec` to just `Vec`, as long as there is no other `Vec` importable anywhere. This adds a new '-Z trim-diagnostic-paths=false' option to control this feature. On the good path, with no diagnosis printed, we should try to avoid issuing this query, so we need to prevent trimmed_def_paths query on several cases. This change also relies on a previous commit that differentiates between `Debug` and `Display` on various rustc types, where the latter is trimmed and presented to the user and the former is not.
333 lines
12 KiB
Plaintext
333 lines
12 KiB
Plaintext
error: type `for<'r> fn(&'r priv_trait::Pub) {<priv_trait::Pub as PrivTr>::method}` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:17:21
|
|
|
|
|
LL | let value = <Pub as PrivTr>::method;
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^ private type
|
|
...
|
|
LL | priv_trait::mac!();
|
|
| ------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: type `for<'r> fn(&'r priv_trait::Pub) {<priv_trait::Pub as PrivTr>::method}` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:19:9
|
|
|
|
|
LL | value;
|
|
| ^^^^^ private type
|
|
...
|
|
LL | priv_trait::mac!();
|
|
| ------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: type `for<'r> fn(&'r Self) {<Self as PrivTr>::method}` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:21:13
|
|
|
|
|
LL | Pub.method();
|
|
| ^^^^^^ private type
|
|
...
|
|
LL | priv_trait::mac!();
|
|
| ------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: associated constant `<Pub as PrivTr>::CONST` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:23:9
|
|
|
|
|
LL | <Pub as PrivTr>::CONST;
|
|
| ^^^^^^^^^^^^^^^^^^^^^^ private associated constant
|
|
...
|
|
LL | priv_trait::mac!();
|
|
| ------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: associated type `<Pub as PrivTr>::AssocTy` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:25:16
|
|
|
|
|
LL | let _: <Pub as PrivTr>::AssocTy;
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^ private associated type
|
|
...
|
|
LL | priv_trait::mac!();
|
|
| ------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: trait `PrivTr` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:27:34
|
|
|
|
|
LL | pub type InSignatureTy = <Pub as PrivTr>::AssocTy;
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^ private trait
|
|
...
|
|
LL | priv_trait::mac!();
|
|
| ------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: trait `PrivTr` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:29:34
|
|
|
|
|
LL | pub trait InSignatureTr: PrivTr {}
|
|
| ^^^^^^ private trait
|
|
...
|
|
LL | priv_trait::mac!();
|
|
| ------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: trait `PrivTr` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:31:14
|
|
|
|
|
LL | impl PrivTr for u8 {}
|
|
| ^^^^^^ private trait
|
|
...
|
|
LL | priv_trait::mac!();
|
|
| ------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: type `priv_signature::Priv` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:48:21
|
|
|
|
|
LL | let value = <Pub as PubTr>::method;
|
|
| ^^^^^^^^^^^^^^^^^^^^^^ private type
|
|
...
|
|
LL | priv_signature::mac!();
|
|
| ----------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: type `priv_signature::Priv` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:50:9
|
|
|
|
|
LL | value;
|
|
| ^^^^^ private type
|
|
...
|
|
LL | priv_signature::mac!();
|
|
| ----------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: type `priv_signature::Priv` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:52:13
|
|
|
|
|
LL | Pub.method(loop {});
|
|
| ^^^^^^ private type
|
|
...
|
|
LL | priv_signature::mac!();
|
|
| ----------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: type `priv_substs::Priv` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:69:21
|
|
|
|
|
LL | let value = <Pub as PubTr>::method::<Priv>;
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ private type
|
|
...
|
|
LL | priv_substs::mac!();
|
|
| -------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: type `priv_substs::Priv` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:71:9
|
|
|
|
|
LL | value;
|
|
| ^^^^^ private type
|
|
...
|
|
LL | priv_substs::mac!();
|
|
| -------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: type `priv_substs::Priv` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:73:9
|
|
|
|
|
LL | Pub.method::<Priv>();
|
|
| ^^^^^^^^^^^^^^^^^^^^ private type
|
|
...
|
|
LL | priv_substs::mac!();
|
|
| -------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: type `priv_parent_substs::Priv` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:93:21
|
|
|
|
|
LL | let value = <Pub as PubTr>::method;
|
|
| ^^^^^^^^^^^^^^^^^^^^^^ private type
|
|
...
|
|
LL | priv_parent_substs::mac!();
|
|
| --------------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: type `priv_parent_substs::Priv` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:95:9
|
|
|
|
|
LL | value;
|
|
| ^^^^^ private type
|
|
...
|
|
LL | priv_parent_substs::mac!();
|
|
| --------------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: type `priv_parent_substs::Priv` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:97:21
|
|
|
|
|
LL | let value = <Pub as PubTr<_>>::method;
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^ private type
|
|
...
|
|
LL | priv_parent_substs::mac!();
|
|
| --------------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: type `priv_parent_substs::Priv` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:99:9
|
|
|
|
|
LL | value;
|
|
| ^^^^^ private type
|
|
...
|
|
LL | priv_parent_substs::mac!();
|
|
| --------------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: type `priv_parent_substs::Priv` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:101:9
|
|
|
|
|
LL | Pub.method();
|
|
| ^^^^^^^^^^^^ private type
|
|
...
|
|
LL | priv_parent_substs::mac!();
|
|
| --------------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: type `priv_parent_substs::Priv` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:104:21
|
|
|
|
|
LL | let value = <Priv as PubTr<_>>::method;
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ private type
|
|
...
|
|
LL | priv_parent_substs::mac!();
|
|
| --------------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: type `priv_parent_substs::Priv` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:106:9
|
|
|
|
|
LL | value;
|
|
| ^^^^^ private type
|
|
...
|
|
LL | priv_parent_substs::mac!();
|
|
| --------------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: type `priv_parent_substs::Priv` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:108:9
|
|
|
|
|
LL | Priv.method();
|
|
| ^^^^^^^^^^^^^ private type
|
|
...
|
|
LL | priv_parent_substs::mac!();
|
|
| --------------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: type `priv_parent_substs::Priv` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:111:9
|
|
|
|
|
LL | <Pub as PubTr>::CONST;
|
|
| ^^^^^^^^^^^^^^^^^^^^^ private type
|
|
...
|
|
LL | priv_parent_substs::mac!();
|
|
| --------------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: type `priv_parent_substs::Priv` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:113:9
|
|
|
|
|
LL | <Pub as PubTr<_>>::CONST;
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^ private type
|
|
...
|
|
LL | priv_parent_substs::mac!();
|
|
| --------------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: type `priv_parent_substs::Priv` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:115:9
|
|
|
|
|
LL | <Priv as PubTr<_>>::CONST;
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^ private type
|
|
...
|
|
LL | priv_parent_substs::mac!();
|
|
| --------------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: type `priv_parent_substs::Priv` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:119:30
|
|
|
|
|
LL | let _: <Pub as PubTr<_>>::AssocTy;
|
|
| ^ private type
|
|
...
|
|
LL | priv_parent_substs::mac!();
|
|
| --------------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: type `priv_parent_substs::Priv` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:121:17
|
|
|
|
|
LL | let _: <Priv as PubTr<_>>::AssocTy;
|
|
| ^^^^ private type
|
|
...
|
|
LL | priv_parent_substs::mac!();
|
|
| --------------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: type `priv_parent_substs::Priv` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:124:35
|
|
|
|
|
LL | pub type InSignatureTy1 = <Pub as PubTr>::AssocTy;
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^ private type
|
|
...
|
|
LL | priv_parent_substs::mac!();
|
|
| --------------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: type `priv_parent_substs::Priv` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:126:35
|
|
|
|
|
LL | pub type InSignatureTy2 = <Priv as PubTr<Pub>>::AssocTy;
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ private type
|
|
...
|
|
LL | priv_parent_substs::mac!();
|
|
| --------------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: type `priv_parent_substs::Priv` is private
|
|
--> $DIR/associated-item-privacy-trait.rs:128:14
|
|
|
|
|
LL | impl PubTr for u8 {}
|
|
| ^^^^^ private type
|
|
...
|
|
LL | priv_parent_substs::mac!();
|
|
| --------------------------- in this macro invocation
|
|
|
|
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: aborting due to 30 previous errors
|
|
|