Skip to content

Commit 938dd5f

Browse files
committed
misc: test cases with escaping are mostly autofixable now
1 parent e415911 commit 938dd5f

File tree

7 files changed

+291
-237
lines changed

7 files changed

+291
-237
lines changed

tests/ui/write_literal.fixed

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,55 @@ fn main() {
7070
//~^ write_literal
7171
}
7272

73+
fn escaping() {
74+
let mut v = Vec::new();
75+
76+
writeln!(v, "{{hello}}");
77+
//~^ write_literal
78+
79+
writeln!(v, r"{{hello}}");
80+
//~^ write_literal
81+
82+
writeln!(v, "'");
83+
//~^ write_literal
84+
85+
writeln!(v, "\"");
86+
//~^ write_literal
87+
88+
writeln!(v, r"'");
89+
//~^ write_literal
90+
91+
writeln!(
92+
v,
93+
"some hello \
94+
//~^ write_literal
95+
world!",
96+
);
97+
writeln!(
98+
v,
99+
"some 1\
100+
2 \\ 3",
101+
//~^^^ write_literal
102+
);
103+
writeln!(v, "\\");
104+
//~^ write_literal
105+
106+
writeln!(v, r"\");
107+
//~^ write_literal
108+
109+
writeln!(v, r#"\"#);
110+
//~^ write_literal
111+
112+
writeln!(v, "\\");
113+
//~^ write_literal
114+
115+
writeln!(v, "\r");
116+
//~^ write_literal
117+
118+
// should not lint
119+
writeln!(v, r"{}", "\r");
120+
}
121+
73122
fn issue_13959() {
74123
let mut v = Vec::new();
75124
writeln!(v, "\"");

tests/ui/write_literal.rs

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,59 @@ fn main() {
7070
//~^ write_literal
7171
}
7272

73+
fn escaping() {
74+
let mut v = Vec::new();
75+
76+
writeln!(v, "{}", "{hello}");
77+
//~^ write_literal
78+
79+
writeln!(v, r"{}", r"{hello}");
80+
//~^ write_literal
81+
82+
writeln!(v, "{}", '\'');
83+
//~^ write_literal
84+
85+
writeln!(v, "{}", '"');
86+
//~^ write_literal
87+
88+
writeln!(v, r"{}", '\'');
89+
//~^ write_literal
90+
91+
writeln!(
92+
v,
93+
"some {}",
94+
"hello \
95+
//~^ write_literal
96+
world!",
97+
);
98+
writeln!(
99+
v,
100+
"some {}\
101+
{} \\ {}",
102+
"1",
103+
"2",
104+
"3",
105+
//~^^^ write_literal
106+
);
107+
writeln!(v, "{}", "\\");
108+
//~^ write_literal
109+
110+
writeln!(v, r"{}", "\\");
111+
//~^ write_literal
112+
113+
writeln!(v, r#"{}"#, "\\");
114+
//~^ write_literal
115+
116+
writeln!(v, "{}", r"\");
117+
//~^ write_literal
118+
119+
writeln!(v, "{}", "\r");
120+
//~^ write_literal
121+
122+
// should not lint
123+
writeln!(v, r"{}", "\r");
124+
}
125+
73126
fn issue_13959() {
74127
let mut v = Vec::new();
75128
writeln!(v, "{}", r#"""#);

tests/ui/write_literal.stderr

Lines changed: 156 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,156 @@ LL + writeln!(v, "hello {0} {1}, world {2}", 2, 3, 4);
145145
|
146146

147147
error: literal with an empty format string
148-
--> tests/ui/write_literal.rs:75:23
148+
--> tests/ui/write_literal.rs:76:23
149+
|
150+
LL | writeln!(v, "{}", "{hello}");
151+
| ^^^^^^^^^
152+
|
153+
help: try
154+
|
155+
LL - writeln!(v, "{}", "{hello}");
156+
LL + writeln!(v, "{{hello}}");
157+
|
158+
159+
error: literal with an empty format string
160+
--> tests/ui/write_literal.rs:79:24
161+
|
162+
LL | writeln!(v, r"{}", r"{hello}");
163+
| ^^^^^^^^^^
164+
|
165+
help: try
166+
|
167+
LL - writeln!(v, r"{}", r"{hello}");
168+
LL + writeln!(v, r"{{hello}}");
169+
|
170+
171+
error: literal with an empty format string
172+
--> tests/ui/write_literal.rs:82:23
173+
|
174+
LL | writeln!(v, "{}", '\'');
175+
| ^^^^
176+
|
177+
help: try
178+
|
179+
LL - writeln!(v, "{}", '\'');
180+
LL + writeln!(v, "'");
181+
|
182+
183+
error: literal with an empty format string
184+
--> tests/ui/write_literal.rs:85:23
185+
|
186+
LL | writeln!(v, "{}", '"');
187+
| ^^^
188+
|
189+
help: try
190+
|
191+
LL - writeln!(v, "{}", '"');
192+
LL + writeln!(v, "\"");
193+
|
194+
195+
error: literal with an empty format string
196+
--> tests/ui/write_literal.rs:88:24
197+
|
198+
LL | writeln!(v, r"{}", '\'');
199+
| ^^^^
200+
|
201+
help: try
202+
|
203+
LL - writeln!(v, r"{}", '\'');
204+
LL + writeln!(v, r"'");
205+
|
206+
207+
error: literal with an empty format string
208+
--> tests/ui/write_literal.rs:94:9
209+
|
210+
LL | / "hello \
211+
LL | |
212+
LL | | world!",
213+
| |_______________^
214+
|
215+
help: try
216+
|
217+
LL ~ "some hello \
218+
LL +
219+
LL ~ world!",
220+
|
221+
222+
error: literal with an empty format string
223+
--> tests/ui/write_literal.rs:102:9
224+
|
225+
LL | / "1",
226+
LL | | "2",
227+
LL | | "3",
228+
| |___________^
229+
|
230+
help: try
231+
|
232+
LL ~ "some 1\
233+
LL ~ 2 \\ 3",
234+
|
235+
236+
error: literal with an empty format string
237+
--> tests/ui/write_literal.rs:107:23
238+
|
239+
LL | writeln!(v, "{}", "\\");
240+
| ^^^^
241+
|
242+
help: try
243+
|
244+
LL - writeln!(v, "{}", "\\");
245+
LL + writeln!(v, "\\");
246+
|
247+
248+
error: literal with an empty format string
249+
--> tests/ui/write_literal.rs:110:24
250+
|
251+
LL | writeln!(v, r"{}", "\\");
252+
| ^^^^
253+
|
254+
help: try
255+
|
256+
LL - writeln!(v, r"{}", "\\");
257+
LL + writeln!(v, r"\");
258+
|
259+
260+
error: literal with an empty format string
261+
--> tests/ui/write_literal.rs:113:26
262+
|
263+
LL | writeln!(v, r#"{}"#, "\\");
264+
| ^^^^
265+
|
266+
help: try
267+
|
268+
LL - writeln!(v, r#"{}"#, "\\");
269+
LL + writeln!(v, r#"\"#);
270+
|
271+
272+
error: literal with an empty format string
273+
--> tests/ui/write_literal.rs:116:23
274+
|
275+
LL | writeln!(v, "{}", r"\");
276+
| ^^^^
277+
|
278+
help: try
279+
|
280+
LL - writeln!(v, "{}", r"\");
281+
LL + writeln!(v, "\\");
282+
|
283+
284+
error: literal with an empty format string
285+
--> tests/ui/write_literal.rs:119:23
286+
|
287+
LL | writeln!(v, "{}", "\r");
288+
| ^^^^
289+
|
290+
help: try
291+
|
292+
LL - writeln!(v, "{}", "\r");
293+
LL + writeln!(v, "\r");
294+
|
295+
296+
error: literal with an empty format string
297+
--> tests/ui/write_literal.rs:128:23
149298
|
150299
LL | writeln!(v, "{}", r#"""#);
151300
| ^^^^^^
@@ -157,7 +306,7 @@ LL + writeln!(v, "\"");
157306
|
158307

159308
error: literal with an empty format string
160-
--> tests/ui/write_literal.rs:80:9
309+
--> tests/ui/write_literal.rs:133:9
161310
|
162311
LL | / r#"
163312
LL | |
@@ -182,7 +331,7 @@ LL ~ "
182331
|
183332

184333
error: literal with an empty format string
185-
--> tests/ui/write_literal.rs:94:55
334+
--> tests/ui/write_literal.rs:147:55
186335
|
187336
LL | writeln!(v, "Hello {3} is {0:2$.1$}", 0.01, 2, 3, "x");
188337
| ^^^
@@ -194,7 +343,7 @@ LL + writeln!(v, "Hello x is {0:2$.1$}", 0.01, 2, 3);
194343
|
195344

196345
error: literal with an empty format string
197-
--> tests/ui/write_literal.rs:96:52
346+
--> tests/ui/write_literal.rs:149:52
198347
|
199348
LL | writeln!(v, "Hello {2} is {0:3$.1$}", 0.01, 2, "x", 3);
200349
| ^^^
@@ -206,7 +355,7 @@ LL + writeln!(v, "Hello x is {0:2$.1$}", 0.01, 2, 3);
206355
|
207356

208357
error: literal with an empty format string
209-
--> tests/ui/write_literal.rs:98:49
358+
--> tests/ui/write_literal.rs:151:49
210359
|
211360
LL | writeln!(v, "Hello {1} is {0:3$.2$}", 0.01, "x", 2, 3);
212361
| ^^^
@@ -218,7 +367,7 @@ LL + writeln!(v, "Hello x is {0:2$.1$}", 0.01, 2, 3);
218367
|
219368

220369
error: literal with an empty format string
221-
--> tests/ui/write_literal.rs:100:43
370+
--> tests/ui/write_literal.rs:153:43
222371
|
223372
LL | writeln!(v, "Hello {0} is {1:3$.2$}", "x", 0.01, 2, 3);
224373
| ^^^
@@ -229,5 +378,5 @@ LL - writeln!(v, "Hello {0} is {1:3$.2$}", "x", 0.01, 2, 3);
229378
LL + writeln!(v, "Hello x is {0:2$.1$}", 0.01, 2, 3);
230379
|
231380

232-
error: aborting due to 18 previous errors
381+
error: aborting due to 30 previous errors
233382

tests/ui/write_literal_2.rs

Lines changed: 0 additions & 65 deletions
This file was deleted.

0 commit comments

Comments
 (0)