Add E0642 to parser error

This commit is contained in:
varkor 2018-08-10 01:49:45 +01:00
parent e4c3b49fe7
commit 49e9c5fe90
2 changed files with 9 additions and 5 deletions

View File

@ -44,7 +44,7 @@ use ast::{RangeEnd, RangeSyntax};
use {ast, attr};
use codemap::{self, CodeMap, Spanned, respan};
use syntax_pos::{self, Span, MultiSpan, BytePos, FileName, edition::Edition};
use errors::{self, Applicability, DiagnosticBuilder};
use errors::{self, Applicability, DiagnosticBuilder, DiagnosticId};
use parse::{self, SeqSep, classify, token};
use parse::lexer::TokenAndSpan;
use parse::lexer::comments::{doc_comment_style, strip_doc_comment_decoration};
@ -1775,8 +1775,11 @@ impl<'a> Parser<'a> {
match pat_arg {
Ok((pat, ty)) => {
let mut err = self.diagnostic()
.struct_span_err(pat.span, "patterns aren't allowed in trait methods");
let mut err = self.diagnostic().struct_span_err_with_code(
pat.span,
"patterns aren't allowed in trait methods",
DiagnosticId::Error("E0642".into()),
);
err.span_suggestion_short_with_applicability(
pat.span,
"give this argument a name or use an underscore to ignore it",

View File

@ -1,4 +1,4 @@
error: patterns aren't allowed in trait methods
error[E0642]: patterns aren't allowed in trait methods
--> $DIR/E0642.rs:12:12
|
LL | fn foo((x, y): (i32, i32)); //~ ERROR patterns aren't allowed in trait methods
@ -8,7 +8,7 @@ help: give this argument a name or use an underscore to ignore it
LL | fn foo(_: (i32, i32)); //~ ERROR patterns aren't allowed in trait methods
| ^
error: patterns aren't allowed in trait methods
error[E0642]: patterns aren't allowed in trait methods
--> $DIR/E0642.rs:16:12
|
LL | fn bar((x, y): (i32, i32)) {} //~ ERROR patterns aren't allowed in trait methods
@ -20,3 +20,4 @@ LL | fn bar(_: (i32, i32)) {} //~ ERROR patterns aren't allowed in trait met
error: aborting due to 2 previous errors
For more information about this error, try `rustc --explain E0642`.