diff --git a/src/unstable.rs b/src/unstable.rs index e024205a..1292edf5 100644 --- a/src/unstable.rs +++ b/src/unstable.rs @@ -160,18 +160,11 @@ impl Extend for TokenStream { fn extend>(&mut self, streams: I) { match self { TokenStream::Nightly(tts) => { - *tts = tts - .clone() - .into_iter() - .chain( - streams - .into_iter() - .map(TokenStream::from) - .flat_map(|t| match t { - TokenStream::Nightly(tts) => tts.into_iter(), - _ => panic!(), - }), - ).collect(); + tts.extend( + streams + .into_iter() + .map(|t| TokenStream::from(t).unwrap_nightly()), + ); } TokenStream::Stable(tts) => tts.extend(streams), }