rust/compiler/rustc_resolve/src
Esteban Küber 7dffd24da5 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.
2023-06-22 16:50:31 +00:00
..
diagnostics Implement the unused_macro_rules lint 2022-05-05 19:13:00 +02:00
late Tweak privacy errors to account for reachable items 2023-06-22 16:50:31 +00:00
build_reduced_graph.rs Use Option::is_some_and and Result::is_ok_and in the compiler 2023-05-24 14:20:41 +00:00
check_unused.rs Use is_some_and/is_ok_and in less obvious spots 2023-05-24 14:33:43 +00:00
def_collector.rs Remove the NodeId of ast::ExprKind::Async 2023-03-19 19:01:31 +01:00
diagnostics.rs Tweak privacy errors to account for reachable items 2023-06-22 16:50:31 +00:00
effective_visibilities.rs increase the accuracy of effective visibilities calculation 2023-06-08 19:22:30 +03:00
errors.rs Remove unreachable and untested suggestion for invalid span enum derive(Default) 2023-06-19 16:22:21 +01:00
ident.rs Tweak privacy errors to account for reachable items 2023-06-22 16:50:31 +00:00
imports.rs Tweak privacy errors to account for reachable items 2023-06-22 16:50:31 +00:00
late.rs Reformatting 2023-06-19 16:21:33 +01:00
lib.rs Tweak privacy errors to account for reachable items 2023-06-22 16:50:31 +00:00
macros.rs Add translatable diagnostic for cannot find in this scope 2023-06-18 12:28:17 +01:00
rustdoc.rs rustdoc: fix ICE from rustc_resolve and librustdoc parse divergence 2023-04-18 12:22:13 -07:00