rust/tests/ui/privacy
David Wood e051a32311
privacy: no nominal visibility for assoc fns
When `staged_api` is enabled, effective visibilities are computed earlier
and this can trigger an ICE in some cases.

In particular, if a impl of a trait method has a visibility then an error
will be reported for that, but when privacy invariants are being checked,
the effective visibility will still be greater than the nominal visbility
and that will trigger a `span_bug!`.

However, this invariant - that effective visibilites are limited to
nominal visibility - doesn't make sense for associated functions.

Signed-off-by: David Wood <david@davidtw.co>
2023-07-28 14:28:02 +01:00
..
auxiliary Move some UI tests into subdirectories 2023-04-02 19:42:30 -04:00
pub-priv-dep
restricted diagnostics: update test cases to refer to assoc fn with self as method 2023-02-22 08:40:47 -07:00
sealed-traits Tweak privacy errors to account for reachable items 2023-06-22 16:50:31 +00:00
associated-item-privacy-inherent.rs
associated-item-privacy-inherent.stderr
associated-item-privacy-trait.rs
associated-item-privacy-trait.stderr
associated-item-privacy-type-binding.rs
associated-item-privacy-type-binding.stderr
crate-private-reexport.rs
crate-private-reexport.stderr
ctor.rs
decl-macro.rs
decl-macro.stderr
effective_visibilities_full_priv.rs privacy: Do not mark items reachable farther than their nominal visibility 2023-06-15 21:25:47 +03:00
effective_visibilities_full_priv.stderr privacy: Do not mark items reachable farther than their nominal visibility 2023-06-15 21:25:47 +03:00
effective_visibilities_glob.rs
effective_visibilities_glob.stderr
effective_visibilities_invariants.rs
effective_visibilities_invariants.stderr
effective_visibilities.rs resolve: Restore some effective visibility optimizations 2023-03-31 17:07:59 +04:00
effective_visibilities.stderr resolve: Restore some effective visibility optimizations 2023-03-31 17:07:59 +04:00
export-tag-variant.rs
export-tag-variant.stderr Tweak privacy errors to account for reachable items 2023-06-22 16:50:31 +00:00
impl-privacy-xc-2.rs
issue-13641.rs
issue-13641.stderr
issue-17718-const-privacy.rs
issue-17718-const-privacy.stderr
issue-29161.rs Update ui tests involving invalid visibility qualifiers 2023-04-03 22:28:55 -05:00
issue-29161.stderr Update ui tests involving invalid visibility qualifiers 2023-04-03 22:28:55 -05:00
issue-30079.rs
issue-30079.stderr
issue-46209-private-enum-variant-reexport.rs
issue-46209-private-enum-variant-reexport.stderr
issue-57264-1.rs
issue-57264-2.rs
issue-75062-fieldless-tuple-struct.rs
issue-75062-fieldless-tuple-struct.stderr
issue-75906.rs
issue-75906.stderr
issue-75907_b.rs
issue-75907_b.stderr
issue-75907.rs
issue-75907.stderr
issue-79593.rs
issue-79593.stderr
issue-92755.rs
issue-111220-2-tuple-struct-fields-projection.rs fix for Self not respecting tuple Ctor privacy 2023-05-26 06:23:03 +00:00
issue-111220-2-tuple-struct-fields-projection.stderr fix for Self not respecting tuple Ctor privacy 2023-05-26 06:23:03 +00:00
issue-111220-tuple-struct-fields.rs fix for Self not respecting tuple Ctor privacy 2023-05-26 06:23:03 +00:00
issue-111220-tuple-struct-fields.stderr fix for Self not respecting tuple Ctor privacy 2023-05-26 06:23:03 +00:00
issue-113860-1.rs privacy: no nominal visibility for assoc fns 2023-07-28 14:28:02 +01:00
issue-113860-1.stderr privacy: no nominal visibility for assoc fns 2023-07-28 14:28:02 +01:00
issue-113860-2.rs privacy: no nominal visibility for assoc fns 2023-07-28 14:28:02 +01:00
issue-113860-2.stderr privacy: no nominal visibility for assoc fns 2023-07-28 14:28:02 +01:00
issue-113860.rs privacy: no nominal visibility for assoc fns 2023-07-28 14:28:02 +01:00
issue-113860.stderr privacy: no nominal visibility for assoc fns 2023-07-28 14:28:02 +01:00
legacy-ctor-visibility.rs
legacy-ctor-visibility.stderr
macro-private-reexport.rs
macro-private-reexport.stderr
priv-impl-prim-ty.rs
priv-in-bad-locations.rs Update ui tests involving invalid visibility qualifiers 2023-04-03 22:28:55 -05:00
priv-in-bad-locations.stderr Update ui tests involving invalid visibility qualifiers 2023-04-03 22:28:55 -05:00
privacy1-rpass.rs
privacy1.rs diagnostics: update test cases to refer to assoc fn with self as method 2023-02-22 08:40:47 -07:00
privacy1.stderr Tweak privacy errors to account for reachable items 2023-06-22 16:50:31 +00:00
privacy2.rs typeck in parallel 2023-07-11 17:52:43 +08:00
privacy2.stderr typeck in parallel 2023-07-11 17:52:43 +08:00
privacy3.rs typeck in parallel 2023-07-11 17:52:43 +08:00
privacy3.stderr typeck in parallel 2023-07-11 17:52:43 +08:00
privacy4.rs
privacy4.stderr
privacy5.rs
privacy5.stderr review comments: Tweak output 2023-01-11 21:36:02 +00:00
privacy-in-paths.rs
privacy-in-paths.stderr Tweak privacy errors to account for reachable items 2023-06-22 16:50:31 +00:00
privacy-ns1.rs
privacy-ns1.stderr Special-case item attributes in the suggestion output 2023-04-12 22:50:10 +00:00
privacy-ns2.rs
privacy-ns2.stderr Special-case item attributes in the suggestion output 2023-04-12 22:50:10 +00:00
privacy-ns.rs
privacy-reexport.rs
privacy-sanity.rs Update ui tests involving invalid visibility qualifiers 2023-04-03 22:28:55 -05:00
privacy-sanity.stderr Update ui tests involving invalid visibility qualifiers 2023-04-03 22:28:55 -05:00
privacy-ufcs.rs
privacy-ufcs.stderr Tweak privacy errors to account for reachable items 2023-06-22 16:50:31 +00:00
private-class-field.rs
private-field-ty-err.rs
private-field-ty-err.stderr
private-impl-method.rs diagnostics: update test cases to refer to assoc fn with self as method 2023-02-22 08:40:47 -07:00
private-impl-method.stderr diagnostics: update test cases to refer to assoc fn with self as method 2023-02-22 08:40:47 -07:00
private-in-public-assoc-ty.rs Split out a separate feature gate for impl trait in associated types 2023-04-12 16:17:31 +00:00
private-in-public-assoc-ty.stderr
private-in-public-expr-pat.rs
private-in-public-ill-formed.rs
private-in-public-ill-formed.stderr Tighter spans for bad inherent impl types 2023-02-13 18:41:18 +00:00
private-in-public-lint.rs
private-in-public-lint.stderr
private-in-public-non-principal-2.rs
private-in-public-non-principal-2.stderr
private-in-public-non-principal.rs Fix type privacy lints error message 2023-06-29 16:24:07 +03:00
private-in-public-non-principal.stderr Fix type privacy lints error message 2023-06-29 16:24:07 +03:00
private-in-public-type-alias-impl-trait.rs Split out a separate feature gate for impl trait in associated types 2023-04-12 16:17:31 +00:00
private-in-public-warn.rs
private-in-public-warn.stderr
private-in-public.rs
private-in-public.stderr
private-inferred-type-1.rs Private-in-public lints implementation 2023-06-12 01:02:19 +03:00
private-inferred-type-1.stderr Private-in-public lints implementation 2023-06-12 01:02:19 +03:00
private-inferred-type-2.rs
private-inferred-type-2.stderr
private-inferred-type-3.rs
private-inferred-type-3.stderr
private-inferred-type.rs
private-inferred-type.stderr
private-item-simple.rs
private-item-simple.stderr
private-method-cross-crate.rs diagnostics: update test cases to refer to assoc fn with self as method 2023-02-22 08:40:47 -07:00
private-method-cross-crate.stderr diagnostics: update test cases to refer to assoc fn with self as method 2023-02-22 08:40:47 -07:00
private-method-inherited.rs diagnostics: update test cases to refer to assoc fn with self as method 2023-02-22 08:40:47 -07:00
private-method-inherited.stderr diagnostics: update test cases to refer to assoc fn with self as method 2023-02-22 08:40:47 -07:00
private-method-rpass.rs
private-method.rs diagnostics: update test cases to refer to assoc fn with self as method 2023-02-22 08:40:47 -07:00
private-method.stderr diagnostics: update test cases to refer to assoc fn with self as method 2023-02-22 08:40:47 -07:00
private-struct-field-cross-crate.rs
private-struct-field-cross-crate.stderr
private-struct-field-ctor.rs
private-struct-field-ctor.stderr
private-struct-field-pattern.rs
private-struct-field-pattern.stderr
private-struct-field.rs
private-struct-field.stderr
private-type-in-interface.rs
private-type-in-interface.stderr
private-variant-reexport.rs
private-variant-reexport.stderr
pub_use_mods_xcrate_exe.rs
pub-extern-privacy.rs
pub-use-xcrate.rs
reachable-unnameable-items.rs
suggest-making-field-public.fixed review comments: Tweak output 2023-01-11 21:36:02 +00:00
suggest-making-field-public.rs review comments: Tweak output 2023-01-11 21:36:02 +00:00
suggest-making-field-public.stderr review comments: Tweak output 2023-01-11 21:36:02 +00:00
union-field-privacy-1.rs
union-field-privacy-1.stderr
union-field-privacy-2.rs
union-field-privacy-2.stderr
unnameable_types.rs privacy: Feature gate new type privacy lints 2023-06-15 21:25:47 +03:00
unnameable_types.stderr Private-in-public lints implementation 2023-06-12 01:02:19 +03:00
useless-pub.rs Update ui tests involving invalid visibility qualifiers 2023-04-03 22:28:55 -05:00
useless-pub.stderr Update ui tests involving invalid visibility qualifiers 2023-04-03 22:28:55 -05:00
where-priv-type.rs Fix type privacy lints error message 2023-06-29 16:24:07 +03:00
where-priv-type.stderr Fix type privacy lints error message 2023-06-29 16:24:07 +03:00
where-pub-type-impls-priv-trait.rs Fix type privacy lints error message 2023-06-29 16:24:07 +03:00
where-pub-type-impls-priv-trait.stderr Fix type privacy lints error message 2023-06-29 16:24:07 +03:00
xc-private-method2.rs Move some UI tests into subdirectories 2023-04-02 19:42:30 -04:00
xc-private-method2.stderr Move some UI tests into subdirectories 2023-04-02 19:42:30 -04:00
xc-private-method.rs Move some UI tests into subdirectories 2023-04-02 19:42:30 -04:00
xc-private-method.stderr Move some UI tests into subdirectories 2023-04-02 19:42:30 -04:00