1
Fork 0

Auto merge of #102896 - matthiaskrgr:rollup-jg5xawz, r=matthiaskrgr

Rollup of 6 pull requests

Successful merges:

 - #101360 (Point out incompatible closure bounds)
 - #101789 (`let`'s not needed in struct field definitions)
 - #102846 (update to syn-1.0.102)
 - #102871 (rustdoc: clean up overly complex `.trait-impl` CSS selectors)
 - #102876 (suggest candidates for unresolved import)
 - #102888 (Improve rustdoc-gui search-color test)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
This commit is contained in:
bors 2022-10-11 00:36:26 +00:00
commit 518263d889
23 changed files with 514 additions and 719 deletions

View file

@ -1788,7 +1788,23 @@ impl<'a> Parser<'a> {
}
}
} else {
self.expected_ident_found()
let mut err = self.expected_ident_found();
if let Some((ident, _)) = self.token.ident() && ident.as_str() == "let" {
self.bump(); // `let`
let span = self.prev_token.span.until(self.token.span);
err.span_suggestion(
span,
"remove the let, the `let` keyword is not allowed in struct field definitions",
String::new(),
Applicability::MachineApplicable,
);
err.note("the `let` keyword is not allowed in `struct` fields");
err.note("see <https://doc.rust-lang.org/book/ch05-01-defining-structs.html> for more information");
err.emit();
self.bump();
return Ok(ident);
}
err
};
return Err(err);
}