1
1
use proc_macro2:: TokenStream ;
2
2
use quote:: quote;
3
- use quote:: TokenStreamExt ;
4
3
5
4
use crate :: input:: { Input , TokenStreamIterator } ;
6
5
use crate :: names;
@@ -80,7 +79,7 @@ pub fn derive(input: &Input) -> TokenStream {
80
79
}
81
80
} ) . expect ( "should be Some" ) ;
82
81
83
- let mut generated = quote ! {
82
+ let generated = quote ! {
84
83
/// Iterator over
85
84
#[ doc = #doc_url]
86
85
#[ allow( missing_debug_implementations) ]
@@ -134,14 +133,14 @@ pub fn derive(input: &Input) -> TokenStream {
134
133
/// Get an iterator over the
135
134
#[ doc = #ref_doc_url]
136
135
/// in this slice.
137
- pub fn iter( & self ) -> <#name as :: soa_derive :: SoAIter > :: Iter {
136
+ pub fn iter( & self ) -> #iter_name {
138
137
#iter_name( #create_iter)
139
138
}
140
139
141
140
/// Get an iterator over the
142
141
#[ doc = #ref_doc_url]
143
142
/// in this slice.
144
- pub fn into_iter( self ) -> <#name as :: soa_derive :: SoAIter <' a>> :: Iter {
143
+ pub fn into_iter( self ) -> #iter_name <' a> {
145
144
#iter_name( #create_into_iter)
146
145
}
147
146
}
@@ -189,7 +188,7 @@ pub fn derive(input: &Input) -> TokenStream {
189
188
/// Get a mutable iterator over the
190
189
#[ doc = #ref_mut_doc_url]
191
190
/// in this vector
192
- pub fn iter_mut( & mut self ) -> <#name as :: soa_derive :: SoAIter > :: IterMut {
191
+ pub fn iter_mut( & mut self ) -> #iter_mut_name {
193
192
self . as_mut_slice( ) . into_iter( )
194
193
}
195
194
}
@@ -198,21 +197,21 @@ pub fn derive(input: &Input) -> TokenStream {
198
197
/// Get an iterator over the
199
198
#[ doc = #ref_doc_url]
200
199
/// in this vector
201
- pub fn iter( & mut self ) -> <#name as :: soa_derive :: SoAIter > :: Iter {
200
+ pub fn iter( & mut self ) -> #iter_name {
202
201
self . as_ref( ) . into_iter( )
203
202
}
204
203
205
204
/// Get a mutable iterator over the
206
205
#[ doc = #ref_mut_doc_url]
207
206
/// in this vector
208
- pub fn iter_mut( & mut self ) -> <#name as :: soa_derive :: SoAIter > :: IterMut {
207
+ pub fn iter_mut( & mut self ) -> #iter_mut_name {
209
208
#iter_mut_name( #create_iter_mut)
210
209
}
211
210
212
211
/// Get a mutable iterator over the
213
212
#[ doc = #ref_mut_doc_url]
214
213
/// in this vector
215
- pub fn into_iter( self ) -> <#name as :: soa_derive :: SoAIter <' a>> :: IterMut {
214
+ pub fn into_iter( self ) -> #iter_mut_name <' a> {
216
215
#iter_mut_name( #create_mut_into_iter)
217
216
}
218
217
}
@@ -297,15 +296,9 @@ pub fn derive(input: &Input) -> TokenStream {
297
296
self . extend( iter. into_iter( ) . map( |item| item. to_owned( ) ) )
298
297
}
299
298
}
300
- } ;
301
-
302
- {
303
- generated. append_all ( quote ! {
304
299
305
- impl <' a> :: soa_derive:: IntoSoAIter <' a, #name> for #slice_name<' a> { }
306
-
307
- } )
308
- }
300
+ impl <' a> :: soa_derive:: IntoSoAIter <' a, #name> for #slice_name<' a> { }
301
+ } ;
309
302
310
303
return generated;
311
304
}
0 commit comments