@@ -438,7 +438,7 @@ quickcheck! {
438438        } 
439439        assert_eq!( answer,  actual) ; 
440440
441-         assert_eq!( answer. into_iter( ) . last( ) ,  a. clone ( ) . multi_cartesian_product( ) . last( ) ) ; 
441+         assert_eq!( answer. into_iter( ) . last( ) ,  a. multi_cartesian_product( ) . last( ) ) ; 
442442    } 
443443
444444    #[ allow( deprecated) ] 
@@ -498,15 +498,13 @@ quickcheck! {
498498        exact_size( it) 
499499    } 
500500
501-     fn  equal_merge( a:  Vec <i16 >,  b:  Vec <i16 >)  -> bool  { 
502-         let  mut  sa = a. clone( ) ; 
503-         let  mut  sb = b. clone( ) ; 
504-         sa. sort( ) ; 
505-         sb. sort( ) ; 
506-         let  mut  merged = sa. clone( ) ; 
507-         merged. extend( sb. iter( ) . cloned( ) ) ; 
501+     fn  equal_merge( mut  a:  Vec <i16 >,  mut  b:  Vec <i16 >)  -> bool  { 
502+         a. sort( ) ; 
503+         b. sort( ) ; 
504+         let  mut  merged = a. clone( ) ; 
505+         merged. extend( b. iter( ) . cloned( ) ) ; 
508506        merged. sort( ) ; 
509-         itertools:: equal( & merged,  sa . iter( ) . merge( & sb ) ) 
507+         itertools:: equal( & merged,  a . iter( ) . merge( & b ) ) 
510508    } 
511509    fn  size_merge( a:  Iter <u16 >,  b:  Iter <u16 >)  -> bool  { 
512510        correct_size_hint( a. merge( b) ) 
@@ -517,7 +515,7 @@ quickcheck! {
517515            exact_size( multizip( ( a,  b,  c) ) ) 
518516    } 
519517    fn  size_zip_rc( a:  Iter <i16 >,  b:  Iter <i16 >)  -> bool  { 
520-         let  rc = rciter( a. clone ( ) ) ; 
518+         let  rc = rciter( a) ; 
521519        correct_size_hint( multizip( ( & rc,  & rc,  b) ) ) 
522520    } 
523521
@@ -526,19 +524,16 @@ quickcheck! {
526524        correct_size_hint( izip!( filt,  b. clone( ) ,  c. clone( ) ) )  &&
527525            exact_size( izip!( a,  b,  c) ) 
528526    } 
529-     fn  equal_kmerge( a:  Vec <i16 >,  b:  Vec <i16 >,  c:  Vec <i16 >)  -> bool  { 
527+     fn  equal_kmerge( mut   a:  Vec <i16 >,  mut   b:  Vec <i16 >,   mut  c:  Vec <i16 >)  -> bool  { 
530528        use  itertools:: free:: kmerge; 
531-         let  mut  sa = a. clone( ) ; 
532-         let  mut  sb = b. clone( ) ; 
533-         let  mut  sc = c. clone( ) ; 
534-         sa. sort( ) ; 
535-         sb. sort( ) ; 
536-         sc. sort( ) ; 
537-         let  mut  merged = sa. clone( ) ; 
538-         merged. extend( sb. iter( ) . cloned( ) ) ; 
539-         merged. extend( sc. iter( ) . cloned( ) ) ; 
529+         a. sort( ) ; 
530+         b. sort( ) ; 
531+         c. sort( ) ; 
532+         let  mut  merged = a. clone( ) ; 
533+         merged. extend( b. iter( ) . cloned( ) ) ; 
534+         merged. extend( c. iter( ) . cloned( ) ) ; 
540535        merged. sort( ) ; 
541-         itertools:: equal( merged. into_iter( ) ,  kmerge( vec![ sa ,  sb ,  sc ] ) ) 
536+         itertools:: equal( merged. into_iter( ) ,  kmerge( vec![ a ,  b ,  c ] ) ) 
542537    } 
543538
544539    // Any number of input iterators 
@@ -610,15 +605,15 @@ quickcheck! {
610605    fn  size_2_zip_longest( a:  Iter <i16 >,  b:  Iter <i16 >)  -> bool  { 
611606        let  it = a. clone( ) . zip_longest( b. clone( ) ) ; 
612607        let  jt = a. clone( ) . zip_longest( b. clone( ) ) ; 
613-         itertools:: equal( a. clone ( ) , 
608+         itertools:: equal( a, 
614609                         it. filter_map( |elt| match  elt { 
615610                             EitherOrBoth :: Both ( x,  _)  => Some ( x) , 
616611                             EitherOrBoth :: Left ( x)  => Some ( x) , 
617612                             _ => None , 
618613                         } 
619614                         ) ) 
620615            &&
621-         itertools:: equal( b. clone ( ) , 
616+         itertools:: equal( b, 
622617                         jt. filter_map( |elt| match  elt { 
623618                             EitherOrBoth :: Both ( _,  y)  => Some ( y) , 
624619                             EitherOrBoth :: Right ( y)  => Some ( y) , 
0 commit comments