aboutsummaryrefslogtreecommitdiff
path: root/src/wrapper.rs
diff options
context:
space:
mode:
authorDavid Tolnay <dtolnay@gmail.com>2019-07-19 11:48:00 -0700
committerDavid Tolnay <dtolnay@gmail.com>2019-07-19 11:48:00 -0700
commit8418d429976214e7da982f55bee5a140b1641555 (patch)
tree1db3abafb5371421b1b3033f0c2e0f352c60a859 /src/wrapper.rs
parent1596a8cee76c9e63c11210257deed79f34dd7c3d (diff)
downloadproc-macro2-8418d429976214e7da982f55bee5a140b1641555.tar.gz
Remove slow_extend codepath
Diffstat (limited to 'src/wrapper.rs')
-rw-r--r--src/wrapper.rs37
1 files changed, 5 insertions, 32 deletions
diff --git a/src/wrapper.rs b/src/wrapper.rs
index 695fef1..36b75eb 100644
--- a/src/wrapper.rs
+++ b/src/wrapper.rs
@@ -200,17 +200,6 @@ impl iter::FromIterator<TokenStream> for TokenStream {
fn from_iter<I: IntoIterator<Item = TokenStream>>(streams: I) -> Self {
let mut streams = streams.into_iter();
match streams.next() {
- #[cfg(slow_extend)]
- Some(TokenStream::Compiler(first)) => {
- let stream = iter::once(first)
- .chain(streams.map(|s| match s {
- TokenStream::Compiler(s) => s,
- TokenStream::Fallback(_) => mismatch(),
- }))
- .collect();
- TokenStream::Compiler(stream)
- }
- #[cfg(not(slow_extend))]
Some(TokenStream::Compiler(mut first)) => {
first.extend(streams.map(|s| match s {
TokenStream::Compiler(s) => s,
@@ -234,27 +223,11 @@ impl Extend<TokenTree> for TokenStream {
fn extend<I: IntoIterator<Item = TokenTree>>(&mut self, streams: I) {
match self {
TokenStream::Compiler(tts) => {
- #[cfg(not(slow_extend))]
- {
- tts.extend(
- streams
- .into_iter()
- .map(|t| TokenStream::from(t).unwrap_nightly()),
- );
- }
- #[cfg(slow_extend)]
- {
- *tts =
- tts.clone()
- .into_iter()
- .chain(streams.into_iter().map(TokenStream::from).flat_map(
- |t| match t {
- TokenStream::Compiler(tts) => tts.into_iter(),
- _ => mismatch(),
- },
- ))
- .collect();
- }
+ tts.extend(
+ streams
+ .into_iter()
+ .map(|t| TokenStream::from(t).unwrap_nightly()),
+ );
}
TokenStream::Fallback(tts) => tts.extend(streams),
}