@@ -205,15 +205,15 @@ macro_rules! array_impl_default {
205
205
array_impl_default ! { 32 , T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T }
206
206
207
207
macro_rules! array_impl_clone {
208
- { $n: expr, $t : ident $( $ts : ident ) * } => {
208
+ { $n: expr, $i : expr , $( $idx : expr , ) * } => {
209
209
#[ stable( feature = "rust1" , since = "1.0.0" ) ]
210
210
impl <T : Clone > Clone for [ T ; $n] {
211
211
fn clone( & self ) -> [ T ; $n] {
212
- let & [ ref $t , $( ref $ts ) ,* ] = self ;
213
- [ $t . clone( ) , $( $ts . clone( ) ) ,* ]
212
+ let temp = [ & self [ $i ] , $( & self [ $idx ] ) ,* ] ;
213
+ [ temp [ $i ] . clone( ) , $( temp [ $idx ] . clone( ) ) ,* ]
214
214
}
215
215
}
216
- array_impl_clone!{ ( $n - 1 ) , $( $ts ) * }
216
+ array_impl_clone!{ $i , $( $idx , ) * }
217
217
} ;
218
218
{ $n: expr, } => {
219
219
#[ stable( feature = "rust1" , since = "1.0.0" ) ]
@@ -225,9 +225,9 @@ macro_rules! array_impl_clone {
225
225
} ;
226
226
}
227
227
228
- array_impl_clone ! { 32 ,
229
- t00 t01 t02 t03 t04 t05 t06 t07 t08 t09
230
- t10 t11 t12 t13 t14 t15 t16 t17 t18 t19
231
- t20 t21 t22 t23 t24 t25 t26 t27 t28 t29
232
- t30 t31
228
+ array_impl_clone ! {
229
+ 32 , 31 , 30 ,
230
+ 29 , 28 , 27 , 26 , 25 , 24 , 23 , 22 , 21 , 20 ,
231
+ 19 , 18 , 17 , 16 , 15 , 14 , 13 , 12 , 11 , 10 ,
232
+ 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 , 0 ,
233
233
}
0 commit comments