Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upLints should not break compilation of dependencies in cargo #1029
Comments
nikomatsakis
referenced this issue
Apr 2, 2015
Closed
Audit lint pass names and functionality for 1.0 #21761
This comment has been minimized.
This comment has been minimized.
|
|
This comment has been minimized.
This comment has been minimized.
Valloric
commented
Apr 2, 2015
|
|
This comment has been minimized.
This comment has been minimized.
|
triage: I-nominated recommend P-high/1.1 |
This comment has been minimized.
This comment has been minimized.
|
oops, wrong repo! |
This comment has been minimized.
This comment has been minimized.
|
|
This comment has been minimized.
This comment has been minimized.
Valloric
commented
Apr 11, 2015
|
A bit of extra perspective from the C++ world (which I inhabit): it's common to include library headers with the So cargo being smart about this without extra work from the user would be seen as a really nice (albeit small) improvement over the C++ experience. It would be great to have this sooner rather than later, because it would give a nice first impression for all the C++ devs that will descend upon Rust when it hits 1.0. I think this fits well with @brson's idea that work between beta and 1.0 should be mostly polish. |
This comment has been minimized.
This comment has been minimized.
Yep. That's precisely what we did in Cargo. Would be nice for Cargo to also be able to pass a flag to |
nikomatsakis commentedApr 2, 2015
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:
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".