-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Closed
Description
It's very unfortunate if changing lints (e.g., adding a new lint, or making an existing lint stronger and better, or removing a lint that's not very useful) breaks compatibility guarantees. Moreover, lints are only really useful for the current crate you're working on, not for your dependencies. We need to adopt some scheme to avoid this. My rough proposal goes like this:
- All stable code can use any lint that it wants to.
- We should add an option to rustc that caps all lints at warn.
- Cargo should supply this option when building dependencies or installing software
The idea here is that if I am using somebody's package, I don't want to have compilation fail because we added a new lint in the meantime. But if I am editing my own source code, I absolutely do want compilation to fail. I feel like this bridges the gap and avoids the problem of -Wall not being able to refer to "all".
Metadata
Metadata
Assignees
Labels
No labels