bde2dfb127
When a `Local` is fully parsed, but not followed by a `;`, keep the `:` span arround and mention it. If the type could continue being parsed as an expression, suggest replacing the `:` with a `=`. ``` error: expected one of `!`, `+`, `->`, `::`, `;`, or `=`, found `.` --> file.rs:2:32 | 2 | let _: std::env::temp_dir().join("foo"); | - ^ expected one of `!`, `+`, `->`, `::`, `;`, or `=` | | | while parsing the type for `_` | help: use `=` if you meant to assign ``` Fix #119665.
160 lines
4.4 KiB
Plaintext
160 lines
4.4 KiB
Plaintext
error: invalid const generic expression
|
|
--> $DIR/bad-const-generic-exprs.rs:4:16
|
|
|
|
|
LL | let _: Wow<if true {}>;
|
|
| ^^^^^^^^^^
|
|
|
|
|
help: expressions must be enclosed in braces to be used as const generic arguments
|
|
|
|
|
LL | let _: Wow<{ if true {} }>;
|
|
| + +
|
|
|
|
error: invalid const generic expression
|
|
--> $DIR/bad-const-generic-exprs.rs:7:16
|
|
|
|
|
LL | let _: Wow<|| ()>;
|
|
| ^^^^^
|
|
|
|
|
help: expressions must be enclosed in braces to be used as const generic arguments
|
|
|
|
|
LL | let _: Wow<{ || () }>;
|
|
| + +
|
|
|
|
error: expected one of `,` or `>`, found `.`
|
|
--> $DIR/bad-const-generic-exprs.rs:10:17
|
|
|
|
|
LL | let _: Wow<A.b>;
|
|
| ^ expected one of `,` or `>`
|
|
|
|
|
help: expressions must be enclosed in braces to be used as const generic arguments
|
|
|
|
|
LL | let _: Wow<{ A.b }>;
|
|
| + +
|
|
|
|
error: expected one of `,` or `>`, found `.`
|
|
--> $DIR/bad-const-generic-exprs.rs:13:17
|
|
|
|
|
LL | let _: Wow<A.0>;
|
|
| ^ expected one of `,` or `>`
|
|
|
|
|
help: expressions must be enclosed in braces to be used as const generic arguments
|
|
|
|
|
LL | let _: Wow<{ A.0 }>;
|
|
| + +
|
|
|
|
error: expected type, found `]`
|
|
--> $DIR/bad-const-generic-exprs.rs:16:17
|
|
|
|
|
LL | let _: Wow<[]>;
|
|
| ^ expected type
|
|
|
|
|
help: expressions must be enclosed in braces to be used as const generic arguments
|
|
|
|
|
LL | let _: Wow<{ [] }>;
|
|
| + +
|
|
|
|
error: expected type, found `12`
|
|
--> $DIR/bad-const-generic-exprs.rs:19:17
|
|
|
|
|
LL | let _: Wow<[12]>;
|
|
| ^^ expected type
|
|
|
|
error: invalid const generic expression
|
|
--> $DIR/bad-const-generic-exprs.rs:19:16
|
|
|
|
|
LL | let _: Wow<[12]>;
|
|
| ^^^^
|
|
|
|
|
help: expressions must be enclosed in braces to be used as const generic arguments
|
|
|
|
|
LL | let _: Wow<{ [12] }>;
|
|
| + +
|
|
|
|
error: expected type, found `0`
|
|
--> $DIR/bad-const-generic-exprs.rs:23:17
|
|
|
|
|
LL | let _: Wow<[0, 1, 3]>;
|
|
| ^ expected type
|
|
|
|
|
help: expressions must be enclosed in braces to be used as const generic arguments
|
|
|
|
|
LL | let _: Wow<{ [0, 1, 3] }>;
|
|
| + +
|
|
|
|
error: expected type, found `0xff`
|
|
--> $DIR/bad-const-generic-exprs.rs:26:17
|
|
|
|
|
LL | let _: Wow<[0xff; 8]>;
|
|
| ^^^^ expected type
|
|
|
|
error: invalid const generic expression
|
|
--> $DIR/bad-const-generic-exprs.rs:26:16
|
|
|
|
|
LL | let _: Wow<[0xff; 8]>;
|
|
| ^^^^^^^^^
|
|
|
|
|
help: expressions must be enclosed in braces to be used as const generic arguments
|
|
|
|
|
LL | let _: Wow<{ [0xff; 8] }>;
|
|
| + +
|
|
|
|
error: expected type, found `1`
|
|
--> $DIR/bad-const-generic-exprs.rs:30:17
|
|
|
|
|
LL | let _: Wow<[1, 2]>; // Regression test for issue #81698.
|
|
| ^ expected type
|
|
|
|
|
help: expressions must be enclosed in braces to be used as const generic arguments
|
|
|
|
|
LL | let _: Wow<{ [1, 2] }>; // Regression test for issue #81698.
|
|
| + +
|
|
|
|
error: expected type, found `0`
|
|
--> $DIR/bad-const-generic-exprs.rs:33:17
|
|
|
|
|
LL | let _: Wow<&0>;
|
|
| ^ expected type
|
|
|
|
|
help: expressions must be enclosed in braces to be used as const generic arguments
|
|
|
|
|
LL | let _: Wow<{ &0 }>;
|
|
| + +
|
|
|
|
error: expected type, found `""`
|
|
--> $DIR/bad-const-generic-exprs.rs:36:17
|
|
|
|
|
LL | let _: Wow<("", 0)>;
|
|
| ^^ expected type
|
|
|
|
|
help: expressions must be enclosed in braces to be used as const generic arguments
|
|
|
|
|
LL | let _: Wow<{ ("", 0) }>;
|
|
| + +
|
|
|
|
error: expected type, found `1`
|
|
--> $DIR/bad-const-generic-exprs.rs:39:17
|
|
|
|
|
LL | let _: Wow<(1 + 2) * 3>;
|
|
| ^ expected type
|
|
|
|
|
help: expressions must be enclosed in braces to be used as const generic arguments
|
|
|
|
|
LL | let _: Wow<{ (1 + 2) * 3 }>;
|
|
| + +
|
|
|
|
error: expected one of `,` or `>`, found `0`
|
|
--> $DIR/bad-const-generic-exprs.rs:43:17
|
|
|
|
|
LL | let _: Wow<!0>;
|
|
| - ^ expected one of `,` or `>`
|
|
| |
|
|
| while parsing the type for `_`
|
|
|
|
|
help: you might have meant to end the type parameters here
|
|
|
|
|
LL | let _: Wow<!>0>;
|
|
| +
|
|
|
|
error: aborting due to 15 previous errors
|
|
|