Uplift clippy::invalid_utf8_in_unchecked lint#111543
Merged
bors merged 4 commits intorust-lang:masterfrom May 30, 2023
Merged
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR aims at uplifting the
clippy::invalid_utf8_in_uncheckedlint into two lints.invalid_from_utf8_unchecked(deny-by-default)
The
invalid_from_utf8_uncheckedlint checks for calls tostd::str::from_utf8_uncheckedandstd::str::from_utf8_unchecked_mutwith an invalid UTF-8 literal.Example
Explanation
Creating such a
strwould result in undefined behavior as per documentation forstd::str::from_utf8_uncheckedandstd::str::from_utf8_unchecked_mut.invalid_from_utf8(warn-by-default)
The
invalid_from_utf8lint checks for calls tostd::str::from_utf8andstd::str::from_utf8_mutwith an invalid UTF-8 literal.Example
Explanation
Trying to create such a
strwould always return an error as per documentation forstd::str::from_utf8andstd::str::from_utf8_mut.Mostly followed the instructions for uplifting a clippy lint described here: #99696 (review)
@rustbot label: +I-lang-nominated
r? compiler
For Clippy:
changelog: Moves: Uplifted
clippy::invalid_utf8_in_uncheckedinto rustc