diff options
| author | Esteban Küber <esteban@kuber.com.ar> | 2023-06-16 19:44:06 +0000 |
|---|---|---|
| committer | Esteban Küber <esteban@kuber.com.ar> | 2023-06-22 16:50:31 +0000 |
| commit | 7dffd24da5292cc01f18c4ab53f0b96f682fcbe3 (patch) | |
| tree | ea1661ccd5cbc1b72aa6842bed7c2d292a1fd169 /compiler/rustc_parse/src | |
| parent | 717c4817391f61953eed678607168cfea81e3111 (diff) | |
| download | rust-7dffd24da5292cc01f18c4ab53f0b96f682fcbe3.tar.gz rust-7dffd24da5292cc01f18c4ab53f0b96f682fcbe3.zip | |
Tweak privacy errors to account for reachable items
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.
Diffstat (limited to 'compiler/rustc_parse/src')
0 files changed, 0 insertions, 0 deletions
