@@ -283,13 +283,13 @@ impl Mul<BigUint, BigUint> for BigUint {
283283 if n == 1 { return copy * a; }
284284
285285 let mut carry = 0 ;
286- let prod = do vec :: map ( a. data ) |ai| {
286+ let prod = do a. data . iter ( ) . transform |ai| {
287287 let ( hi, lo) = BigDigit :: from_uint (
288288 ( * ai as uint ) * ( n as uint ) + ( carry as uint )
289289 ) ;
290290 carry = hi;
291291 lo
292- } ;
292+ } . collect :: < ~ [ BigDigit ] > ( ) ;
293293 if carry == 0 { return BigUint :: new ( prod) } ;
294294 return BigUint :: new ( prod + [ carry] ) ;
295295 }
@@ -618,13 +618,13 @@ impl BigUint {
618618 if n_bits == 0 || self . is_zero ( ) { return copy * self ; }
619619
620620 let mut carry = 0 ;
621- let shifted = do vec :: map ( self . data ) |elem| {
621+ let shifted = do self . data . iter ( ) . transform |elem| {
622622 let ( hi, lo) = BigDigit :: from_uint (
623623 ( * elem as uint ) << n_bits | ( carry as uint )
624624 ) ;
625625 carry = hi;
626626 lo
627- } ;
627+ } . collect :: < ~ [ BigDigit ] > ( ) ;
628628 if carry == 0 { return BigUint :: new ( shifted) ; }
629629 return BigUint :: new ( shifted + [ carry] ) ;
630630 }
@@ -1172,7 +1172,7 @@ mod biguint_tests {
11721172
11731173 #[test]
11741174 fn test_cmp() {
1175- let data = [ &[], &[1], &[2], &[-1], &[0, 1], &[2, 1], &[1, 1, 1] ]
1175+ let data: ~[BigUint] = [ &[], &[1], &[2], &[-1], &[0, 1], &[2, 1], &[1, 1, 1] ]
11761176 .map(|v| BigUint::from_slice(*v));
11771177 for data.iter().enumerate().advance |(i, ni)| {
11781178 for data.slice(i, data.len()).iter().enumerate().advance |(j0, nj)| {
0 commit comments