Simplify attribute handling in parse_bottom_expr
.
`Parser::parse_bottom_expr` currently constructs an empty `attrs` and then passes it to a large number of other functions. This makes the code harder to read than it should be, because it's not clear that many `attrs` arguments are always empty. This commit removes `attrs` and the passing, simplifying a lot of functions. The commit also renames `Parser::mk_expr` (which takes an `attrs` argument) as `mk_expr_with_attrs`, and introduces a new `mk_expr` which creates an expression with no attributes, which is the more common case.
This commit is contained in:
parent
1e8497351d
commit
2ef0479568
6 changed files with 159 additions and 208 deletions
|
@ -652,12 +652,7 @@ impl<'a> Parser<'a> {
|
|||
pub(super) fn parse_const_arg(&mut self) -> PResult<'a, AnonConst> {
|
||||
// Parse const argument.
|
||||
let value = if let token::OpenDelim(Delimiter::Brace) = self.token.kind {
|
||||
self.parse_block_expr(
|
||||
None,
|
||||
self.token.span,
|
||||
BlockCheckMode::Default,
|
||||
ast::AttrVec::new(),
|
||||
)?
|
||||
self.parse_block_expr(None, self.token.span, BlockCheckMode::Default)?
|
||||
} else {
|
||||
self.handle_unambiguous_unbraced_const_arg()?
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue