#![allow(clippy::needless_raw_strings, clippy::needless_raw_string_hashes, unused_must_use)] #![warn(clippy::single_char_pattern)] use std::collections::HashSet; fn main() { let x = "foo"; x.split("x"); //~^ single_char_pattern x.split("xx"); x.split('x'); let y = "x"; x.split(y); 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.split_inclusive("x"); //~^ single_char_pattern x.contains("x"); //~^ single_char_pattern x.starts_with("x"); //~^ single_char_pattern x.ends_with("x"); //~^ single_char_pattern x.find("x"); //~^ single_char_pattern x.rfind("x"); //~^ single_char_pattern x.rsplit("x"); //~^ single_char_pattern x.split_terminator("x"); //~^ single_char_pattern x.rsplit_terminator("x"); //~^ single_char_pattern x.splitn(2, "x"); //~^ single_char_pattern x.rsplitn(2, "x"); //~^ single_char_pattern x.split_once("x"); //~^ single_char_pattern x.rsplit_once("x"); //~^ single_char_pattern x.matches("x"); //~^ single_char_pattern x.rmatches("x"); //~^ single_char_pattern x.match_indices("x"); //~^ single_char_pattern x.rmatch_indices("x"); //~^ single_char_pattern x.trim_start_matches("x"); //~^ single_char_pattern x.trim_end_matches("x"); //~^ single_char_pattern x.replace("x", "y"); //~^ single_char_pattern x.replacen("x", "y", 3); //~^ single_char_pattern // Make sure we escape characters correctly. x.split("\n"); //~^ single_char_pattern x.split("'"); //~^ single_char_pattern x.split("\'"); //~^ single_char_pattern // Issue #11973: Don't escape `"` in `'"'` x.split("\""); //~^ single_char_pattern let h = HashSet::::new(); h.contains("X"); // should not warn x.replace(';', ",").split(","); // issue #2978 // //~^^ single_char_pattern x.starts_with("\x03"); // issue #2996 // //~^^ single_char_pattern // Issue #3204 const S: &str = "#"; x.find(S); // Raw string x.split(r"a"); //~^ single_char_pattern x.split(r#"a"#); //~^ single_char_pattern x.split(r###"a"###); //~^ single_char_pattern x.split(r###"'"###); //~^ single_char_pattern x.split(r###"#"###); //~^ single_char_pattern // Must escape backslash in raw strings when converting to char #8060 x.split(r#"\"#); //~^ single_char_pattern x.split(r"\"); //~^ single_char_pattern // should not warn, the char versions are actually slower in some cases x.strip_prefix("x"); x.strip_suffix("x"); }