@@ -1752,25 +1752,22 @@ impl<'a> Parser<'a> {
17521752 fn recover_nested_adt_item ( & mut self , keyword : Symbol ) -> PResult < ' a , bool > {
17531753 if self . token . is_keyword ( kw:: Enum ) ||
17541754 self . token . is_keyword ( kw:: Struct ) ||
1755- self . token . is_keyword ( kw:: Union ) {
1756-
1757- let prev_token = self . token . clone ( ) ;
1755+ self . token . is_keyword ( kw:: Union )
1756+ {
1757+ let kw_token = self . token . clone ( ) ;
1758+ let kw_str = pprust:: token_to_string ( & kw_token) ;
17581759 let item = self . parse_item ( ) ?;
1759- if self . token == token:: Comma {
1760- self . bump ( ) ;
1761- }
1760+ self . eat ( & token:: Comma ) ;
17621761
1763- let mut err = self . struct_span_err (
1764- prev_token. span ,
1765- & format ! ( "`{}` definition cannot be nested inside `{}`" , pprust:: token_to_string( & prev_token) , keyword) ,
1766- ) ;
1767- err. span_suggestion (
1762+ self . struct_span_err (
1763+ kw_token. span ,
1764+ & format ! ( "`{}` definition cannot be nested inside `{}`" , kw_str, keyword) ,
1765+ ) . span_suggestion (
17681766 item. unwrap ( ) . span ,
1769- & format ! ( "consider creating a new `{}` definition instead of nesting" , pprust :: token_to_string ( & prev_token ) ) ,
1767+ & format ! ( "consider creating a new `{}` definition instead of nesting" , kw_str ) ,
17701768 String :: new ( ) ,
17711769 Applicability :: MaybeIncorrect ,
1772- ) ;
1773- err. emit ( ) ;
1770+ ) . emit ( ) ;
17741771 // We successfully parsed the item but we must inform the caller about nested problem.
17751772 return Ok ( false )
17761773 }
0 commit comments