effective visibilities: Split reachable into "reachable through interfaces" and "reachable through bounds" #120149
Labels
A-lint
Area: Lints (warnings about flaws in source code) such as unused_mut.
A-visibility
Area: Visibility / privacy
L-private_bounds
Lint: private_bounds
L-private_interfaces
Lint: private_interfaces
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
We currently have two lints as a part of #48054 -
private_interfaces
andprivate_bounds
, the former being the stronger one.The detailed distinction is documented in the RFC, but the general idea is that with
private_interfaces
we can get our hands on a value of the private typeA
(which will result in a hard error), and withprivate_bounds
we cannot.In the effective visibility table it is likely reasonable to make exactly the same distinction - items reachable through interfaces (higher level of reachability), and items that are only reachable through bounds (less reachable).
In particular, the
unnameable_types
lint will only want to report types reachable through private interfaces, to reduce false positives.This is a follow up to #48054.
The text was updated successfully, but these errors were encountered: