diff --git a/src/librustc_passes/ast_validation.rs b/src/librustc_passes/ast_validation.rs index 0ea90e745319..c75ae07fe661 100644 --- a/src/librustc_passes/ast_validation.rs +++ b/src/librustc_passes/ast_validation.rs @@ -344,8 +344,11 @@ impl<'a> Visitor<'a> for AstValidator<'a> { trait_item.id, span, "patterns aren't allowed in methods without bodies"); } else { - struct_span_err!(self.session, span, E0642, - "patterns aren't allowed in methods without bodies").emit(); + let mut err = struct_span_err!(self.session, span, E0642, + "patterns aren't allowed in methods without bodies"); + err.span_suggestion(span, + "use an underscore to ignore the name", "_".to_owned()); + err.emit(); } }); } diff --git a/src/test/ui/E0642.stderr b/src/test/ui/E0642.stderr index edc430d578ba..5291c016c7fa 100644 --- a/src/test/ui/E0642.stderr +++ b/src/test/ui/E0642.stderr @@ -2,7 +2,7 @@ error[E0642]: patterns aren't allowed in methods without bodies --> $DIR/E0642.rs:12:12 | LL | fn foo((x, y): (i32, i32)); //~ ERROR patterns aren't allowed in methods without bodies - | ^^^^^^ + | ^^^^^^ help: use an underscore to ignore the name: `_` error: aborting due to previous error