Skip to content

Commit

Permalink
Cleanup code after review fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
VirrageS committed Nov 23, 2019
1 parent 0e660d8 commit bbd0d9b
Showing 1 changed file with 11 additions and 14 deletions.
25 changes: 11 additions & 14 deletions src/librustc_parse/parser/item.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1752,25 +1752,22 @@ impl<'a> Parser<'a> {
fn recover_nested_adt_item(&mut self, keyword: Symbol) -> PResult<'a, bool> {
if self.token.is_keyword(kw::Enum) ||
self.token.is_keyword(kw::Struct) ||
self.token.is_keyword(kw::Union) {

let prev_token = self.token.clone();
self.token.is_keyword(kw::Union)
{
let kw_token = self.token.clone();
let kw_str = pprust::token_to_string(&kw_token);
let item = self.parse_item()?;
if self.token == token::Comma {
self.bump();
}
self.eat(&token::Comma);

let mut err = self.struct_span_err(
prev_token.span,
&format!("`{}` definition cannot be nested inside `{}`", pprust::token_to_string(&prev_token), keyword),
);
err.span_suggestion(
self.struct_span_err(
kw_token.span,
&format!("`{}` definition cannot be nested inside `{}`", kw_str, keyword),
).span_suggestion(
item.unwrap().span,
&format!("consider creating a new `{}` definition instead of nesting", pprust::token_to_string(&prev_token)),
&format!("consider creating a new `{}` definition instead of nesting", kw_str),
String::new(),
Applicability::MaybeIncorrect,
);
err.emit();
).emit();
// We successfully parsed the item but we must inform the caller about nested problem.
return Ok(false)
}
Expand Down

0 comments on commit bbd0d9b

Please sign in to comment.