rust/src/test/ui/rfc-2497-if-let-chains/disallowed-positions.stderr

961 lines
33 KiB
Plaintext
Raw Normal View History

error: expressions must be enclosed in braces to be used as const generic arguments
--> $DIR/disallowed-positions.rs:233:9
|
LL | true && let 1 = 1
| ^^^^^^^^^^^^^^^^^
|
help: enclose the `const` expression in braces
|
LL | { true && let 1 = 1 }
| + +
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:30:9
|
LL | if &let 0 = 0 {}
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:33:9
|
LL | if !let 0 = 0 {}
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:34:9
|
LL | if *let 0 = 0 {}
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:36:9
|
LL | if -let 0 = 0 {}
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:44:9
|
LL | if (let 0 = 0)? {}
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:48:16
|
LL | if true || let 0 = 0 {}
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:49:17
|
LL | if (true || let 0 = 0) {}
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:50:25
|
LL | if true && (true || let 0 = 0) {}
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:51:25
|
LL | if true || (true && let 0 = 0) {}
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:54:12
|
LL | if x = let 0 = 0 {}
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:57:15
|
LL | if true..(let 0 = 0) {}
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:59:11
|
LL | if ..(let 0 = 0) {}
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:61:9
|
LL | if (let 0 = 0).. {}
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:65:8
|
LL | if let Range { start: _, end: _ } = true..true && false {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:69:8
|
LL | if let Range { start: _, end: _ } = true..true || false {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:76:8
|
LL | if let Range { start: F, end } = F..|| true {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:84:8
|
LL | if let Range { start: true, end } = t..&&false {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:90:19
|
LL | if let true = let true = true {}
| ^^^^^^^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:94:12
|
LL | while &let 0 = 0 {}
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:97:12
|
LL | while !let 0 = 0 {}
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:98:12
|
LL | while *let 0 = 0 {}
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:100:12
|
LL | while -let 0 = 0 {}
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:108:12
|
LL | while (let 0 = 0)? {}
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:112:19
|
LL | while true || let 0 = 0 {}
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:113:20
|
LL | while (true || let 0 = 0) {}
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:114:28
|
LL | while true && (true || let 0 = 0) {}
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:115:28
|
LL | while true || (true && let 0 = 0) {}
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:118:15
|
LL | while x = let 0 = 0 {}
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:121:18
|
LL | while true..(let 0 = 0) {}
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:123:14
|
LL | while ..(let 0 = 0) {}
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:125:12
|
LL | while (let 0 = 0).. {}
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:129:11
|
LL | while let Range { start: _, end: _ } = true..true && false {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:133:11
|
LL | while let Range { start: _, end: _ } = true..true || false {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:140:11
|
LL | while let Range { start: F, end } = F..|| true {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:148:11
|
LL | while let Range { start: true, end } = t..&&false {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:154:22
|
LL | while let true = let true = true {}
| ^^^^^^^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:168:6
|
LL | &let 0 = 0;
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:170:6
|
LL | !let 0 = 0;
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:171:6
|
LL | *let 0 = 0;
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:173:6
|
LL | -let 0 = 0;
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:181:6
|
LL | (let 0 = 0)?;
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:185:13
|
LL | true || let 0 = 0;
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:186:14
|
LL | (true || let 0 = 0);
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:187:22
|
LL | true && (true || let 0 = 0);
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:190:9
|
LL | x = let 0 = 0;
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:192:12
|
LL | true..(let 0 = 0);
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:193:8
|
LL | ..(let 0 = 0);
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:194:6
|
LL | (let 0 = 0)..;
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:196:6
|
LL | (let Range { start: _, end: _ } = true..true || false);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:200:6
|
LL | (let true = let true = true);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:204:6
|
LL | &let 0 = 0
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:215:17
|
LL | true && let 1 = 1
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:219:17
|
LL | true && let 1 = 1
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:223:17
|
LL | true && let 1 = 1
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
error: `let` expressions are not supported here
--> $DIR/disallowed-positions.rs:233:17
|
LL | true && let 1 = 1
| ^^^^^^^^^
|
2021-08-08 14:49:13 +00:00
= note: only supported directly in conditions of `if`- and `while`-expressions
= note: as well as when nested within `&&` and parentheses in those conditions
2020-04-22 08:21:32 +00:00
warning: the feature `let_chains` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/disallowed-positions.rs:20:12
|
LL | #![feature(let_chains)] // Avoid inflating `.stderr` with overzealous gates in this test.
| ^^^^^^^^^^
2020-04-22 08:21:32 +00:00
|
= note: `#[warn(incomplete_features)]` on by default
2020-04-22 08:21:32 +00:00
= note: see issue #53667 <https://github.com/rust-lang/rust/issues/53667> for more information
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:30:8
|
LL | if &let 0 = 0 {}
| ^^^^^^^^^^ expected `bool`, found `&bool`
|
help: consider removing the borrow
|
LL - if &let 0 = 0 {}
LL + if let 0 = 0 {}
|
error[E0614]: type `bool` cannot be dereferenced
--> $DIR/disallowed-positions.rs:34:8
|
LL | if *let 0 = 0 {}
| ^^^^^^^^^^
error[E0600]: cannot apply unary operator `-` to type `bool`
--> $DIR/disallowed-positions.rs:36:8
|
LL | if -let 0 = 0 {}
| ^^^^^^^^^^ cannot apply unary operator `-`
error[E0277]: the `?` operator can only be applied to values that implement `Try`
--> $DIR/disallowed-positions.rs:44:8
|
LL | if (let 0 = 0)? {}
| ^^^^^^^^^^^^ the `?` operator cannot be applied to type `bool`
|
= help: the trait `Try` is not implemented for `bool`
error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
--> $DIR/disallowed-positions.rs:44:19
|
LL | / fn nested_within_if_expr() {
LL | | if &let 0 = 0 {}
LL | |
LL | |
... |
LL | | if (let 0 = 0)? {}
| | ^ cannot use the `?` operator in a function that returns `()`
... |
LL | | if let true = let true = true {}
LL | | }
| |_- this function should return `Result` or `Option` to accept `?`
|
= help: the trait `FromResidual<_>` is not implemented for `()`
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:54:8
|
LL | if x = let 0 = 0 {}
| ^^^^^^^^^^^^^ expected `bool`, found `()`
|
help: you might have meant to compare for equality
|
LL | if x == let 0 = 0 {}
| ~~
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:57:8
|
LL | if true..(let 0 = 0) {}
| ^^^^^^^^^^^^^^^^^ expected `bool`, found struct `std::ops::Range`
|
= note: expected type `bool`
found struct `std::ops::Range<bool>`
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:59:8
|
LL | if ..(let 0 = 0) {}
| ^^^^^^^^^^^^^ expected `bool`, found struct `RangeTo`
|
= note: expected type `bool`
found struct `RangeTo<bool>`
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:61:8
|
LL | if (let 0 = 0).. {}
| ^^^^^^^^^^^^^ expected `bool`, found struct `RangeFrom`
|
= note: expected type `bool`
found struct `RangeFrom<bool>`
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:65:12
|
LL | if let Range { start: _, end: _ } = true..true && false {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ ---- this expression has type `bool`
| |
| expected `bool`, found struct `std::ops::Range`
|
= note: expected type `bool`
found struct `std::ops::Range<_>`
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:65:8
|
LL | if let Range { start: _, end: _ } = true..true && false {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `bool`, found struct `std::ops::Range`
|
= note: expected type `bool`
found struct `std::ops::Range<bool>`
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:69:12
|
LL | if let Range { start: _, end: _ } = true..true || false {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ ---- this expression has type `bool`
| |
| expected `bool`, found struct `std::ops::Range`
|
= note: expected type `bool`
found struct `std::ops::Range<_>`
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:69:8
|
LL | if let Range { start: _, end: _ } = true..true || false {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `bool`, found struct `std::ops::Range`
|
= note: expected type `bool`
found struct `std::ops::Range<bool>`
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:76:12
|
LL | if let Range { start: F, end } = F..|| true {}
| ^^^^^^^^^^^^^^^^^^^^^^^ expected fn pointer, found struct `std::ops::Range`
|
= note: expected fn pointer `fn() -> bool`
found struct `std::ops::Range<_>`
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:76:41
|
LL | if let Range { start: F, end } = F..|| true {}
| ^^^^^^^ expected `bool`, found closure
|
= note: expected type `bool`
found closure `[closure@$DIR/disallowed-positions.rs:76:41: 76:48]`
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:76:8
|
LL | if let Range { start: F, end } = F..|| true {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `bool`, found struct `std::ops::Range`
|
= note: expected type `bool`
found struct `std::ops::Range<bool>`
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:84:12
|
LL | if let Range { start: true, end } = t..&&false {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ - this expression has type `&&bool`
| |
| expected `bool`, found struct `std::ops::Range`
|
= note: expected type `bool`
found struct `std::ops::Range<_>`
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:84:44
|
LL | if let Range { start: true, end } = t..&&false {}
| ^^^^^^^ expected `bool`, found `&&bool`
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:84:8
|
LL | if let Range { start: true, end } = t..&&false {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `bool`, found struct `std::ops::Range`
|
= note: expected type `bool`
found struct `std::ops::Range<bool>`
error[E0277]: the `?` operator can only be applied to values that implement `Try`
--> $DIR/disallowed-positions.rs:40:20
|
LL | if let 0 = 0? {}
| ^^ the `?` operator cannot be applied to type `{integer}`
|
= help: the trait `Try` is not implemented for `{integer}`
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:94:11
|
LL | while &let 0 = 0 {}
| ^^^^^^^^^^ expected `bool`, found `&bool`
|
help: consider removing the borrow
|
LL - while &let 0 = 0 {}
LL + while let 0 = 0 {}
|
error[E0614]: type `bool` cannot be dereferenced
--> $DIR/disallowed-positions.rs:98:11
|
LL | while *let 0 = 0 {}
| ^^^^^^^^^^
error[E0600]: cannot apply unary operator `-` to type `bool`
--> $DIR/disallowed-positions.rs:100:11
|
LL | while -let 0 = 0 {}
| ^^^^^^^^^^ cannot apply unary operator `-`
error[E0277]: the `?` operator can only be applied to values that implement `Try`
--> $DIR/disallowed-positions.rs:108:11
|
LL | while (let 0 = 0)? {}
| ^^^^^^^^^^^^ the `?` operator cannot be applied to type `bool`
|
= help: the trait `Try` is not implemented for `bool`
error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
--> $DIR/disallowed-positions.rs:108:22
|
LL | / fn nested_within_while_expr() {
LL | | while &let 0 = 0 {}
LL | |
LL | |
... |
LL | | while (let 0 = 0)? {}
| | ^ cannot use the `?` operator in a function that returns `()`
... |
LL | | while let true = let true = true {}
LL | | }
| |_- this function should return `Result` or `Option` to accept `?`
|
= help: the trait `FromResidual<_>` is not implemented for `()`
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:118:11
|
LL | while x = let 0 = 0 {}
| ^^^^^^^^^^^^^ expected `bool`, found `()`
|
help: you might have meant to compare for equality
|
LL | while x == let 0 = 0 {}
| ~~
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:121:11
|
LL | while true..(let 0 = 0) {}
| ^^^^^^^^^^^^^^^^^ expected `bool`, found struct `std::ops::Range`
|
= note: expected type `bool`
found struct `std::ops::Range<bool>`
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:123:11
|
LL | while ..(let 0 = 0) {}
| ^^^^^^^^^^^^^ expected `bool`, found struct `RangeTo`
|
= note: expected type `bool`
found struct `RangeTo<bool>`
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:125:11
|
LL | while (let 0 = 0).. {}
| ^^^^^^^^^^^^^ expected `bool`, found struct `RangeFrom`
|
= note: expected type `bool`
found struct `RangeFrom<bool>`
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:129:15
|
LL | while let Range { start: _, end: _ } = true..true && false {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ ---- this expression has type `bool`
| |
| expected `bool`, found struct `std::ops::Range`
|
= note: expected type `bool`
found struct `std::ops::Range<_>`
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:129:11
|
LL | while let Range { start: _, end: _ } = true..true && false {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `bool`, found struct `std::ops::Range`
|
= note: expected type `bool`
found struct `std::ops::Range<bool>`
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:133:15
|
LL | while let Range { start: _, end: _ } = true..true || false {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ ---- this expression has type `bool`
| |
| expected `bool`, found struct `std::ops::Range`
|
= note: expected type `bool`
found struct `std::ops::Range<_>`
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:133:11
|
LL | while let Range { start: _, end: _ } = true..true || false {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `bool`, found struct `std::ops::Range`
|
= note: expected type `bool`
found struct `std::ops::Range<bool>`
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:140:15
|
LL | while let Range { start: F, end } = F..|| true {}
| ^^^^^^^^^^^^^^^^^^^^^^^ expected fn pointer, found struct `std::ops::Range`
|
= note: expected fn pointer `fn() -> bool`
found struct `std::ops::Range<_>`
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:140:44
|
LL | while let Range { start: F, end } = F..|| true {}
| ^^^^^^^ expected `bool`, found closure
|
= note: expected type `bool`
found closure `[closure@$DIR/disallowed-positions.rs:140:44: 140:51]`
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:140:11
|
LL | while let Range { start: F, end } = F..|| true {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `bool`, found struct `std::ops::Range`
|
= note: expected type `bool`
found struct `std::ops::Range<bool>`
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:148:15
|
LL | while let Range { start: true, end } = t..&&false {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ - this expression has type `&&bool`
| |
| expected `bool`, found struct `std::ops::Range`
|
= note: expected type `bool`
found struct `std::ops::Range<_>`
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:148:47
|
LL | while let Range { start: true, end } = t..&&false {}
| ^^^^^^^ expected `bool`, found `&&bool`
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:148:11
|
LL | while let Range { start: true, end } = t..&&false {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `bool`, found struct `std::ops::Range`
|
= note: expected type `bool`
found struct `std::ops::Range<bool>`
error[E0277]: the `?` operator can only be applied to values that implement `Try`
--> $DIR/disallowed-positions.rs:104:23
|
LL | while let 0 = 0? {}
| ^^ the `?` operator cannot be applied to type `{integer}`
|
= help: the trait `Try` is not implemented for `{integer}`
error[E0614]: type `bool` cannot be dereferenced
--> $DIR/disallowed-positions.rs:171:5
|
LL | *let 0 = 0;
| ^^^^^^^^^^
error[E0600]: cannot apply unary operator `-` to type `bool`
--> $DIR/disallowed-positions.rs:173:5
|
LL | -let 0 = 0;
| ^^^^^^^^^^ cannot apply unary operator `-`
error[E0277]: the `?` operator can only be applied to values that implement `Try`
--> $DIR/disallowed-positions.rs:181:5
|
LL | (let 0 = 0)?;
| ^^^^^^^^^^^^ the `?` operator cannot be applied to type `bool`
|
= help: the trait `Try` is not implemented for `bool`
error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
--> $DIR/disallowed-positions.rs:181:16
|
LL | / fn outside_if_and_while_expr() {
LL | | &let 0 = 0;
LL | |
LL | | !let 0 = 0;
... |
LL | | (let 0 = 0)?;
| | ^ cannot use the `?` operator in a function that returns `()`
... |
LL | |
LL | | }
| |_- this function should return `Result` or `Option` to accept `?`
|
= help: the trait `FromResidual<_>` is not implemented for `()`
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:196:10
|
LL | (let Range { start: _, end: _ } = true..true || false);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ ---- this expression has type `bool`
| |
| expected `bool`, found struct `std::ops::Range`
|
= note: expected type `bool`
found struct `std::ops::Range<_>`
error[E0308]: mismatched types
--> $DIR/disallowed-positions.rs:204:5
|
LL | fn outside_if_and_while_expr() {
| - help: try adding a return type: `-> &bool`
...
LL | &let 0 = 0
| ^^^^^^^^^^ expected `()`, found `&bool`
error[E0277]: the `?` operator can only be applied to values that implement `Try`
--> $DIR/disallowed-positions.rs:177:17
|
LL | let 0 = 0?;
| ^^ the `?` operator cannot be applied to type `{integer}`
|
= help: the trait `Try` is not implemented for `{integer}`
error: aborting due to 103 previous errors; 1 warning emitted
2020-05-21 19:49:38 +00:00
Some errors have detailed explanations: E0277, E0308, E0600, E0614.
For more information about an error, try `rustc --explain E0277`.