parent
6a624fe77c
commit
7eea67605a
5 changed files with 155 additions and 4 deletions
|
|
@ -2,7 +2,7 @@
|
|||
#![plugin(clippy)]
|
||||
|
||||
#![deny(clippy, clippy_pedantic)]
|
||||
#![allow(unused, print_stdout)]
|
||||
#![allow(unused, print_stdout, non_ascii_literal)]
|
||||
|
||||
use std::collections::BTreeMap;
|
||||
use std::collections::HashMap;
|
||||
|
|
@ -355,3 +355,92 @@ fn clone_on_double_ref() {
|
|||
//~^^^ERROR using `clone` on a `Copy` type
|
||||
println!("{:p} {:p}",*y, z);
|
||||
}
|
||||
|
||||
fn single_char_pattern() {
|
||||
let x = "foo";
|
||||
x.split("x");
|
||||
//~^ ERROR single-character string constant used as pattern
|
||||
//~| HELP try using a char instead:
|
||||
//~| SUGGESTION x.split('x');
|
||||
|
||||
x.split("xx");
|
||||
|
||||
x.split('x');
|
||||
|
||||
let y = "x";
|
||||
x.split(y);
|
||||
|
||||
// Not yet testing for multi-byte characters
|
||||
// Changing `r.len() == 1` to `r.chars().count() == 1` in `lint_single_char_pattern`
|
||||
// should have done this but produced an ICE
|
||||
x.split("ß");
|
||||
x.split("ℝ");
|
||||
x.split("💣");
|
||||
// Can't use this lint for unicode code points which don't fit in a char
|
||||
x.split("❤️");
|
||||
|
||||
x.contains("x");
|
||||
//~^ ERROR single-character string constant used as pattern
|
||||
//~| HELP try using a char instead:
|
||||
//~| SUGGESTION x.contains('x');
|
||||
x.starts_with("x");
|
||||
//~^ ERROR single-character string constant used as pattern
|
||||
//~| HELP try using a char instead:
|
||||
//~| SUGGESTION x.starts_with('x');
|
||||
x.ends_with("x");
|
||||
//~^ ERROR single-character string constant used as pattern
|
||||
//~| HELP try using a char instead:
|
||||
//~| SUGGESTION x.ends_with('x');
|
||||
x.find("x");
|
||||
//~^ ERROR single-character string constant used as pattern
|
||||
//~| HELP try using a char instead:
|
||||
//~| SUGGESTION x.find('x');
|
||||
x.rfind("x");
|
||||
//~^ ERROR single-character string constant used as pattern
|
||||
//~| HELP try using a char instead:
|
||||
//~| SUGGESTION x.rfind('x');
|
||||
x.rsplit("x");
|
||||
//~^ ERROR single-character string constant used as pattern
|
||||
//~| HELP try using a char instead:
|
||||
//~| SUGGESTION x.rsplit('x');
|
||||
x.split_terminator("x");
|
||||
//~^ ERROR single-character string constant used as pattern
|
||||
//~| HELP try using a char instead:
|
||||
//~| SUGGESTION x.split_terminator('x');
|
||||
x.rsplit_terminator("x");
|
||||
//~^ ERROR single-character string constant used as pattern
|
||||
//~| HELP try using a char instead:
|
||||
//~| SUGGESTION x.rsplit_terminator('x');
|
||||
x.splitn(0, "x");
|
||||
//~^ ERROR single-character string constant used as pattern
|
||||
//~| HELP try using a char instead:
|
||||
//~| SUGGESTION x.splitn(0, 'x');
|
||||
x.rsplitn(0, "x");
|
||||
//~^ ERROR single-character string constant used as pattern
|
||||
//~| HELP try using a char instead:
|
||||
//~| SUGGESTION x.rsplitn(0, 'x');
|
||||
x.matches("x");
|
||||
//~^ ERROR single-character string constant used as pattern
|
||||
//~| HELP try using a char instead:
|
||||
//~| SUGGESTION x.matches('x');
|
||||
x.rmatches("x");
|
||||
//~^ ERROR single-character string constant used as pattern
|
||||
//~| HELP try using a char instead:
|
||||
//~| SUGGESTION x.rmatches('x');
|
||||
x.match_indices("x");
|
||||
//~^ ERROR single-character string constant used as pattern
|
||||
//~| HELP try using a char instead:
|
||||
//~| SUGGESTION x.match_indices('x');
|
||||
x.rmatch_indices("x");
|
||||
//~^ ERROR single-character string constant used as pattern
|
||||
//~| HELP try using a char instead:
|
||||
//~| SUGGESTION x.rmatch_indices('x');
|
||||
x.trim_left_matches("x");
|
||||
//~^ ERROR single-character string constant used as pattern
|
||||
//~| HELP try using a char instead:
|
||||
//~| SUGGESTION x.trim_left_matches('x');
|
||||
x.trim_right_matches("x");
|
||||
//~^ ERROR single-character string constant used as pattern
|
||||
//~| HELP try using a char instead:
|
||||
//~| SUGGESTION x.trim_right_matches('x');
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue