Auto merge of #64455 - GuillaumeGomez:long-error-explanation-E0531, r=Centril
Add Long error explanation for E0531 Part of #61137.
This commit is contained in:
commit
18f00b9496
@ -1525,6 +1525,51 @@ match r {
|
||||
```
|
||||
"##,
|
||||
|
||||
E0531: r##"
|
||||
An unknown tuple struct/variant has been used.
|
||||
|
||||
Erroneous code example:
|
||||
|
||||
```compile_fail,E0531
|
||||
let Type(x) = Type(12); // error!
|
||||
match Bar(12) {
|
||||
Bar(x) => {} // error!
|
||||
_ => {}
|
||||
}
|
||||
```
|
||||
|
||||
In most cases, it's either a forgotten import or a typo. However, let's look at
|
||||
how you can have such a type:
|
||||
|
||||
```edition2018
|
||||
struct Type(u32); // this is a tuple struct
|
||||
|
||||
enum Foo {
|
||||
Bar(u32), // this is a tuple variant
|
||||
}
|
||||
|
||||
use Foo::*; // To use Foo's variant directly, we need to import them in
|
||||
// the scope.
|
||||
```
|
||||
|
||||
Either way, it should work fine with our previous code:
|
||||
|
||||
```edition2018
|
||||
struct Type(u32);
|
||||
|
||||
enum Foo {
|
||||
Bar(u32),
|
||||
}
|
||||
use Foo::*;
|
||||
|
||||
let Type(x) = Type(12); // ok!
|
||||
match Type(12) {
|
||||
Type(x) => {} // ok!
|
||||
_ => {}
|
||||
}
|
||||
```
|
||||
"##,
|
||||
|
||||
E0532: r##"
|
||||
Pattern arm did not match expected kind.
|
||||
|
||||
@ -1675,7 +1720,6 @@ fn const_id<T, const N: T>() -> T { // error: const parameter
|
||||
// E0419, merged into 531
|
||||
// E0420, merged into 532
|
||||
// E0421, merged into 531
|
||||
E0531, // unresolved pattern path kind `name`
|
||||
// E0427, merged into 530
|
||||
// E0467, removed
|
||||
// E0470, removed
|
||||
|
@ -6,3 +6,4 @@ LL | let a(1) = 13;
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0531`.
|
||||
|
@ -12,4 +12,5 @@ LL | x(1) => x(1)
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0425`.
|
||||
Some errors have detailed explanations: E0425, E0531.
|
||||
For more information about an error, try `rustc --explain E0425`.
|
||||
|
@ -6,3 +6,4 @@ LL | let Self = 22;
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0531`.
|
||||
|
@ -54,5 +54,5 @@ LL | method;
|
||||
|
||||
error: aborting due to 9 previous errors
|
||||
|
||||
Some errors have detailed explanations: E0412, E0425.
|
||||
Some errors have detailed explanations: E0412, E0425, E0531.
|
||||
For more information about an error, try `rustc --explain E0412`.
|
||||
|
@ -24,4 +24,5 @@ LL | Foo { x: Self } => (),
|
||||
|
||||
error: aborting due to 4 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0432`.
|
||||
Some errors have detailed explanations: E0432, E0531.
|
||||
For more information about an error, try `rustc --explain E0432`.
|
||||
|
@ -80,4 +80,5 @@ LL | struct Bar<'Self>;
|
||||
|
||||
error: aborting due to 12 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0392`.
|
||||
Some errors have detailed explanations: E0392, E0531.
|
||||
For more information about an error, try `rustc --explain E0392`.
|
||||
|
Loading…
Reference in New Issue
Block a user