@@ -116,7 +116,7 @@ impl CreateTokenStream for LazyTokenStreamImpl {
116
116
117
117
if !self . replace_ranges . is_empty ( ) {
118
118
let mut tokens: Vec < _ > = tokens. collect ( ) ;
119
- let mut replace_ranges = self . replace_ranges . clone ( ) ;
119
+ let mut replace_ranges = self . replace_ranges . to_vec ( ) ;
120
120
replace_ranges. sort_by_key ( |( range, _) | range. start ) ;
121
121
122
122
#[ cfg( debug_assertions) ]
@@ -146,7 +146,7 @@ impl CreateTokenStream for LazyTokenStreamImpl {
146
146
// start position, we ensure that any replace range which encloses
147
147
// another replace range will capture the *replaced* tokens for the inner
148
148
// range, not the original tokens.
149
- for ( range, new_tokens) in replace_ranges. iter ( ) . rev ( ) {
149
+ for ( range, new_tokens) in replace_ranges. into_iter ( ) . rev ( ) {
150
150
assert ! ( !range. is_empty( ) , "Cannot replace an empty range: {:?}" , range) ;
151
151
// Replace ranges are only allowed to decrease the number of tokens.
152
152
assert ! (
@@ -165,7 +165,7 @@ impl CreateTokenStream for LazyTokenStreamImpl {
165
165
166
166
tokens. splice (
167
167
( range. start as usize ) ..( range. end as usize ) ,
168
- new_tokens. clone ( ) . into_iter ( ) . chain ( filler) ,
168
+ new_tokens. into_iter ( ) . chain ( filler) ,
169
169
) ;
170
170
}
171
171
make_token_stream ( tokens. into_iter ( ) , self . break_last_token )
@@ -321,7 +321,7 @@ impl<'a> Parser<'a> {
321
321
self . capture_state . replace_ranges [ replace_ranges_start..replace_ranges_end]
322
322
. iter ( )
323
323
. cloned ( )
324
- . chain ( inner_attr_replace_ranges. clone ( ) . into_iter ( ) )
324
+ . chain ( inner_attr_replace_ranges. iter ( ) . cloned ( ) )
325
325
. map ( |( range, tokens) | {
326
326
( ( range. start - start_calls) ..( range. end - start_calls) , tokens)
327
327
} )
0 commit comments