rust/tests/ui/const-generics/bad-const-generic-exprs.stderr
Esteban Küber bde2dfb127 Detect more cases of = to : typo
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.
2024-03-01 02:03:00 +00:00

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