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