mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-26 14:40:32 +00:00
Escape a single quote in single_char_pattern hint
This commit is contained in:
parent
4fdd113bed
commit
560fd163d6
4 changed files with 21 additions and 4 deletions
|
@ -2143,7 +2143,8 @@ fn lint_single_char_pattern<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, _expr: &'tcx h
|
|||
then {
|
||||
let mut applicability = Applicability::MachineApplicable;
|
||||
let snip = snippet_with_applicability(cx, arg.span, "..", &mut applicability);
|
||||
let hint = format!("'{}'", &snip[1..snip.len() - 1]);
|
||||
let c = &snip[1..snip.len() - 1];
|
||||
let hint = format!("'{}'", if c == "'" { "\\'" } else { c });
|
||||
span_lint_and_sugg(
|
||||
cx,
|
||||
SINGLE_CHAR_PATTERN,
|
||||
|
|
|
@ -41,6 +41,8 @@ fn main() {
|
|||
x.trim_end_matches('x');
|
||||
// Make sure we escape characters correctly.
|
||||
x.split('\n');
|
||||
x.split('\'');
|
||||
x.split('\'');
|
||||
|
||||
let h = HashSet::<String>::new();
|
||||
h.contains("X"); // should not warn
|
||||
|
|
|
@ -41,6 +41,8 @@ fn main() {
|
|||
x.trim_end_matches("x");
|
||||
// Make sure we escape characters correctly.
|
||||
x.split("\n");
|
||||
x.split("'");
|
||||
x.split("\'");
|
||||
|
||||
let h = HashSet::<String>::new();
|
||||
h.contains("X"); // should not warn
|
||||
|
|
|
@ -109,16 +109,28 @@ LL | x.split("/n");
|
|||
| ^^^^ help: try using a char instead: `'/n'`
|
||||
|
||||
error: single-character string constant used as pattern
|
||||
--> $DIR/single_char_pattern.rs:48:31
|
||||
--> $DIR/single_char_pattern.rs:44:13
|
||||
|
|
||||
LL | x.split("'");
|
||||
| ^^^ help: try using a char instead: `'/''`
|
||||
|
||||
error: single-character string constant used as pattern
|
||||
--> $DIR/single_char_pattern.rs:45:13
|
||||
|
|
||||
LL | x.split("/'");
|
||||
| ^^^^ help: try using a char instead: `'/''`
|
||||
|
||||
error: single-character string constant used as pattern
|
||||
--> $DIR/single_char_pattern.rs:50:31
|
||||
|
|
||||
LL | x.replace(";", ",").split(","); // issue #2978
|
||||
| ^^^ help: try using a char instead: `','`
|
||||
|
||||
error: single-character string constant used as pattern
|
||||
--> $DIR/single_char_pattern.rs:49:19
|
||||
--> $DIR/single_char_pattern.rs:51:19
|
||||
|
|
||||
LL | x.starts_with("/x03"); // issue #2996
|
||||
| ^^^^^^ help: try using a char instead: `'/x03'`
|
||||
|
||||
error: aborting due to 20 previous errors
|
||||
error: aborting due to 22 previous errors
|
||||
|
||||
|
|
Loading…
Reference in a new issue