diff options
| author | Nicholas Nethercote <n.nethercote@gmail.com> | 2024-07-10 14:51:41 +1000 |
|---|---|---|
| committer | Nicholas Nethercote <n.nethercote@gmail.com> | 2024-07-10 14:51:41 +1000 |
| commit | fee152556fda2260a17fa24cea21d18b57c8460d (patch) | |
| tree | 941096aa66c3942d40c74a23a067564e23f0ce11 /compiler/rustc_ast/src/tokenstream.rs | |
| parent | 8a390bae06dbb5686b581797b8f46cb0353dc255 (diff) | |
| download | rust-fee152556fda2260a17fa24cea21d18b57c8460d.tar.gz rust-fee152556fda2260a17fa24cea21d18b57c8460d.zip | |
Rework `Attribute::get_tokens`.
Returning `Vec<TokenTree>` works better for the call sites than returning `TokenStream`.
Diffstat (limited to 'compiler/rustc_ast/src/tokenstream.rs')
| -rw-r--r-- | compiler/rustc_ast/src/tokenstream.rs | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/compiler/rustc_ast/src/tokenstream.rs b/compiler/rustc_ast/src/tokenstream.rs index ee068f19332..1f2adde2570 100644 --- a/compiler/rustc_ast/src/tokenstream.rs +++ b/compiler/rustc_ast/src/tokenstream.rs @@ -225,11 +225,12 @@ impl AttrTokenStream { // properly implemented - we always synthesize fake tokens, // so we never reach this code. - let mut stream = TokenStream::default(); + let mut tts = vec![]; for inner_attr in inner_attrs { - stream.push_stream(inner_attr.get_tokens()); + tts.extend(inner_attr.token_trees()); } - stream.push_stream(delim_tokens.clone()); + tts.extend(delim_tokens.0.iter().cloned()); + let stream = TokenStream::new(tts); *tree = TokenTree::Delimited(*span, *spacing, *delim, stream); found = true; break; @@ -242,7 +243,7 @@ impl AttrTokenStream { ); } for attr in outer_attrs { - res.extend(attr.get_tokens().0.iter().cloned()); + res.extend(attr.token_trees()); } res.extend(target_tokens); } |
