lint against repeated repr attributes - #157036
Conversation
This comment has been minimized.
This comment has been minimized.
|
Wearing my lang hat but not speaking as team consensus (since we've not talked about it): I think you should start with the "obviously good" version, and we can do future PRs later to expand it or to update severity. Concretely, thus, I'd say it should be a warning (because if it's inert it doesn't need to be deny) when you have a clearly-unnecessary one that wasn't emitted from a macro, or something like that. (Our bar in the compiler for deny-by-default is pretty high. My personal heuristic is whether it's worth running your unit tests despite the warning, and an inert extra attribute doesn't need to block that.) We can then look at impacts and ratchet it up over time or over an edition, but those decisions can be made later and don't need to block you making a useful lint in the meantime. I'm a bad reviewer for lint stuff code-wise, though, so let's try |
|
+1 to what @scottmcm said on how best to approach this. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Some changes occurred in compiler/rustc_passes/src/check_attr.rs |
This comment has been minimized.
This comment has been minimized.
ae3cdee to
314903c
Compare
|
r? jdonszelmann |
This comment has been minimized.
This comment has been minimized.
75cb11a to
fd1a979
Compare
This comment has been minimized.
This comment has been minimized.
|
Like this it looks good! @bors r+ rollup |
|
📋 This PR cannot be approved because it currently has the following label: |
|
welp, fair enough @rust-lang/lang feel free to do an FCP on this one, r=me after that |
This comment has been minimized.
This comment has been minimized.
ae3abc4 to
80cde70
Compare
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
80cde70 to
d1a8d0d
Compare
had to update several tests which used repeated aligns and packeds. they now produce both a warning and an error where appropriate (e.g. when using conflicting packeds) which i think is correct.
because that's been nagging me for weeks now.
d1a8d0d to
224a101
Compare
|
@jdonszelmann you've still got requested changes here (just in the UI, i did do the thing you wanted me to). it also doesn't look like this ping worked, so i guess i'll try it myself? though i don't think it'll go through. @rust-lang/lang |
|
(Nominating to look at in triage tomorrow; sorry for the delay) This adds a new #[repr(transparent)]
#[repr(transparent)]Hopefully this is an easy accept because we'd talked about doing this in a previous meeting 🙂 |
View all comments
fixes #156029 by adding a lint against repeated repr attributes.
r? scottmcm