Skip to content

Commit

Permalink
Un-remove E0001, put a notice on it instead
Browse files Browse the repository at this point in the history
  • Loading branch information
canndrew committed Jan 5, 2017
1 parent 70b7bd9 commit 291c84a
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 2 deletions.
27 changes: 27 additions & 0 deletions src/librustc_const_eval/diagnostics.rs
Expand Up @@ -15,6 +15,33 @@
// In vim you can `:set tw=80` and use `gq` to wrap paragraphs. Use `:set tw=0` to disable.
register_long_diagnostics! {

E0001: r##"
## Note: this error code is no longer emitted by the compiler.
This error suggests that the expression arm corresponding to the noted pattern
will never be reached as for all possible values of the expression being
matched, one of the preceding patterns will match.
This means that perhaps some of the preceding patterns are too general, this
one is too specific or the ordering is incorrect.
For example, the following `match` block has too many arms:
```compile_fail,E0001
match Some(0) {
Some(bar) => {/* ... */}
x => {/* ... */} // This handles the `None` case
_ => {/* ... */} // All possible cases have already been handled
}
```
`match` blocks have their patterns matched in order, so, for example, putting
a wildcard arm above a more specific arm will make the latter arm irrelevant.
Ensure the ordering of the match arm is correct and remove any superfluous
arms.
"##,

E0002: r##"
## Note: this error code is no longer emitted by the compiler.
Expand Down
4 changes: 2 additions & 2 deletions src/test/compile-fail/feature-gate-rustc-diagnostic-macros.rs
Expand Up @@ -11,11 +11,11 @@
// Test that diagnostic macros are gated by `rustc_diagnostic_macros` feature
// gate

__register_diagnostic!(E0002);
__register_diagnostic!(E0001);
//~^ ERROR macro undefined: '__register_diagnostic!'

fn main() {
__diagnostic_used!(E0002);
__diagnostic_used!(E0001);
//~^ ERROR macro undefined: '__diagnostic_used!'
}

Expand Down

0 comments on commit 291c84a

Please sign in to comment.