From 9ad04b9960ed125d450fbf49f3c4c21702ab36ae Mon Sep 17 00:00:00 2001 From: varkor Date: Thu, 7 Feb 2019 14:58:31 +0100 Subject: Add warning for a parameter list with an attribute but no parameters --- src/libsyntax/parse/parser.rs | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) (limited to 'src/libsyntax/parse') diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 7640f0bdf06..d9195ebe312 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -5545,13 +5545,25 @@ impl<'a> Parser<'a> { params.push(self.parse_ty_param(attrs)?); } else { // Check for trailing attributes and stop parsing. - if !attrs.is_empty() && !params.is_empty() { - self.struct_span_err( - attrs[0].span, - &format!("trailing attribute after generic parameter"), - ) - .span_label(attrs[0].span, "attributes must go before parameters") - .emit(); + if !attrs.is_empty() { + if !params.is_empty() { + self.struct_span_err( + attrs[0].span, + &format!("trailing attribute after generic parameter"), + ) + .span_label(attrs[0].span, "attributes must go before parameters") + .emit(); + } else { + self.struct_span_err( + attrs[0].span, + &format!("attribute without generic parameters"), + ) + .span_label( + attrs[0].span, + "attributes are only permitted when preceding parameters", + ) + .emit(); + } } break } -- cgit 1.4.1-3-g733a5