]> git.proxmox.com Git - rustc.git/blame - src/test/ui/rfc-2497-if-let-chains/disallowed-positions.stderr
New upstream version 1.48.0~beta.8+dfsg1
[rustc.git] / src / test / ui / rfc-2497-if-let-chains / disallowed-positions.stderr
CommitLineData
dc9dc135 1error: expected one of `,` or `>`, found `&&`
f035d41b 2 --> $DIR/disallowed-positions.rs:236:14
dc9dc135
XL
3 |
4LL | true && let 1 = 1
60c5eb7d 5 | ^^ expected one of `,` or `>`
dc9dc135 6
dc9dc135
XL
7error: `let` expressions are not supported here
8 --> $DIR/disallowed-positions.rs:32:9
9 |
10LL | if &let 0 = 0 {}
11 | ^^^^^^^^^
12 |
13 = note: only supported directly in conditions of `if`- and `while`-expressions
14 = note: as well as when nested within `&&` and parenthesis in those conditions
15
16error: `let` expressions are not supported here
17 --> $DIR/disallowed-positions.rs:35:9
18 |
19LL | if !let 0 = 0 {}
20 | ^^^^^^^^^
21 |
22 = note: only supported directly in conditions of `if`- and `while`-expressions
23 = note: as well as when nested within `&&` and parenthesis in those conditions
24
25error: `let` expressions are not supported here
26 --> $DIR/disallowed-positions.rs:36:9
27 |
28LL | if *let 0 = 0 {}
29 | ^^^^^^^^^
30 |
31 = note: only supported directly in conditions of `if`- and `while`-expressions
32 = note: as well as when nested within `&&` and parenthesis in those conditions
33
34error: `let` expressions are not supported here
35 --> $DIR/disallowed-positions.rs:38:9
36 |
37LL | if -let 0 = 0 {}
38 | ^^^^^^^^^
39 |
40 = note: only supported directly in conditions of `if`- and `while`-expressions
41 = note: as well as when nested within `&&` and parenthesis in those conditions
42
43error: `let` expressions are not supported here
44 --> $DIR/disallowed-positions.rs:46:9
45 |
46LL | if (let 0 = 0)? {}
47 | ^^^^^^^^^
48 |
49 = note: only supported directly in conditions of `if`- and `while`-expressions
50 = note: as well as when nested within `&&` and parenthesis in those conditions
51
52error: `let` expressions are not supported here
53 --> $DIR/disallowed-positions.rs:50:16
54 |
55LL | if true || let 0 = 0 {}
56 | ^^^^^^^^^
57 |
58 = note: only supported directly in conditions of `if`- and `while`-expressions
59 = note: as well as when nested within `&&` and parenthesis in those conditions
60
61error: `let` expressions are not supported here
62 --> $DIR/disallowed-positions.rs:51:17
63 |
64LL | if (true || let 0 = 0) {}
65 | ^^^^^^^^^
66 |
67 = note: only supported directly in conditions of `if`- and `while`-expressions
68 = note: as well as when nested within `&&` and parenthesis in those conditions
69
70error: `let` expressions are not supported here
71 --> $DIR/disallowed-positions.rs:52:25
72 |
73LL | if true && (true || let 0 = 0) {}
74 | ^^^^^^^^^
75 |
76 = note: only supported directly in conditions of `if`- and `while`-expressions
77 = note: as well as when nested within `&&` and parenthesis in those conditions
78
79error: `let` expressions are not supported here
80 --> $DIR/disallowed-positions.rs:53:25
81 |
82LL | if true || (true && let 0 = 0) {}
83 | ^^^^^^^^^
84 |
85 = note: only supported directly in conditions of `if`- and `while`-expressions
86 = note: as well as when nested within `&&` and parenthesis in those conditions
87
88error: `let` expressions are not supported here
89 --> $DIR/disallowed-positions.rs:56:12
90 |
91LL | if x = let 0 = 0 {}
92 | ^^^^^^^^^
93 |
94 = note: only supported directly in conditions of `if`- and `while`-expressions
95 = note: as well as when nested within `&&` and parenthesis in those conditions
96
97error: `let` expressions are not supported here
98 --> $DIR/disallowed-positions.rs:59:15
99 |
100LL | if true..(let 0 = 0) {}
101 | ^^^^^^^^^
102 |
103 = note: only supported directly in conditions of `if`- and `while`-expressions
104 = note: as well as when nested within `&&` and parenthesis in those conditions
105
106error: `let` expressions are not supported here
107 --> $DIR/disallowed-positions.rs:61:11
108 |
109LL | if ..(let 0 = 0) {}
110 | ^^^^^^^^^
111 |
112 = note: only supported directly in conditions of `if`- and `while`-expressions
113 = note: as well as when nested within `&&` and parenthesis in those conditions
114
115error: `let` expressions are not supported here
116 --> $DIR/disallowed-positions.rs:63:9
117 |
118LL | if (let 0 = 0).. {}
119 | ^^^^^^^^^
120 |
121 = note: only supported directly in conditions of `if`- and `while`-expressions
122 = note: as well as when nested within `&&` and parenthesis in those conditions
123
124error: `let` expressions are not supported here
125 --> $DIR/disallowed-positions.rs:67:8
126 |
127LL | if let Range { start: _, end: _ } = true..true && false {}
128 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
129 |
130 = note: only supported directly in conditions of `if`- and `while`-expressions
131 = note: as well as when nested within `&&` and parenthesis in those conditions
132
133error: `let` expressions are not supported here
134 --> $DIR/disallowed-positions.rs:71:8
135 |
136LL | if let Range { start: _, end: _ } = true..true || false {}
137 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
138 |
139 = note: only supported directly in conditions of `if`- and `while`-expressions
140 = note: as well as when nested within `&&` and parenthesis in those conditions
141
142error: `let` expressions are not supported here
143 --> $DIR/disallowed-positions.rs:78:8
144 |
145LL | if let Range { start: F, end } = F..|| true {}
146 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
147 |
148 = note: only supported directly in conditions of `if`- and `while`-expressions
149 = note: as well as when nested within `&&` and parenthesis in those conditions
150
151error: `let` expressions are not supported here
152 --> $DIR/disallowed-positions.rs:86:8
153 |
154LL | if let Range { start: true, end } = t..&&false {}
155 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
156 |
157 = note: only supported directly in conditions of `if`- and `while`-expressions
158 = note: as well as when nested within `&&` and parenthesis in those conditions
159
160error: `let` expressions are not supported here
161 --> $DIR/disallowed-positions.rs:92:19
162 |
163LL | if let true = let true = true {}
164 | ^^^^^^^^^^^^^^^
165 |
166 = note: only supported directly in conditions of `if`- and `while`-expressions
167 = note: as well as when nested within `&&` and parenthesis in those conditions
168
169error: `let` expressions are not supported here
170 --> $DIR/disallowed-positions.rs:96:12
171 |
172LL | while &let 0 = 0 {}
173 | ^^^^^^^^^
174 |
175 = note: only supported directly in conditions of `if`- and `while`-expressions
176 = note: as well as when nested within `&&` and parenthesis in those conditions
177
178error: `let` expressions are not supported here
179 --> $DIR/disallowed-positions.rs:99:12
180 |
181LL | while !let 0 = 0 {}
182 | ^^^^^^^^^
183 |
184 = note: only supported directly in conditions of `if`- and `while`-expressions
185 = note: as well as when nested within `&&` and parenthesis in those conditions
186
187error: `let` expressions are not supported here
188 --> $DIR/disallowed-positions.rs:100:12
189 |
190LL | while *let 0 = 0 {}
191 | ^^^^^^^^^
192 |
193 = note: only supported directly in conditions of `if`- and `while`-expressions
194 = note: as well as when nested within `&&` and parenthesis in those conditions
195
196error: `let` expressions are not supported here
197 --> $DIR/disallowed-positions.rs:102:12
198 |
199LL | while -let 0 = 0 {}
200 | ^^^^^^^^^
201 |
202 = note: only supported directly in conditions of `if`- and `while`-expressions
203 = note: as well as when nested within `&&` and parenthesis in those conditions
204
205error: `let` expressions are not supported here
206 --> $DIR/disallowed-positions.rs:110:12
207 |
208LL | while (let 0 = 0)? {}
209 | ^^^^^^^^^
210 |
211 = note: only supported directly in conditions of `if`- and `while`-expressions
212 = note: as well as when nested within `&&` and parenthesis in those conditions
213
214error: `let` expressions are not supported here
215 --> $DIR/disallowed-positions.rs:114:19
216 |
217LL | while true || let 0 = 0 {}
218 | ^^^^^^^^^
219 |
220 = note: only supported directly in conditions of `if`- and `while`-expressions
221 = note: as well as when nested within `&&` and parenthesis in those conditions
222
223error: `let` expressions are not supported here
224 --> $DIR/disallowed-positions.rs:115:20
225 |
226LL | while (true || let 0 = 0) {}
227 | ^^^^^^^^^
228 |
229 = note: only supported directly in conditions of `if`- and `while`-expressions
230 = note: as well as when nested within `&&` and parenthesis in those conditions
231
232error: `let` expressions are not supported here
233 --> $DIR/disallowed-positions.rs:116:28
234 |
235LL | while true && (true || let 0 = 0) {}
236 | ^^^^^^^^^
237 |
238 = note: only supported directly in conditions of `if`- and `while`-expressions
239 = note: as well as when nested within `&&` and parenthesis in those conditions
240
241error: `let` expressions are not supported here
242 --> $DIR/disallowed-positions.rs:117:28
243 |
244LL | while true || (true && let 0 = 0) {}
245 | ^^^^^^^^^
246 |
247 = note: only supported directly in conditions of `if`- and `while`-expressions
248 = note: as well as when nested within `&&` and parenthesis in those conditions
249
250error: `let` expressions are not supported here
251 --> $DIR/disallowed-positions.rs:120:15
252 |
253LL | while x = let 0 = 0 {}
254 | ^^^^^^^^^
255 |
256 = note: only supported directly in conditions of `if`- and `while`-expressions
257 = note: as well as when nested within `&&` and parenthesis in those conditions
258
259error: `let` expressions are not supported here
260 --> $DIR/disallowed-positions.rs:123:18
261 |
262LL | while true..(let 0 = 0) {}
263 | ^^^^^^^^^
264 |
265 = note: only supported directly in conditions of `if`- and `while`-expressions
266 = note: as well as when nested within `&&` and parenthesis in those conditions
267
268error: `let` expressions are not supported here
269 --> $DIR/disallowed-positions.rs:125:14
270 |
271LL | while ..(let 0 = 0) {}
272 | ^^^^^^^^^
273 |
274 = note: only supported directly in conditions of `if`- and `while`-expressions
275 = note: as well as when nested within `&&` and parenthesis in those conditions
276
277error: `let` expressions are not supported here
278 --> $DIR/disallowed-positions.rs:127:12
279 |
280LL | while (let 0 = 0).. {}
281 | ^^^^^^^^^
282 |
283 = note: only supported directly in conditions of `if`- and `while`-expressions
284 = note: as well as when nested within `&&` and parenthesis in those conditions
285
286error: `let` expressions are not supported here
287 --> $DIR/disallowed-positions.rs:131:11
288 |
289LL | while let Range { start: _, end: _ } = true..true && false {}
290 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
291 |
292 = note: only supported directly in conditions of `if`- and `while`-expressions
293 = note: as well as when nested within `&&` and parenthesis in those conditions
294
295error: `let` expressions are not supported here
296 --> $DIR/disallowed-positions.rs:135:11
297 |
298LL | while let Range { start: _, end: _ } = true..true || false {}
299 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
300 |
301 = note: only supported directly in conditions of `if`- and `while`-expressions
302 = note: as well as when nested within `&&` and parenthesis in those conditions
303
304error: `let` expressions are not supported here
305 --> $DIR/disallowed-positions.rs:142:11
306 |
307LL | while let Range { start: F, end } = F..|| true {}
308 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
309 |
310 = note: only supported directly in conditions of `if`- and `while`-expressions
311 = note: as well as when nested within `&&` and parenthesis in those conditions
312
313error: `let` expressions are not supported here
314 --> $DIR/disallowed-positions.rs:150:11
315 |
316LL | while let Range { start: true, end } = t..&&false {}
317 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
318 |
319 = note: only supported directly in conditions of `if`- and `while`-expressions
320 = note: as well as when nested within `&&` and parenthesis in those conditions
321
322error: `let` expressions are not supported here
323 --> $DIR/disallowed-positions.rs:156:22
324 |
325LL | while let true = let true = true {}
326 | ^^^^^^^^^^^^^^^
327 |
328 = note: only supported directly in conditions of `if`- and `while`-expressions
329 = note: as well as when nested within `&&` and parenthesis in those conditions
330
331error: `let` expressions are not supported here
332 --> $DIR/disallowed-positions.rs:170:6
333 |
334LL | &let 0 = 0;
335 | ^^^^^^^^^
336 |
337 = note: only supported directly in conditions of `if`- and `while`-expressions
338 = note: as well as when nested within `&&` and parenthesis in those conditions
339
340error: `let` expressions are not supported here
341 --> $DIR/disallowed-positions.rs:172:6
342 |
343LL | !let 0 = 0;
344 | ^^^^^^^^^
345 |
346 = note: only supported directly in conditions of `if`- and `while`-expressions
347 = note: as well as when nested within `&&` and parenthesis in those conditions
348
349error: `let` expressions are not supported here
350 --> $DIR/disallowed-positions.rs:173:6
351 |
352LL | *let 0 = 0;
353 | ^^^^^^^^^
354 |
355 = note: only supported directly in conditions of `if`- and `while`-expressions
356 = note: as well as when nested within `&&` and parenthesis in those conditions
357
358error: `let` expressions are not supported here
359 --> $DIR/disallowed-positions.rs:175:6
360 |
361LL | -let 0 = 0;
362 | ^^^^^^^^^
363 |
364 = note: only supported directly in conditions of `if`- and `while`-expressions
365 = note: as well as when nested within `&&` and parenthesis in those conditions
366
367error: `let` expressions are not supported here
368 --> $DIR/disallowed-positions.rs:183:6
369 |
370LL | (let 0 = 0)?;
371 | ^^^^^^^^^
372 |
373 = note: only supported directly in conditions of `if`- and `while`-expressions
374 = note: as well as when nested within `&&` and parenthesis in those conditions
375
376error: `let` expressions are not supported here
377 --> $DIR/disallowed-positions.rs:187:13
378 |
379LL | true || let 0 = 0;
380 | ^^^^^^^^^
381 |
382 = note: only supported directly in conditions of `if`- and `while`-expressions
383 = note: as well as when nested within `&&` and parenthesis in those conditions
384
385error: `let` expressions are not supported here
386 --> $DIR/disallowed-positions.rs:188:14
387 |
388LL | (true || let 0 = 0);
389 | ^^^^^^^^^
390 |
391 = note: only supported directly in conditions of `if`- and `while`-expressions
392 = note: as well as when nested within `&&` and parenthesis in those conditions
393
394error: `let` expressions are not supported here
395 --> $DIR/disallowed-positions.rs:189:22
396 |
397LL | true && (true || let 0 = 0);
398 | ^^^^^^^^^
399 |
400 = note: only supported directly in conditions of `if`- and `while`-expressions
401 = note: as well as when nested within `&&` and parenthesis in those conditions
402
403error: `let` expressions are not supported here
404 --> $DIR/disallowed-positions.rs:192:9
405 |
406LL | x = let 0 = 0;
407 | ^^^^^^^^^
408 |
409 = note: only supported directly in conditions of `if`- and `while`-expressions
410 = note: as well as when nested within `&&` and parenthesis in those conditions
411
412error: `let` expressions are not supported here
413 --> $DIR/disallowed-positions.rs:194:12
414 |
415LL | true..(let 0 = 0);
416 | ^^^^^^^^^
417 |
418 = note: only supported directly in conditions of `if`- and `while`-expressions
419 = note: as well as when nested within `&&` and parenthesis in those conditions
420
421error: `let` expressions are not supported here
422 --> $DIR/disallowed-positions.rs:195:8
423 |
424LL | ..(let 0 = 0);
425 | ^^^^^^^^^
426 |
427 = note: only supported directly in conditions of `if`- and `while`-expressions
428 = note: as well as when nested within `&&` and parenthesis in those conditions
429
430error: `let` expressions are not supported here
431 --> $DIR/disallowed-positions.rs:196:6
432 |
433LL | (let 0 = 0)..;
434 | ^^^^^^^^^
435 |
436 = note: only supported directly in conditions of `if`- and `while`-expressions
437 = note: as well as when nested within `&&` and parenthesis in those conditions
438
439error: `let` expressions are not supported here
440 --> $DIR/disallowed-positions.rs:198:6
441 |
442LL | (let Range { start: _, end: _ } = true..true || false);
443 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
444 |
445 = note: only supported directly in conditions of `if`- and `while`-expressions
446 = note: as well as when nested within `&&` and parenthesis in those conditions
447
448error: `let` expressions are not supported here
449 --> $DIR/disallowed-positions.rs:202:6
450 |
451LL | (let true = let true = true);
452 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
453 |
454 = note: only supported directly in conditions of `if`- and `while`-expressions
455 = note: as well as when nested within `&&` and parenthesis in those conditions
456
457error: `let` expressions are not supported here
458 --> $DIR/disallowed-positions.rs:202:17
459 |
460LL | (let true = let true = true);
461 | ^^^^^^^^^^^^^^^
462 |
463 = note: only supported directly in conditions of `if`- and `while`-expressions
464 = note: as well as when nested within `&&` and parenthesis in those conditions
465
466error: `let` expressions are not supported here
467 --> $DIR/disallowed-positions.rs:207:6
468 |
469LL | &let 0 = 0
470 | ^^^^^^^^^
471 |
472 = note: only supported directly in conditions of `if`- and `while`-expressions
473 = note: as well as when nested within `&&` and parenthesis in those conditions
474
475error: `let` expressions are not supported here
476 --> $DIR/disallowed-positions.rs:218:17
477 |
478LL | true && let 1 = 1
479 | ^^^^^^^^^
480 |
481 = note: only supported directly in conditions of `if`- and `while`-expressions
482 = note: as well as when nested within `&&` and parenthesis in those conditions
483
484error: `let` expressions are not supported here
f035d41b 485 --> $DIR/disallowed-positions.rs:222:17
dc9dc135
XL
486 |
487LL | true && let 1 = 1
488 | ^^^^^^^^^
489 |
490 = note: only supported directly in conditions of `if`- and `while`-expressions
491 = note: as well as when nested within `&&` and parenthesis in those conditions
492
493error: `let` expressions are not supported here
f035d41b 494 --> $DIR/disallowed-positions.rs:226:17
dc9dc135
XL
495 |
496LL | true && let 1 = 1
497 | ^^^^^^^^^
498 |
499 = note: only supported directly in conditions of `if`- and `while`-expressions
500 = note: as well as when nested within `&&` and parenthesis in those conditions
501
f9f354fc 502warning: the feature `const_generics` is incomplete and may not be safe to use and/or cause compiler crashes
416331ca
XL
503 --> $DIR/disallowed-positions.rs:20:12
504 |
505LL | #![feature(const_generics)]
506 | ^^^^^^^^^^^^^^
507 |
508 = note: `#[warn(incomplete_features)]` on by default
f9f354fc 509 = note: see issue #44580 <https://github.com/rust-lang/rust/issues/44580> for more information
416331ca 510
f9f354fc 511warning: the feature `let_chains` is incomplete and may not be safe to use and/or cause compiler crashes
416331ca
XL
512 --> $DIR/disallowed-positions.rs:22:12
513 |
514LL | #![feature(let_chains)] // Avoid inflating `.stderr` with overzealous gates in this test.
515 | ^^^^^^^^^^
f9f354fc
XL
516 |
517 = note: see issue #53667 <https://github.com/rust-lang/rust/issues/53667> for more information
416331ca 518
dc9dc135
XL
519error[E0308]: mismatched types
520 --> $DIR/disallowed-positions.rs:32:8
521 |
522LL | if &let 0 = 0 {}
e74abb32
XL
523 | ^^^^^^^^^^
524 | |
60c5eb7d 525 | expected `bool`, found `&bool`
e74abb32 526 | help: consider removing the borrow: `let 0 = 0`
dc9dc135
XL
527
528error[E0614]: type `bool` cannot be dereferenced
529 --> $DIR/disallowed-positions.rs:36:8
530 |
531LL | if *let 0 = 0 {}
532 | ^^^^^^^^^^
533
534error[E0600]: cannot apply unary operator `-` to type `bool`
535 --> $DIR/disallowed-positions.rs:38:8
536 |
537LL | if -let 0 = 0 {}
538 | ^^^^^^^^^^ cannot apply unary operator `-`
dc9dc135 539
1b1a35ee 540error[E0277]: the `?` operator can only be applied to values that implement `Try`
dc9dc135
XL
541 --> $DIR/disallowed-positions.rs:46:8
542 |
543LL | if (let 0 = 0)? {}
544 | ^^^^^^^^^^^^ the `?` operator cannot be applied to type `bool`
545 |
1b1a35ee
XL
546 = help: the trait `Try` is not implemented for `bool`
547 = note: required by `into_result`
dc9dc135 548
1b1a35ee 549error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `Try`)
dc9dc135
XL
550 --> $DIR/disallowed-positions.rs:46:8
551 |
60c5eb7d
XL
552LL | / fn nested_within_if_expr() {
553LL | | if &let 0 = 0 {}
554LL | |
555LL | |
556... |
557LL | | if (let 0 = 0)? {}
558 | | ^^^^^^^^^^^^ cannot use the `?` operator in a function that returns `()`
559... |
560LL | | if let true = let true = true {}
561LL | | }
562 | |_- this function should return `Result` or `Option` to accept `?`
dc9dc135 563 |
1b1a35ee
XL
564 = help: the trait `Try` is not implemented for `()`
565 = note: required by `from_error`
dc9dc135
XL
566
567error[E0308]: mismatched types
568 --> $DIR/disallowed-positions.rs:56:8
569 |
570LL | if x = let 0 = 0 {}
1b1a35ee
XL
571 | ^^^^^^^^^^^^^ expected `bool`, found `()`
572 |
573help: you might have meant to compare for equality
574 |
575LL | if x == let 0 = 0 {}
576 | ^^
dc9dc135
XL
577
578error[E0308]: mismatched types
579 --> $DIR/disallowed-positions.rs:59:8
580 |
581LL | if true..(let 0 = 0) {}
60c5eb7d 582 | ^^^^^^^^^^^^^^^^^ expected `bool`, found struct `std::ops::Range`
dc9dc135
XL
583 |
584 = note: expected type `bool`
60c5eb7d 585 found struct `std::ops::Range<bool>`
dc9dc135
XL
586
587error[E0308]: mismatched types
588 --> $DIR/disallowed-positions.rs:61:8
589 |
590LL | if ..(let 0 = 0) {}
1b1a35ee 591 | ^^^^^^^^^^^^^ expected `bool`, found struct `RangeTo`
dc9dc135
XL
592 |
593 = note: expected type `bool`
1b1a35ee 594 found struct `RangeTo<bool>`
dc9dc135
XL
595
596error[E0308]: mismatched types
597 --> $DIR/disallowed-positions.rs:63:8
598 |
599LL | if (let 0 = 0).. {}
1b1a35ee 600 | ^^^^^^^^^^^^^ expected `bool`, found struct `RangeFrom`
dc9dc135
XL
601 |
602 = note: expected type `bool`
1b1a35ee 603 found struct `RangeFrom<bool>`
dc9dc135
XL
604
605error[E0308]: mismatched types
606 --> $DIR/disallowed-positions.rs:67:12
607 |
608LL | if let Range { start: _, end: _ } = true..true && false {}
dfeec247 609 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ ---- this expression has type `bool`
dc9dc135 610 | |
60c5eb7d 611 | expected `bool`, found struct `std::ops::Range`
dc9dc135
XL
612 |
613 = note: expected type `bool`
60c5eb7d 614 found struct `std::ops::Range<_>`
dc9dc135
XL
615
616error[E0308]: mismatched types
617 --> $DIR/disallowed-positions.rs:67:8
618 |
619LL | if let Range { start: _, end: _ } = true..true && false {}
60c5eb7d 620 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `bool`, found struct `std::ops::Range`
dc9dc135
XL
621 |
622 = note: expected type `bool`
60c5eb7d 623 found struct `std::ops::Range<bool>`
dc9dc135
XL
624
625error[E0308]: mismatched types
626 --> $DIR/disallowed-positions.rs:71:12
627 |
628LL | if let Range { start: _, end: _ } = true..true || false {}
dfeec247 629 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ ---- this expression has type `bool`
dc9dc135 630 | |
60c5eb7d 631 | expected `bool`, found struct `std::ops::Range`
dc9dc135
XL
632 |
633 = note: expected type `bool`
60c5eb7d 634 found struct `std::ops::Range<_>`
dc9dc135
XL
635
636error[E0308]: mismatched types
637 --> $DIR/disallowed-positions.rs:71:8
638 |
639LL | if let Range { start: _, end: _ } = true..true || false {}
60c5eb7d 640 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `bool`, found struct `std::ops::Range`
dc9dc135
XL
641 |
642 = note: expected type `bool`
60c5eb7d 643 found struct `std::ops::Range<bool>`
dc9dc135
XL
644
645error[E0308]: mismatched types
646 --> $DIR/disallowed-positions.rs:78:12
647 |
648LL | if let Range { start: F, end } = F..|| true {}
649 | ^^^^^^^^^^^^^^^^^^^^^^^ expected fn pointer, found struct `std::ops::Range`
650 |
60c5eb7d
XL
651 = note: expected fn pointer `fn() -> bool`
652 found struct `std::ops::Range<_>`
dc9dc135
XL
653
654error[E0308]: mismatched types
655 --> $DIR/disallowed-positions.rs:78:41
656 |
657LL | if let Range { start: F, end } = F..|| true {}
60c5eb7d 658 | ^^^^^^^ expected `bool`, found closure
dc9dc135
XL
659 |
660 = note: expected type `bool`
60c5eb7d 661 found closure `[closure@$DIR/disallowed-positions.rs:78:41: 78:48]`
dc9dc135
XL
662
663error[E0308]: mismatched types
664 --> $DIR/disallowed-positions.rs:78:8
665 |
666LL | if let Range { start: F, end } = F..|| true {}
60c5eb7d 667 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `bool`, found struct `std::ops::Range`
dc9dc135
XL
668 |
669 = note: expected type `bool`
60c5eb7d 670 found struct `std::ops::Range<bool>`
dc9dc135
XL
671
672error[E0308]: mismatched types
673 --> $DIR/disallowed-positions.rs:86:12
674 |
675LL | if let Range { start: true, end } = t..&&false {}
dfeec247 676 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ - this expression has type `&&bool`
dc9dc135 677 | |
60c5eb7d 678 | expected `bool`, found struct `std::ops::Range`
dc9dc135
XL
679 |
680 = note: expected type `bool`
60c5eb7d 681 found struct `std::ops::Range<_>`
dc9dc135
XL
682
683error[E0308]: mismatched types
684 --> $DIR/disallowed-positions.rs:86:44
685 |
686LL | if let Range { start: true, end } = t..&&false {}
60c5eb7d 687 | ^^^^^^^ expected `bool`, found `&&bool`
dc9dc135
XL
688
689error[E0308]: mismatched types
690 --> $DIR/disallowed-positions.rs:86:8
691 |
692LL | if let Range { start: true, end } = t..&&false {}
60c5eb7d 693 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `bool`, found struct `std::ops::Range`
dc9dc135
XL
694 |
695 = note: expected type `bool`
60c5eb7d 696 found struct `std::ops::Range<bool>`
dc9dc135 697
1b1a35ee 698error[E0277]: the `?` operator can only be applied to values that implement `Try`
dc9dc135
XL
699 --> $DIR/disallowed-positions.rs:42:20
700 |
701LL | if let 0 = 0? {}
702 | ^^ the `?` operator cannot be applied to type `{integer}`
703 |
1b1a35ee
XL
704 = help: the trait `Try` is not implemented for `{integer}`
705 = note: required by `into_result`
dc9dc135
XL
706
707error[E0308]: mismatched types
708 --> $DIR/disallowed-positions.rs:96:11
709 |
710LL | while &let 0 = 0 {}
e74abb32
XL
711 | ^^^^^^^^^^
712 | |
60c5eb7d 713 | expected `bool`, found `&bool`
e74abb32 714 | help: consider removing the borrow: `let 0 = 0`
dc9dc135
XL
715
716error[E0614]: type `bool` cannot be dereferenced
717 --> $DIR/disallowed-positions.rs:100:11
718 |
719LL | while *let 0 = 0 {}
720 | ^^^^^^^^^^
721
722error[E0600]: cannot apply unary operator `-` to type `bool`
723 --> $DIR/disallowed-positions.rs:102:11
724 |
725LL | while -let 0 = 0 {}
726 | ^^^^^^^^^^ cannot apply unary operator `-`
dc9dc135 727
1b1a35ee 728error[E0277]: the `?` operator can only be applied to values that implement `Try`
dc9dc135
XL
729 --> $DIR/disallowed-positions.rs:110:11
730 |
731LL | while (let 0 = 0)? {}
732 | ^^^^^^^^^^^^ the `?` operator cannot be applied to type `bool`
733 |
1b1a35ee
XL
734 = help: the trait `Try` is not implemented for `bool`
735 = note: required by `into_result`
dc9dc135 736
1b1a35ee 737error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `Try`)
dc9dc135
XL
738 --> $DIR/disallowed-positions.rs:110:11
739 |
60c5eb7d
XL
740LL | / fn nested_within_while_expr() {
741LL | | while &let 0 = 0 {}
742LL | |
743LL | |
744... |
745LL | | while (let 0 = 0)? {}
746 | | ^^^^^^^^^^^^ cannot use the `?` operator in a function that returns `()`
747... |
748LL | | while let true = let true = true {}
749LL | | }
750 | |_- this function should return `Result` or `Option` to accept `?`
dc9dc135 751 |
1b1a35ee
XL
752 = help: the trait `Try` is not implemented for `()`
753 = note: required by `from_error`
dc9dc135
XL
754
755error[E0308]: mismatched types
756 --> $DIR/disallowed-positions.rs:120:11
757 |
758LL | while x = let 0 = 0 {}
1b1a35ee
XL
759 | ^^^^^^^^^^^^^ expected `bool`, found `()`
760 |
761help: you might have meant to compare for equality
762 |
763LL | while x == let 0 = 0 {}
764 | ^^
dc9dc135
XL
765
766error[E0308]: mismatched types
767 --> $DIR/disallowed-positions.rs:123:11
768 |
769LL | while true..(let 0 = 0) {}
60c5eb7d 770 | ^^^^^^^^^^^^^^^^^ expected `bool`, found struct `std::ops::Range`
dc9dc135
XL
771 |
772 = note: expected type `bool`
60c5eb7d 773 found struct `std::ops::Range<bool>`
dc9dc135
XL
774
775error[E0308]: mismatched types
776 --> $DIR/disallowed-positions.rs:125:11
777 |
778LL | while ..(let 0 = 0) {}
1b1a35ee 779 | ^^^^^^^^^^^^^ expected `bool`, found struct `RangeTo`
dc9dc135
XL
780 |
781 = note: expected type `bool`
1b1a35ee 782 found struct `RangeTo<bool>`
dc9dc135
XL
783
784error[E0308]: mismatched types
785 --> $DIR/disallowed-positions.rs:127:11
786 |
787LL | while (let 0 = 0).. {}
1b1a35ee 788 | ^^^^^^^^^^^^^ expected `bool`, found struct `RangeFrom`
dc9dc135
XL
789 |
790 = note: expected type `bool`
1b1a35ee 791 found struct `RangeFrom<bool>`
dc9dc135
XL
792
793error[E0308]: mismatched types
794 --> $DIR/disallowed-positions.rs:131:15
795 |
796LL | while let Range { start: _, end: _ } = true..true && false {}
dfeec247 797 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ ---- this expression has type `bool`
dc9dc135 798 | |
60c5eb7d 799 | expected `bool`, found struct `std::ops::Range`
dc9dc135
XL
800 |
801 = note: expected type `bool`
60c5eb7d 802 found struct `std::ops::Range<_>`
dc9dc135
XL
803
804error[E0308]: mismatched types
805 --> $DIR/disallowed-positions.rs:131:11
806 |
807LL | while let Range { start: _, end: _ } = true..true && false {}
60c5eb7d 808 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `bool`, found struct `std::ops::Range`
dc9dc135
XL
809 |
810 = note: expected type `bool`
60c5eb7d 811 found struct `std::ops::Range<bool>`
dc9dc135
XL
812
813error[E0308]: mismatched types
814 --> $DIR/disallowed-positions.rs:135:15
815 |
816LL | while let Range { start: _, end: _ } = true..true || false {}
dfeec247 817 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ ---- this expression has type `bool`
dc9dc135 818 | |
60c5eb7d 819 | expected `bool`, found struct `std::ops::Range`
dc9dc135
XL
820 |
821 = note: expected type `bool`
60c5eb7d 822 found struct `std::ops::Range<_>`
dc9dc135
XL
823
824error[E0308]: mismatched types
825 --> $DIR/disallowed-positions.rs:135:11
826 |
827LL | while let Range { start: _, end: _ } = true..true || false {}
60c5eb7d 828 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `bool`, found struct `std::ops::Range`
dc9dc135
XL
829 |
830 = note: expected type `bool`
60c5eb7d 831 found struct `std::ops::Range<bool>`
dc9dc135
XL
832
833error[E0308]: mismatched types
834 --> $DIR/disallowed-positions.rs:142:15
835 |
836LL | while let Range { start: F, end } = F..|| true {}
837 | ^^^^^^^^^^^^^^^^^^^^^^^ expected fn pointer, found struct `std::ops::Range`
838 |
60c5eb7d
XL
839 = note: expected fn pointer `fn() -> bool`
840 found struct `std::ops::Range<_>`
dc9dc135
XL
841
842error[E0308]: mismatched types
843 --> $DIR/disallowed-positions.rs:142:44
844 |
845LL | while let Range { start: F, end } = F..|| true {}
60c5eb7d 846 | ^^^^^^^ expected `bool`, found closure
dc9dc135
XL
847 |
848 = note: expected type `bool`
60c5eb7d 849 found closure `[closure@$DIR/disallowed-positions.rs:142:44: 142:51]`
dc9dc135
XL
850
851error[E0308]: mismatched types
852 --> $DIR/disallowed-positions.rs:142:11
853 |
854LL | while let Range { start: F, end } = F..|| true {}
60c5eb7d 855 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `bool`, found struct `std::ops::Range`
dc9dc135
XL
856 |
857 = note: expected type `bool`
60c5eb7d 858 found struct `std::ops::Range<bool>`
dc9dc135
XL
859
860error[E0308]: mismatched types
861 --> $DIR/disallowed-positions.rs:150:15
862 |
863LL | while let Range { start: true, end } = t..&&false {}
dfeec247 864 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ - this expression has type `&&bool`
dc9dc135 865 | |
60c5eb7d 866 | expected `bool`, found struct `std::ops::Range`
dc9dc135
XL
867 |
868 = note: expected type `bool`
60c5eb7d 869 found struct `std::ops::Range<_>`
dc9dc135
XL
870
871error[E0308]: mismatched types
872 --> $DIR/disallowed-positions.rs:150:47
873 |
874LL | while let Range { start: true, end } = t..&&false {}
60c5eb7d 875 | ^^^^^^^ expected `bool`, found `&&bool`
dc9dc135
XL
876
877error[E0308]: mismatched types
878 --> $DIR/disallowed-positions.rs:150:11
879 |
880LL | while let Range { start: true, end } = t..&&false {}
60c5eb7d 881 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `bool`, found struct `std::ops::Range`
dc9dc135
XL
882 |
883 = note: expected type `bool`
60c5eb7d 884 found struct `std::ops::Range<bool>`
dc9dc135 885
1b1a35ee 886error[E0277]: the `?` operator can only be applied to values that implement `Try`
dc9dc135
XL
887 --> $DIR/disallowed-positions.rs:106:23
888 |
889LL | while let 0 = 0? {}
890 | ^^ the `?` operator cannot be applied to type `{integer}`
891 |
1b1a35ee
XL
892 = help: the trait `Try` is not implemented for `{integer}`
893 = note: required by `into_result`
dc9dc135
XL
894
895error[E0614]: type `bool` cannot be dereferenced
896 --> $DIR/disallowed-positions.rs:173:5
897 |
898LL | *let 0 = 0;
899 | ^^^^^^^^^^
900
901error[E0600]: cannot apply unary operator `-` to type `bool`
902 --> $DIR/disallowed-positions.rs:175:5
903 |
904LL | -let 0 = 0;
905 | ^^^^^^^^^^ cannot apply unary operator `-`
dc9dc135 906
1b1a35ee 907error[E0277]: the `?` operator can only be applied to values that implement `Try`
dc9dc135
XL
908 --> $DIR/disallowed-positions.rs:183:5
909 |
910LL | (let 0 = 0)?;
911 | ^^^^^^^^^^^^ the `?` operator cannot be applied to type `bool`
912 |
1b1a35ee
XL
913 = help: the trait `Try` is not implemented for `bool`
914 = note: required by `into_result`
dc9dc135 915
1b1a35ee 916error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `Try`)
dc9dc135
XL
917 --> $DIR/disallowed-positions.rs:183:5
918 |
60c5eb7d
XL
919LL | / fn outside_if_and_while_expr() {
920LL | | &let 0 = 0;
921LL | |
922LL | | !let 0 = 0;
923... |
924LL | | (let 0 = 0)?;
925 | | ^^^^^^^^^^^^ cannot use the `?` operator in a function that returns `()`
926... |
927LL | |
928LL | | }
929 | |_- this function should return `Result` or `Option` to accept `?`
dc9dc135 930 |
1b1a35ee
XL
931 = help: the trait `Try` is not implemented for `()`
932 = note: required by `from_error`
dc9dc135
XL
933
934error[E0308]: mismatched types
935 --> $DIR/disallowed-positions.rs:198:10
936 |
937LL | (let Range { start: _, end: _ } = true..true || false);
dfeec247 938 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ ---- this expression has type `bool`
dc9dc135 939 | |
60c5eb7d 940 | expected `bool`, found struct `std::ops::Range`
dc9dc135
XL
941 |
942 = note: expected type `bool`
60c5eb7d 943 found struct `std::ops::Range<_>`
dc9dc135
XL
944
945error[E0308]: mismatched types
946 --> $DIR/disallowed-positions.rs:207:5
947 |
948LL | fn outside_if_and_while_expr() {
949 | - help: try adding a return type: `-> &bool`
950...
951LL | &let 0 = 0
60c5eb7d 952 | ^^^^^^^^^^ expected `()`, found `&bool`
dc9dc135 953
1b1a35ee 954error[E0277]: the `?` operator can only be applied to values that implement `Try`
dc9dc135
XL
955 --> $DIR/disallowed-positions.rs:179:17
956 |
957LL | let 0 = 0?;
958 | ^^ the `?` operator cannot be applied to type `{integer}`
959 |
1b1a35ee
XL
960 = help: the trait `Try` is not implemented for `{integer}`
961 = note: required by `into_result`
dc9dc135 962
f035d41b 963error: aborting due to 103 previous errors; 2 warnings emitted
dc9dc135 964
f035d41b 965Some errors have detailed explanations: E0277, E0308, E0600, E0614.
60c5eb7d 966For more information about an error, try `rustc --explain E0277`.