-
Notifications
You must be signed in to change notification settings - Fork 12.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reduce pub
exposure in rustc_mir_build
#125959
Conversation
Exhaustiveness and usefulness checking are now in `rustc_pattern_analysis`.
A lot of errors don't need to be visible outside the crate, and some other things as well.
Some changes occurred in match lowering cc @Nadrieril |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Many errors.rs
/lints.rs
files have this kind of structure: public diagnostic struct with public fields.
Do you think it would make sense to deny the unreachable_pub
lint in those files?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the first I've heard of this lint! If it's reliable, I think we should use it just about everywhere :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As far as I know it is reliable and the only reason it isn't warn-by-default yet is because of pub-fields in non-pub-adt, cf. #120144 (comment).
Would like to see another PR changing (almost?) all diagnostic structs to be This is good for now @bors r+ rollup |
…mpiler-errors Rollup of 8 pull requests Successful merges: - rust-lang#125667 (Silence follow-up errors directly based on error types and regions) - rust-lang#125717 (Refactor `#[diagnostic::do_not_recommend]` support) - rust-lang#125795 (Improve renaming suggestion for names with leading underscores) - rust-lang#125865 (Fix ICE caused by ignoring EffectVars in type inference) - rust-lang#125953 (Streamline `nested` calls.) - rust-lang#125959 (Reduce `pub` exposure in `rustc_mir_build`) - rust-lang#125967 (Split smir `Const` into `TyConst` and `MirConst`) - rust-lang#125968 (Store the types of `ty::Expr` arguments in the `ty::Expr`) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#125959 - nnethercote:rustc_mir_build-cleanups, r=compiler-errors Reduce `pub` exposure in `rustc_mir_build` r? compiler
I have started adding |
@nnethercote on the one hand, I'm glad you're doing that for the sake of the codebase, on the other I have a project that uses the rustc rlibs to build its own rustc_driver and there might be "unused pub items" that I might be using. At least two other tools might be silently affected by that too: miri and klint. That doesn't mean we shouldn't enable that lint, just that you should be aware that people might mildly grumble after the clean up. |
@estebank: I am familiar with that general problem, and there are now comments on several seemingly unused things in But |
r? compiler