Skip to content

Commit

Permalink
Auto merge of #28825 - iwillspeak:master, r=alexcrichton
Browse files Browse the repository at this point in the history
`--explain` support for E0163 and E0164.

Part of #24407
  • Loading branch information
bors committed Oct 4, 2015
2 parents 7f4665c + 7996563 commit 380d767
Showing 1 changed file with 52 additions and 2 deletions.
54 changes: 52 additions & 2 deletions src/librustc_typeck/diagnostics.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1779,6 +1779,58 @@ fn(isize, *const *const u8) -> isize;
```
"##,

E0163: r##"
This error means that an attempt was made to match an enum variant as a
struct type when the variant isn't a struct type:
```
enum Foo { B(u32) }
fn bar(foo: Foo) -> u32 {
match foo {
Foo::B{i} => i // error 0163
}
}
```
Try using `()` instead:
```
fn bar(foo: Foo) -> u32 {
match foo {
Foo::B(i) => i
}
}
```
"##,

E0164: r##"
This error means that an attempt was made to match a struct type enum
variant as a non-struct type:
```
enum Foo { B{ i: u32 } }
fn bar(foo: Foo) -> u32 {
match foo {
Foo::B(i) => i // error 0164
}
}
```
Try using `{}` isntead:
```
fn bar(foo: Foo) -> u32 {
match foo {
Foo::B{i} => i
}
}
```
"##,


E0166: r##"
This error means that the compiler found a return expression in a function
marked as diverging. A function diverges if it has `!` in the place of the
Expand Down Expand Up @@ -3293,8 +3345,6 @@ register_diagnostics! {
// E0129,
// E0141,
// E0159, // use of trait `{}` as struct constructor
E0163,
E0164,
E0167,
// E0168,
// E0173, // manual implementations of unboxed closure traits are experimental
Expand Down

0 comments on commit 380d767

Please sign in to comment.