mirror of
https://github.com/rust-lang/rust.git
synced 2024-12-02 03:33:59 +00:00
7dffd24da5
Suggest publicly accessible paths for items in private mod: When encountering a path in non-import situations that are not reachable due to privacy constraints, search for any public re-exports that the user could use instead. Track whether an import suggestion is offering a re-export. When encountering a path with private segments, mention if the item at the final path segment is not publicly accessible at all. Add item visibility metadata to privacy errors from imports: On unreachable imports, record the item that was being imported in order to suggest publicly available re-exports or to be explicit that the item is not available publicly from any path. In order to allow this, we add a mode to `resolve_path` that will not add new privacy errors, nor return early if it encounters one. This way we can get the `Res` corresponding to the final item in the import, which is used in the privacy error machinery.
33 lines
712 B
Plaintext
33 lines
712 B
Plaintext
error: cannot find macro `bla` in this scope
|
|
--> $DIR/issue-88228.rs:20:5
|
|
|
|
|
LL | bla!();
|
|
| ^^^
|
|
|
|
|
help: consider importing this macro through its public re-export
|
|
|
|
|
LL + use crate::hey::bla;
|
|
|
|
|
|
|
error: cannot find derive macro `println` in this scope
|
|
--> $DIR/issue-88228.rs:14:10
|
|
|
|
|
LL | #[derive(println)]
|
|
| ^^^^^^^
|
|
|
|
|
= note: `println` is in scope, but it is a function-like macro
|
|
|
|
error: cannot find derive macro `Bla` in this scope
|
|
--> $DIR/issue-88228.rs:10:10
|
|
|
|
|
LL | #[derive(Bla)]
|
|
| ^^^
|
|
|
|
|
help: consider importing this derive macro through its public re-export
|
|
|
|
|
LL + use crate::hey::Bla;
|
|
|
|
|
|
|
error: aborting due to 3 previous errors
|
|
|