diff options
| author | bors <bors@rust-lang.org> | 2022-11-22 17:09:06 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2022-11-22 17:09:06 +0000 |
| commit | b33afd61edfb690ace17d0672b367e44758c1bef (patch) | |
| tree | 4b806322d7fb1463672319546e1aadc3e2a0b5cc /src/docs/string_lit_as_bytes.txt | |
| parent | 9e093072457d9cafe8a7259992d1a05d179e4757 (diff) | |
| parent | e95d40980b3044a6a9cad1b5e72eb57390790d18 (diff) | |
Auto merge of #104688 - flip1995:clippyup, r=Manishearth,flip1995
Update Clippy r? `@Manishearth` Sorry for taking so long. There were so many blockers and so little time. This situation should be mitigated with #104007 in the future.
Diffstat (limited to 'src/docs/string_lit_as_bytes.txt')
| -rw-r--r-- | src/docs/string_lit_as_bytes.txt | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/src/docs/string_lit_as_bytes.txt b/src/docs/string_lit_as_bytes.txt deleted file mode 100644 index a125b97ed65..00000000000 --- a/src/docs/string_lit_as_bytes.txt +++ /dev/null @@ -1,39 +0,0 @@ -### What it does -Checks for the `as_bytes` method called on string literals -that contain only ASCII characters. - -### Why is this bad? -Byte string literals (e.g., `b"foo"`) can be used -instead. They are shorter but less discoverable than `as_bytes()`. - -### Known problems -`"str".as_bytes()` and the suggested replacement of `b"str"` are not -equivalent because they have different types. The former is `&[u8]` -while the latter is `&[u8; 3]`. That means in general they will have a -different set of methods and different trait implementations. - -``` -fn f(v: Vec<u8>) {} - -f("...".as_bytes().to_owned()); // works -f(b"...".to_owned()); // does not work, because arg is [u8; 3] not Vec<u8> - -fn g(r: impl std::io::Read) {} - -g("...".as_bytes()); // works -g(b"..."); // does not work -``` - -The actual equivalent of `"str".as_bytes()` with the same type is not -`b"str"` but `&b"str"[..]`, which is a great deal of punctuation and not -more readable than a function call. - -### Example -``` -let bstr = "a byte string".as_bytes(); -``` - -Use instead: -``` -let bstr = b"a byte string"; -``` \ No newline at end of file |
