Clearer error messages when parser encounters an outer attribute when parsing inner attributes. #34516
Labels
A-parser
Area: The parsing of Rust source code to an AST
E-easy
Call for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.
E-help-wanted
Call for participation: Help is requested to fix this issue.
Consider this example:
Produces:
It's quite impossible to understand what's going on if you don't know that
/** */
is an outer attribute. Unfortunately after looking at the parser a bit it's not obvious what to do to make this situation clearer. Possiblyparse_outer_attributes
should emit a new error if its call to toparse_attribute
fails. It can look at whether it has a previously-parsed attribute, and whether it was a doc comment, and emit better errors, e.g.For non-doc comments: "inner attributes may not follow outer attributes"; for doc comments: "inner attributes may not follow outer doc-comments". A good comparison to draw is with the existing error in
parser_outer_attributes
when it encounters a incorrect inner doc comment. The errors should be similar for incorrect inner attributes vs. incorrect inner doc comments.Original issue.
The text was updated successfully, but these errors were encountered: