Fix cast_sign_loss false positive for float to uint casts #15382
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #15286
The
cast_sign_loss
lint was incorrectly triggering on float to unsigned integer casts. Since floats don't have the same sign semantics as signed integers, these casts cannot actually lose sign information.Changes:
should_lint
function incast_sign_loss.rs
to exclude float→uint castsTesting:
cargo test
andcargo check
cargo dev fmt
changelog: [
cast_sign_loss
]: Fix false positive for float to unsigned integer casts