d9ab4ff9a3
Remove blanket check for existence of other errors before emitting "type annotation needed" errors, and add some eager checks to avoid adding obligations when they refer to types that reference `[type error]` in order to reduce unneded errors.
196 lines
5.3 KiB
Plaintext
196 lines
5.3 KiB
Plaintext
error: `..` patterns are not allowed here
|
|
--> $DIR/rest-pat-semantic-disallowed.rs:10:13
|
|
|
|
|
LL | () => { .. }
|
|
| ^^
|
|
...
|
|
LL | let mk_pat!();
|
|
| --------- in this macro invocation
|
|
|
|
|
= note: only allowed in tuple, tuple struct, and slice patterns
|
|
|
|
error: `..` patterns are not allowed here
|
|
--> $DIR/rest-pat-semantic-disallowed.rs:18:9
|
|
|
|
|
LL | let ..;
|
|
| ^^
|
|
|
|
|
= note: only allowed in tuple, tuple struct, and slice patterns
|
|
|
|
error: `..` patterns are not allowed here
|
|
--> $DIR/rest-pat-semantic-disallowed.rs:21:13
|
|
|
|
|
LL | let box ..;
|
|
| ^^
|
|
|
|
|
= note: only allowed in tuple, tuple struct, and slice patterns
|
|
|
|
error: `..` patterns are not allowed here
|
|
--> $DIR/rest-pat-semantic-disallowed.rs:25:13
|
|
|
|
|
LL | 1 | .. => {}
|
|
| ^^
|
|
|
|
|
= note: only allowed in tuple, tuple struct, and slice patterns
|
|
|
|
error: `..` patterns are not allowed here
|
|
--> $DIR/rest-pat-semantic-disallowed.rs:29:10
|
|
|
|
|
LL | let &..;
|
|
| ^^
|
|
|
|
|
= note: only allowed in tuple, tuple struct, and slice patterns
|
|
|
|
error: `..` patterns are not allowed here
|
|
--> $DIR/rest-pat-semantic-disallowed.rs:30:14
|
|
|
|
|
LL | let &mut ..;
|
|
| ^^
|
|
|
|
|
= note: only allowed in tuple, tuple struct, and slice patterns
|
|
|
|
error: `..` patterns are not allowed here
|
|
--> $DIR/rest-pat-semantic-disallowed.rs:33:13
|
|
|
|
|
LL | let x @ ..;
|
|
| ^^
|
|
|
|
|
= note: only allowed in tuple, tuple struct, and slice patterns
|
|
|
|
error: `..` patterns are not allowed here
|
|
--> $DIR/rest-pat-semantic-disallowed.rs:35:17
|
|
|
|
|
LL | let ref x @ ..;
|
|
| ^^
|
|
|
|
|
= note: only allowed in tuple, tuple struct, and slice patterns
|
|
|
|
error: `..` patterns are not allowed here
|
|
--> $DIR/rest-pat-semantic-disallowed.rs:36:21
|
|
|
|
|
LL | let ref mut x @ ..;
|
|
| ^^
|
|
|
|
|
= note: only allowed in tuple, tuple struct, and slice patterns
|
|
|
|
error: `..` can only be used once per tuple pattern
|
|
--> $DIR/rest-pat-semantic-disallowed.rs:43:9
|
|
|
|
|
LL | ..,
|
|
| -- previously used here
|
|
LL | ..,
|
|
| ^^ can only be used once per tuple pattern
|
|
|
|
error: `..` can only be used once per tuple pattern
|
|
--> $DIR/rest-pat-semantic-disallowed.rs:44:9
|
|
|
|
|
LL | ..,
|
|
| -- previously used here
|
|
LL | ..,
|
|
LL | ..
|
|
| ^^ can only be used once per tuple pattern
|
|
|
|
error: `..` can only be used once per tuple pattern
|
|
--> $DIR/rest-pat-semantic-disallowed.rs:49:9
|
|
|
|
|
LL | ..,
|
|
| -- previously used here
|
|
LL | x,
|
|
LL | ..
|
|
| ^^ can only be used once per tuple pattern
|
|
|
|
error: `..` can only be used once per tuple struct pattern
|
|
--> $DIR/rest-pat-semantic-disallowed.rs:59:9
|
|
|
|
|
LL | ..,
|
|
| -- previously used here
|
|
LL | ..,
|
|
| ^^ can only be used once per tuple struct pattern
|
|
|
|
error: `..` can only be used once per tuple struct pattern
|
|
--> $DIR/rest-pat-semantic-disallowed.rs:60:9
|
|
|
|
|
LL | ..,
|
|
| -- previously used here
|
|
LL | ..,
|
|
LL | ..
|
|
| ^^ can only be used once per tuple struct pattern
|
|
|
|
error: `..` can only be used once per tuple struct pattern
|
|
--> $DIR/rest-pat-semantic-disallowed.rs:65:9
|
|
|
|
|
LL | ..,
|
|
| -- previously used here
|
|
LL | x,
|
|
LL | ..
|
|
| ^^ can only be used once per tuple struct pattern
|
|
|
|
error: `..` can only be used once per slice pattern
|
|
--> $DIR/rest-pat-semantic-disallowed.rs:73:9
|
|
|
|
|
LL | ..,
|
|
| -- previously used here
|
|
LL | ..,
|
|
| ^^ can only be used once per slice pattern
|
|
|
|
error: `..` can only be used once per slice pattern
|
|
--> $DIR/rest-pat-semantic-disallowed.rs:74:9
|
|
|
|
|
LL | ..,
|
|
| -- previously used here
|
|
LL | ..,
|
|
LL | ..
|
|
| ^^ can only be used once per slice pattern
|
|
|
|
error: `..` can only be used once per slice pattern
|
|
--> $DIR/rest-pat-semantic-disallowed.rs:78:17
|
|
|
|
|
LL | ..,
|
|
| -- previously used here
|
|
LL | ref x @ ..,
|
|
| ^^ can only be used once per slice pattern
|
|
|
|
error: `..` can only be used once per slice pattern
|
|
--> $DIR/rest-pat-semantic-disallowed.rs:79:21
|
|
|
|
|
LL | ..,
|
|
| -- previously used here
|
|
LL | ref x @ ..,
|
|
LL | ref mut y @ ..,
|
|
| ^^ can only be used once per slice pattern
|
|
|
|
error: `..` patterns are not allowed here
|
|
--> $DIR/rest-pat-semantic-disallowed.rs:80:18
|
|
|
|
|
LL | (ref z @ ..),
|
|
| ^^
|
|
|
|
|
= note: only allowed in tuple, tuple struct, and slice patterns
|
|
|
|
error: `..` can only be used once per slice pattern
|
|
--> $DIR/rest-pat-semantic-disallowed.rs:81:9
|
|
|
|
|
LL | ..,
|
|
| -- previously used here
|
|
...
|
|
LL | ..
|
|
| ^^ can only be used once per slice pattern
|
|
|
|
error: `..` patterns are not allowed here
|
|
--> $DIR/rest-pat-semantic-disallowed.rs:17:12
|
|
|
|
|
LL | fn foo(..: u8) {}
|
|
| ^^
|
|
|
|
|
= note: only allowed in tuple, tuple struct, and slice patterns
|
|
|
|
error[E0282]: type annotations needed
|
|
--> $DIR/rest-pat-semantic-disallowed.rs:33:9
|
|
|
|
|
LL | let x @ ..;
|
|
| ^^^^^^ consider giving this pattern a type
|
|
|
|
error: aborting due to 23 previous errors
|
|
|
|
For more information about this error, try `rustc --explain E0282`.
|