diff options
| author | bors <bors@rust-lang.org> | 2018-12-10 03:33:17 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2018-12-10 03:33:17 +0000 |
| commit | 286dc37d1bd30ecd419e889c7f3888575deac5fc (patch) | |
| tree | c74b9aef95c350e3fecba10d7e679d35c64312b7 /src/libsyntax_ext | |
| parent | e2c329c72c3d764423c3909c7483cf2fd6659626 (diff) | |
| parent | 1fe2c0324006165b0c39ece0ccd7509e19583054 (diff) | |
| download | rust-286dc37d1bd30ecd419e889c7f3888575deac5fc.tar.gz rust-286dc37d1bd30ecd419e889c7f3888575deac5fc.zip | |
Auto merge of #56369 - nnethercote:rm-Delimited, r=petrochenkov
Remove `tokenstream::Delimited`. Because it's an extra type layer that doesn't really help; in a couple of places it actively gets in the way, and overall removing it makes the code nicer. It does, however, move `tokenstream::TokenTree` further away from the `TokenTree` in `quote.rs`. More importantly, this change reduces the size of `TokenStream` from 48 bytes to 40 bytes on x86-64, which is enough to slightly reduce instruction counts on numerous benchmarks, the best by 1.5%. Note that `open_tt` and `close_tt` have gone from being methods on `Delimited` to associated methods of `TokenTree`.
Diffstat (limited to 'src/libsyntax_ext')
| -rw-r--r-- | src/libsyntax_ext/proc_macro_server.rs | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/libsyntax_ext/proc_macro_server.rs b/src/libsyntax_ext/proc_macro_server.rs index 6c7da589a42..a04d6c92b78 100644 --- a/src/libsyntax_ext/proc_macro_server.rs +++ b/src/libsyntax_ext/proc_macro_server.rs @@ -64,11 +64,11 @@ impl FromInternal<(TokenStream, &'_ ParseSess, &'_ mut Vec<Self>)> let (tree, joint) = stream.as_tree(); let (span, token) = match tree { - tokenstream::TokenTree::Delimited(span, delimed) => { - let delimiter = Delimiter::from_internal(delimed.delim); + tokenstream::TokenTree::Delimited(span, delim, tts) => { + let delimiter = Delimiter::from_internal(delim); return TokenTree::Group(Group { delimiter, - stream: delimed.tts.into(), + stream: tts.into(), span, }); } @@ -232,10 +232,8 @@ impl ToInternal<TokenStream> for TokenTree<Group, Punct, Ident, Literal> { }) => { return tokenstream::TokenTree::Delimited( span, - tokenstream::Delimited { - delim: delimiter.to_internal(), - tts: stream.into(), - }, + delimiter.to_internal(), + stream.into(), ) .into(); } |
