rust/tests/ui/resolve
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
..
auxiliary test(resolve): update_resolution for remove single import 2023-06-20 22:54:12 +08:00
associated-fn-called-as-fn.rs
associated-fn-called-as-fn.stderr
bad-env-capture2.rs
bad-env-capture2.stderr
bad-env-capture3.rs
bad-env-capture3.stderr
bad-env-capture.rs
bad-env-capture.stderr
bad-expr-path2.rs
bad-expr-path2.stderr
bad-expr-path.rs
bad-expr-path.stderr
bad-module.rs
bad-module.stderr
bad-type-env-capture.rs
bad-type-env-capture.stderr
blind-item-local-shadow.rs
blind-item-mixed-crate-use-item.rs
blind-item-mixed-use-item.rs
block-with-trait-parent.rs
crate-called-as-function.rs
crate-called-as-function.stderr
crate-in-paths.rs
crate-in-paths.stderr
disambiguate-identical-names.rs
disambiguate-identical-names.stderr
editions-crate-root-2015.rs
editions-crate-root-2015.stderr
editions-crate-root-2018.rs
editions-crate-root-2018.stderr
enums-are-namespaced-xc.rs
enums-are-namespaced-xc.stderr
enums-pats-not-idents.rs
enums-pats-not-idents.stderr
explicit-self-lowercase-param.rs Improve error for self: Box<self> 2023-05-11 13:21:10 +01:00
explicit-self-lowercase-param.stderr Improve error for self: Box<self> 2023-05-11 13:21:10 +01:00
export-fully-qualified.rs
export-fully-qualified.stderr
extern-prelude-fail.rs
extern-prelude-fail.stderr
extern-prelude.rs Adjust UI tests for unit_bindings 2023-06-12 20:24:48 +08:00
filter-intrinsics.rs
filter-intrinsics.stderr
hidden_glob_reexports.rs Adjust span labels for HIDDEN_GLOB_REEXPORTS 2023-06-10 17:11:38 +08:00
hidden_glob_reexports.stderr Adjust span labels for HIDDEN_GLOB_REEXPORTS 2023-06-10 17:11:38 +08:00
impl-items-vis-unresolved.rs
impl-items-vis-unresolved.stderr
issue-2330.rs
issue-2330.stderr
issue-2356.rs
issue-2356.stderr
issue-3021-c.rs
issue-3021-c.stderr
issue-3021.rs
issue-3021.stderr
issue-3099-a.rs
issue-3099-a.stderr
issue-3099-b.rs
issue-3099-b.stderr
issue-3907-2.rs
issue-3907-2.stderr
issue-3907.rs
issue-3907.stderr
issue-5035-2.rs
issue-5035-2.stderr
issue-5035.rs
issue-5035.stderr
issue-5099.rs
issue-5099.stderr
issue-5927.rs
issue-5927.stderr
issue-6702.rs
issue-6702.stderr
issue-10200.rs
issue-10200.stderr
issue-12796.rs
issue-12796.stderr
issue-14254.rs
issue-14254.stderr
issue-16058.rs
issue-16058.stderr
issue-17518.rs
issue-17518.stderr
issue-18252.rs
issue-18252.stderr
issue-19452.rs
issue-19452.stderr
issue-21221-1.rs
issue-21221-1.stderr
issue-21221-2.rs
issue-21221-2.stderr
issue-21221-3.rs
issue-21221-3.stderr
issue-21221-4.rs
issue-21221-4.stderr
issue-22692.rs
issue-22692.stderr
issue-23305.rs
issue-23305.stderr
issue-23716.rs
issue-23716.stderr
issue-24968.rs
issue-24968.stderr
issue-26545.rs
issue-26545.stderr
issue-30535.rs
issue-30535.stderr
issue-31845.rs
issue-31845.stderr
issue-33876.rs
issue-33876.stderr
issue-35675.rs
issue-35675.stderr
issue-39226.rs
issue-39226.stderr
issue-39559-2.rs
issue-39559-2.stderr
issue-39559.rs
issue-39559.stderr
issue-42944.rs
issue-42944.stderr
issue-49074.rs
issue-49074.stderr
issue-50599.rs Suppress "erroneous constant used" for constants tainted by errors 2023-05-15 00:00:00 +00:00
issue-50599.stderr Suppress "erroneous constant used" for constants tainted by errors 2023-05-15 00:00:00 +00:00
issue-54379.rs
issue-54379.stderr
issue-55673.rs
issue-55673.stderr
issue-57523.rs
issue-60057.rs
issue-60057.stderr
issue-65025-extern-static-parent-generics.rs
issue-65025-extern-static-parent-generics.stderr
issue-65035-static-with-parent-generics.rs
issue-65035-static-with-parent-generics.stderr
issue-69401-trait-fn-no-body-ty-local.rs
issue-69401-trait-fn-no-body-ty-local.stderr
issue-70736-async-fn-no-body-def-collector.rs
issue-70736-async-fn-no-body-def-collector.stderr
issue-73427.rs
issue-73427.stderr
issue-80079.rs
issue-80079.stderr
issue-81508.rs
issue-81508.stderr
issue-82156.rs
issue-82156.stderr
issue-82865.rs
issue-82865.stderr
issue-85348.rs
issue-85348.stderr
issue-85671.rs
issue-88472.rs
issue-88472.stderr
issue-90113.rs
issue-90113.stderr
issue-100365.rs
issue-100365.stderr
issue-101749-2.rs
issue-101749-2.stderr
issue-101749.fixed
issue-101749.rs
issue-101749.stderr
issue-102946.rs
issue-102946.stderr
issue-103202.rs
issue-103202.stderr
issue-103474.rs
issue-103474.stderr
issue-104700-inner_scope.rs
issue-104700-inner_scope.stderr
issue-105069.rs
issue-105069.stderr fix(resolve): update shadowed_glob more precision 2023-06-14 01:38:35 +08:00
issue-107563-ambiguous-glob-reexports.rs
issue-107563-ambiguous-glob-reexports.stderr
issue-108529.rs
issue-108529.stderr
issue-109153.rs fix(resolve): update shadowed_glob more precision 2023-06-14 01:38:35 +08:00
issue-109153.stderr fix(resolve): update shadowed_glob more precision 2023-06-14 01:38:35 +08:00
issue-109250.rs
issue-109250.stderr
issue-111312.rs Emits E0599 when meeting MyTrait::missing_method 2023-05-17 16:59:39 +08:00
issue-111312.stderr Emits E0599 when meeting MyTrait::missing_method 2023-05-17 16:59:39 +08:00
issue-111727.rs Keep only the trait when emitting the error for MyTrait + 'a 2023-05-19 22:11:54 +08:00
issue-111727.stderr Keep only the trait when emitting the error for MyTrait + 'a 2023-05-19 22:11:54 +08:00
issue-112472-multi-generics-suggestion.fixed Fix suggestion for E0404 not dealing with multiple generics 2023-06-15 18:19:09 +08:00
issue-112472-multi-generics-suggestion.rs Fix suggestion for E0404 not dealing with multiple generics 2023-06-15 18:19:09 +08:00
issue-112472-multi-generics-suggestion.stderr Fix suggestion for E0404 not dealing with multiple generics 2023-06-15 18:19:09 +08:00
issue-112831.rs test(resolve): update_resolution for remove single import 2023-06-20 22:54:12 +08:00
levenshtein.rs
levenshtein.stderr
macro-determinacy-non-module.rs
missing-in-namespace.rs
missing-in-namespace.stderr
name-clash-nullary.rs
name-clash-nullary.stderr
name-collision-in-trait-fn-sig.rs
no-implicit-prelude-nested.rs
no-implicit-prelude-nested.stderr
no-implicit-prelude.rs
no-implicit-prelude.stderr
no-std-1.rs
no-std-2.rs
no-std-3.rs
pathless-extern-ok.rs
point-at-type-parameter-shadowing-another-type.rs
point-at-type-parameter-shadowing-another-type.stderr
privacy-enum-ctor.rs
privacy-enum-ctor.stderr Tweak privacy errors to account for reachable items 2023-06-22 16:50:31 +00:00
privacy-struct-ctor.rs
privacy-struct-ctor.stderr
raw-ident-in-path.rs
raw-ident-in-path.stderr
resolve-assoc-suggestions.rs
resolve-assoc-suggestions.stderr
resolve-bad-import-prefix.rs
resolve-bad-import-prefix.stderr
resolve-bad-visibility.rs
resolve-bad-visibility.stderr
resolve-conflict-extern-crate-vs-extern-crate.rs
resolve-conflict-extern-crate-vs-extern-crate.stderr
resolve-conflict-import-vs-extern-crate.rs
resolve-conflict-import-vs-extern-crate.stderr
resolve-conflict-import-vs-import.fixed
resolve-conflict-import-vs-import.rs
resolve-conflict-import-vs-import.stderr
resolve-conflict-item-vs-extern-crate.rs
resolve-conflict-item-vs-extern-crate.stderr
resolve-conflict-item-vs-import.rs
resolve-conflict-item-vs-import.stderr
resolve-conflict-type-vs-import.rs
resolve-conflict-type-vs-import.stderr
resolve-hint-macro.fixed
resolve-hint-macro.rs
resolve-hint-macro.stderr
resolve-inconsistent-binding-mode.rs
resolve-inconsistent-binding-mode.stderr
resolve-inconsistent-names.rs
resolve-inconsistent-names.stderr
resolve-issue-2428.rs
resolve-label.rs
resolve-label.stderr
resolve-primitive-fallback.rs
resolve-primitive-fallback.stderr
resolve-pseudo-shadowing.rs Adjust UI tests for unit_bindings 2023-06-12 20:24:48 +08:00
resolve-self-in-impl-2.rs
resolve-self-in-impl-2.stderr
resolve-self-in-impl.rs
resolve-self-in-impl.stderr
resolve-speculative-adjustment.rs
resolve-speculative-adjustment.stderr
resolve-type-param-in-item-in-trait.rs
resolve-type-param-in-item-in-trait.stderr
resolve-unknown-trait.rs
resolve-unknown-trait.stderr
resolve-variant-assoc-item.rs
resolve-variant-assoc-item.stderr
shadow-const-param.rs
shadow-const-param.stderr
suggest-path-for-tuple-struct.rs
suggest-path-for-tuple-struct.stderr
suggest-path-instead-of-mod-dot-item.rs
suggest-path-instead-of-mod-dot-item.stderr
token-error-correct-2.rs
token-error-correct-2.stderr
token-error-correct-3.rs
token-error-correct-3.stderr
token-error-correct-4.rs
token-error-correct-4.stderr
token-error-correct.rs
token-error-correct.stderr
tool-import.rs
tool-import.stderr
tuple-struct-alias.rs
tuple-struct-alias.stderr
typo-suggestion-for-variable-with-name-similar-to-struct-field.rs
typo-suggestion-for-variable-with-name-similar-to-struct-field.stderr
typo-suggestion-mistyped-in-path.rs
typo-suggestion-mistyped-in-path.stderr
typo-suggestion-named-underscore.rs
typo-suggestion-named-underscore.stderr
unboxed-closure-sugar-nonexistent-trait.rs
unboxed-closure-sugar-nonexistent-trait.stderr
unresolved_static_type_field.rs
unresolved_static_type_field.stderr
use_suggestion_placement.fixed
use_suggestion_placement.rs
use_suggestion_placement.stderr
use_suggestion.rs
use_suggestion.stderr
use-self-in-inner-fn.rs
use-self-in-inner-fn.stderr
visibility-indeterminate.rs
visibility-indeterminate.stderr