Skip to content

Commit f2ef26d

Browse files
committed
Auto merge of rust-lang#13263 - y21:warn_manual_c_str_literals, r=Centri3
move `manual_c_str_literals` to complexity IMO the suggestion to use `c""` literals over a hardcoded `\0` byte string literal has some fairly strong upsides (no need to manually null-terminate it and the compiler checks for intermediary null bytes) that this should just be enabled by default. It's also written slightly conservatively to only emit a warning when we can be reasonably confident that the lint is *actually* applicable (that is, lint on e.g. `b"foo\0".as_ptr()` but not `b"foo\0"`. The latter looks like a c-string but its type is `&[u8; _]`, and if it's used in a context where a byte slice is needed then you have no nice way to convert to it from a `c"foo"` literal of type `&CStr`). changelog: move [`manual_c_str_literals`] to complexity (now warn-by-default)
2 parents e8ba5d1 + a5e3a3f commit f2ef26d

File tree

1 file changed

+1
-1
lines changed
  • clippy_lints/src/methods

1 file changed

+1
-1
lines changed

Diff for: clippy_lints/src/methods/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -4036,7 +4036,7 @@ declare_clippy_lint! {
40364036
/// ```
40374037
#[clippy::version = "1.78.0"]
40384038
pub MANUAL_C_STR_LITERALS,
4039-
pedantic,
4039+
complexity,
40404040
r#"creating a `CStr` through functions when `c""` literals can be used"#
40414041
}
40424042

0 commit comments

Comments
 (0)