diff options
| author | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2021-01-24 16:41:12 +0300 |
|---|---|---|
| committer | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2021-01-24 17:11:56 +0300 |
| commit | bd07165690481aaa4c99b9c3ab6e20fbebae8f54 (patch) | |
| tree | aeac2d99b9bdae79f1c90ddceb1a41b78ea94a2e /compiler/rustc_parse/src/parser | |
| parent | 72c7b7026742766998655eba95fca984046c0288 (diff) | |
| download | rust-bd07165690481aaa4c99b9c3ab6e20fbebae8f54.tar.gz rust-bd07165690481aaa4c99b9c3ab6e20fbebae8f54.zip | |
parser: Collect tokens for values in key-value attributes
Diffstat (limited to 'compiler/rustc_parse/src/parser')
| -rw-r--r-- | compiler/rustc_parse/src/parser/mod.rs | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/compiler/rustc_parse/src/parser/mod.rs b/compiler/rustc_parse/src/parser/mod.rs index f11c6591de9..c575c821964 100644 --- a/compiler/rustc_parse/src/parser/mod.rs +++ b/compiler/rustc_parse/src/parser/mod.rs @@ -980,12 +980,8 @@ impl<'a> Parser<'a> { } } - // The value here is never passed to macros as tokens by itself (not as a part - // of the whole attribute), so we don't collect tokens here. If this changes, - // then token will need to be collected. One catch here is that we are using - // a nonterminal for keeping the expression, but this nonterminal should not - // be wrapped into a group when converting to token stream. - let expr = self.parse_expr()?; + // Collect tokens because they are used during lowering to HIR. + let expr = self.collect_tokens(|this| this.parse_expr())?; let span = expr.span; match &expr.kind { |
