Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit 54de78a

Browse files
committed
downgrade to pedantic
1 parent 58c53e8 commit 54de78a

File tree

4 files changed

+23
-51
lines changed

4 files changed

+23
-51
lines changed

clippy_lints/src/methods/mod.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1145,8 +1145,10 @@ declare_clippy_lint! {
11451145
/// `str` as an argument, e.g., `_.split("x")`.
11461146
///
11471147
/// ### Why is this bad?
1148-
/// Performing these methods using a `char` can be faster than
1149-
/// using a `str` because it needs one less indirection.
1148+
/// While this can make a perf difference on some systems,
1149+
/// benchmarks have proven inconclusive. But at least using a
1150+
/// char literal makes it clear that we are looking at a single
1151+
/// character.
11501152
///
11511153
/// ### Known problems
11521154
/// Does not catch multi-byte unicode characters. This is by
@@ -1165,7 +1167,7 @@ declare_clippy_lint! {
11651167
/// ```
11661168
#[clippy::version = "pre 1.29.0"]
11671169
pub SINGLE_CHAR_PATTERN,
1168-
perf,
1170+
pedantic,
11691171
"using a single-character str where a char could be used, e.g., `_.split(\"x\")`"
11701172
}
11711173

tests/ui/single_char_pattern.fixed

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#![allow(clippy::needless_raw_strings, clippy::needless_raw_string_hashes, unused_must_use)]
2-
2+
#![warn(clippy::single_char_pattern)]
33
use std::collections::HashSet;
44

55
fn main() {

tests/ui/single_char_pattern.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#![allow(clippy::needless_raw_strings, clippy::needless_raw_string_hashes, unused_must_use)]
2-
2+
#![warn(clippy::single_char_pattern)]
33
use std::collections::HashSet;
44

55
fn main() {

tests/ui/single_char_pattern.stderr

Lines changed: 16 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,6 @@ LL | x.split("x");
77
= note: `-D clippy::single-char-pattern` implied by `-D warnings`
88
= help: to override `-D warnings` add `#[allow(clippy::single_char_pattern)]`
99

10-
error: single-character string constant used as pattern
11-
--> tests/ui/single_char_pattern.rs:13:13
12-
|
13-
LL | x.split("ß");
14-
| ^^^ help: consider using a `char`: `'ß'`
15-
16-
error: single-character string constant used as pattern
17-
--> tests/ui/single_char_pattern.rs:14:13
18-
|
19-
LL | x.split("ℝ");
20-
| ^^^ help: consider using a `char`: `'ℝ'`
21-
22-
error: single-character string constant used as pattern
23-
--> tests/ui/single_char_pattern.rs:15:13
24-
|
25-
LL | x.split("💣");
26-
| ^^^^ help: consider using a `char`: `'💣'`
27-
2810
error: single-character string constant used as pattern
2911
--> tests/ui/single_char_pattern.rs:18:23
3012
|
@@ -140,106 +122,94 @@ LL | x.trim_end_matches("x");
140122
| ^^^ help: consider using a `char`: `'x'`
141123

142124
error: single-character string constant used as pattern
143-
--> tests/ui/single_char_pattern.rs:37:20
144-
|
145-
LL | x.strip_prefix("x");
146-
| ^^^ help: consider using a `char`: `'x'`
147-
148-
error: single-character string constant used as pattern
149-
--> tests/ui/single_char_pattern.rs:38:20
150-
|
151-
LL | x.strip_suffix("x");
152-
| ^^^ help: consider using a `char`: `'x'`
153-
154-
error: single-character string constant used as pattern
155-
--> tests/ui/single_char_pattern.rs:39:15
125+
--> tests/ui/single_char_pattern.rs:37:15
156126
|
157127
LL | x.replace("x", "y");
158128
| ^^^ help: consider using a `char`: `'x'`
159129

160130
error: single-character string constant used as pattern
161-
--> tests/ui/single_char_pattern.rs:40:16
131+
--> tests/ui/single_char_pattern.rs:38:16
162132
|
163133
LL | x.replacen("x", "y", 3);
164134
| ^^^ help: consider using a `char`: `'x'`
165135

166136
error: single-character string constant used as pattern
167-
--> tests/ui/single_char_pattern.rs:42:13
137+
--> tests/ui/single_char_pattern.rs:40:13
168138
|
169139
LL | x.split("\n");
170140
| ^^^^ help: consider using a `char`: `'\n'`
171141

172142
error: single-character string constant used as pattern
173-
--> tests/ui/single_char_pattern.rs:43:13
143+
--> tests/ui/single_char_pattern.rs:41:13
174144
|
175145
LL | x.split("'");
176146
| ^^^ help: consider using a `char`: `'\''`
177147

178148
error: single-character string constant used as pattern
179-
--> tests/ui/single_char_pattern.rs:44:13
149+
--> tests/ui/single_char_pattern.rs:42:13
180150
|
181151
LL | x.split("\'");
182152
| ^^^^ help: consider using a `char`: `'\''`
183153

184154
error: single-character string constant used as pattern
185-
--> tests/ui/single_char_pattern.rs:46:13
155+
--> tests/ui/single_char_pattern.rs:44:13
186156
|
187157
LL | x.split("\"");
188158
| ^^^^ help: consider using a `char`: `'"'`
189159

190160
error: single-character string constant used as pattern
191-
--> tests/ui/single_char_pattern.rs:51:31
161+
--> tests/ui/single_char_pattern.rs:49:31
192162
|
193163
LL | x.replace(';', ",").split(","); // issue #2978
194164
| ^^^ help: consider using a `char`: `','`
195165

196166
error: single-character string constant used as pattern
197-
--> tests/ui/single_char_pattern.rs:52:19
167+
--> tests/ui/single_char_pattern.rs:50:19
198168
|
199169
LL | x.starts_with("\x03"); // issue #2996
200170
| ^^^^^^ help: consider using a `char`: `'\x03'`
201171

202172
error: single-character string constant used as pattern
203-
--> tests/ui/single_char_pattern.rs:59:13
173+
--> tests/ui/single_char_pattern.rs:57:13
204174
|
205175
LL | x.split(r"a");
206176
| ^^^^ help: consider using a `char`: `'a'`
207177

208178
error: single-character string constant used as pattern
209-
--> tests/ui/single_char_pattern.rs:60:13
179+
--> tests/ui/single_char_pattern.rs:58:13
210180
|
211181
LL | x.split(r#"a"#);
212182
| ^^^^^^ help: consider using a `char`: `'a'`
213183

214184
error: single-character string constant used as pattern
215-
--> tests/ui/single_char_pattern.rs:61:13
185+
--> tests/ui/single_char_pattern.rs:59:13
216186
|
217187
LL | x.split(r###"a"###);
218188
| ^^^^^^^^^^ help: consider using a `char`: `'a'`
219189

220190
error: single-character string constant used as pattern
221-
--> tests/ui/single_char_pattern.rs:62:13
191+
--> tests/ui/single_char_pattern.rs:60:13
222192
|
223193
LL | x.split(r###"'"###);
224194
| ^^^^^^^^^^ help: consider using a `char`: `'\''`
225195

226196
error: single-character string constant used as pattern
227-
--> tests/ui/single_char_pattern.rs:63:13
197+
--> tests/ui/single_char_pattern.rs:61:13
228198
|
229199
LL | x.split(r###"#"###);
230200
| ^^^^^^^^^^ help: consider using a `char`: `'#'`
231201

232202
error: single-character string constant used as pattern
233-
--> tests/ui/single_char_pattern.rs:65:13
203+
--> tests/ui/single_char_pattern.rs:63:13
234204
|
235205
LL | x.split(r#"\"#);
236206
| ^^^^^^ help: consider using a `char`: `'\\'`
237207

238208
error: single-character string constant used as pattern
239-
--> tests/ui/single_char_pattern.rs:66:13
209+
--> tests/ui/single_char_pattern.rs:64:13
240210
|
241211
LL | x.split(r"\");
242212
| ^^^^ help: consider using a `char`: `'\\'`
243213

244-
error: aborting due to 40 previous errors
214+
error: aborting due to 35 previous errors
245215

0 commit comments

Comments
 (0)