Respect the configured MSRV in implicit_saturating_sub's if x != 0 { x -= 1 } rewrite#17404
Conversation
… { x -= 1 }` rewrite
|
Thanks for the pull request. A reviewer will take a look after it receives 2 community reviews. In the meantime, we would highly appreciate if you could try to review any of PRs waiting on community reviews. Please see the contribution instructions for more information. Namely, in order to ensure the minimum review times lag, PR authors and assigned reviewers should ensure that the review label (
|
|
r? @Jarcho rustbot has assigned @Jarcho for the project review. Use Why was this reviewer chosen?The reviewer was selected based on:
|
|
Thank you, everyone! 🙏 |
Fixes #17403
implicit_saturating_subrewritesif x != 0 { x -= 1 }intox = x.saturating_sub(1).saturating_subis only usable in aconst fnsince Rust 1.47, so in aconst fnwith a lower configured MSRV the rewrite does not compile.#16309 already added this MSRV check to the
if a >= b { 0 } else { b - a }path, but the condition path (if x != 0 { x -= 1 }) was left unguarded. This threads the MSRV into that path and applies the same check, so the lint stays quiet when the suggestedsaturating_subwould be too new for the const context.The lint reads the MSRV but was missing from the list of MSRV affected lints in the configuration docs, so this registers it there as well.
changelog: [
implicit_saturating_sub]: respect the configured MSRV in const contexts for theif x != 0 { x -= 1 }rewrite