1- use paste;
2- use permutohedron;
31use quickcheck as qc;
42use rand:: { distributions:: { Distribution , Standard } , Rng , SeedableRng , rngs:: StdRng } ;
53use rand:: { seq:: SliceRandom , thread_rng} ;
@@ -123,12 +121,12 @@ fn unique() {
123121#[ test]
124122fn intersperse ( ) {
125123 let xs = [ "a" , "" , "b" , "c" ] ;
126- let v: Vec < & str > = xs. iter ( ) . map ( |x| x . clone ( ) ) . intersperse ( ", " ) . collect ( ) ;
124+ let v: Vec < & str > = xs. iter ( ) . cloned ( ) . intersperse ( ", " ) . collect ( ) ;
127125 let text: String = v. concat ( ) ;
128126 assert_eq ! ( text, "a, , b, c" . to_string( ) ) ;
129127
130128 let ys = [ 0 , 1 , 2 , 3 ] ;
131- let mut it = ys[ ..0 ] . iter ( ) . map ( |x| * x ) . intersperse ( 1 ) ;
129+ let mut it = ys[ ..0 ] . iter ( ) . copied ( ) . intersperse ( 1 ) ;
132130 assert ! ( it. next( ) == None ) ;
133131}
134132
@@ -474,7 +472,7 @@ impl<T: Clone + Send, R: Clone + Rng + SeedableRng + Send> qc::Arbitrary for Ran
474472
475473// Check that taking the k smallest is the same as
476474// sorting then taking the k first elements
477- fn k_smallest_sort < I > ( i : I , k : u16 ) -> ( )
475+ fn k_smallest_sort < I > ( i : I , k : u16 )
478476where
479477 I : Iterator + Clone ,
480478 I :: Item : Ord + Debug ,
@@ -538,10 +536,10 @@ fn sorted_by_cached_key() {
538536fn test_multipeek ( ) {
539537 let nums = vec ! [ 1u8 , 2 , 3 , 4 , 5 ] ;
540538
541- let mp = multipeek ( nums. iter ( ) . map ( | & x| x ) ) ;
539+ let mp = multipeek ( nums. iter ( ) . copied ( ) ) ;
542540 assert_eq ! ( nums, mp. collect:: <Vec <_>>( ) ) ;
543541
544- let mut mp = multipeek ( nums. iter ( ) . map ( | & x| x ) ) ;
542+ let mut mp = multipeek ( nums. iter ( ) . copied ( ) ) ;
545543 assert_eq ! ( mp. peek( ) , Some ( & 1 ) ) ;
546544 assert_eq ! ( mp. next( ) , Some ( 1 ) ) ;
547545 assert_eq ! ( mp. peek( ) , Some ( & 2 ) ) ;
@@ -579,7 +577,7 @@ fn test_multipeek_peeking_next() {
579577 use crate :: it:: PeekingNext ;
580578 let nums = vec ! [ 1u8 , 2 , 3 , 4 , 5 , 6 , 7 ] ;
581579
582- let mut mp = multipeek ( nums. iter ( ) . map ( | & x| x ) ) ;
580+ let mut mp = multipeek ( nums. iter ( ) . copied ( ) ) ;
583581 assert_eq ! ( mp. peeking_next( |& x| x != 0 ) , Some ( 1 ) ) ;
584582 assert_eq ! ( mp. next( ) , Some ( 2 ) ) ;
585583 assert_eq ! ( mp. peek( ) , Some ( & 3 ) ) ;
@@ -604,10 +602,10 @@ fn test_multipeek_peeking_next() {
604602fn test_peek_nth ( ) {
605603 let nums = vec ! [ 1u8 , 2 , 3 , 4 , 5 ] ;
606604
607- let iter = peek_nth ( nums. iter ( ) . map ( | & x| x ) ) ;
605+ let iter = peek_nth ( nums. iter ( ) . copied ( ) ) ;
608606 assert_eq ! ( nums, iter. collect:: <Vec <_>>( ) ) ;
609607
610- let mut iter = peek_nth ( nums. iter ( ) . map ( | & x| x ) ) ;
608+ let mut iter = peek_nth ( nums. iter ( ) . copied ( ) ) ;
611609
612610 assert_eq ! ( iter. peek_nth( 0 ) , Some ( & 1 ) ) ;
613611 assert_eq ! ( iter. peek_nth( 0 ) , Some ( & 1 ) ) ;
@@ -638,7 +636,7 @@ fn test_peek_nth() {
638636fn test_peek_nth_peeking_next ( ) {
639637 use it:: PeekingNext ;
640638 let nums = vec ! [ 1u8 , 2 , 3 , 4 , 5 , 6 , 7 ] ;
641- let mut iter = peek_nth ( nums. iter ( ) . map ( | & x| x ) ) ;
639+ let mut iter = peek_nth ( nums. iter ( ) . copied ( ) ) ;
642640
643641 assert_eq ! ( iter. peeking_next( |& x| x != 0 ) , Some ( 1 ) ) ;
644642 assert_eq ! ( iter. next( ) , Some ( 2 ) ) ;
@@ -694,7 +692,7 @@ fn group_by() {
694692 }
695693 }
696694
697- let toupper = |ch : & char | ch. to_uppercase ( ) . nth ( 0 ) . unwrap ( ) ;
695+ let toupper = |ch : & char | ch. to_uppercase ( ) . next ( ) . unwrap ( ) ;
698696
699697 // try all possible orderings
700698 for indices in permutohedron:: Heap :: new ( & mut [ 0 , 1 , 2 , 3 ] ) {
@@ -1091,9 +1089,9 @@ fn format() {
10911089 let t2 = format ! ( "{:?}" , data. iter( ) . format( "--" ) ) ;
10921090 assert_eq ! ( t2, ans2) ;
10931091
1094- let dataf = [ 1.1 , 2 .71828, -22. ] ;
1092+ let dataf = [ 1.1 , 5 .71828, -22. ] ;
10951093 let t3 = format ! ( "{:.2e}" , dataf. iter( ) . format( ", " ) ) ;
1096- assert_eq ! ( t3, "1.10e0, 2 .72e0, -2.20e1" ) ;
1094+ assert_eq ! ( t3, "1.10e0, 5 .72e0, -2.20e1" ) ;
10971095}
10981096
10991097#[ test]
@@ -1110,7 +1108,7 @@ fn fold_while() {
11101108 let vec = vec ! [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ] ;
11111109 let sum = vec. into_iter ( ) . fold_while ( 0 , |acc, item| {
11121110 iterations += 1 ;
1113- let new_sum = acc. clone ( ) + item;
1111+ let new_sum = acc + item;
11141112 if new_sum <= 20 {
11151113 FoldWhile :: Continue ( new_sum)
11161114 } else {
@@ -1143,7 +1141,7 @@ fn tree_fold1() {
11431141 "0 1 x 2 3 x x 4 5 x 6 7 x x x 8 9 x 10 11 x x 12 13 x 14 15 x x x x" ,
11441142 ] ;
11451143 for ( i, & s) in x. iter ( ) . enumerate ( ) {
1146- let expected = if s == "" { None } else { Some ( s. to_string ( ) ) } ;
1144+ let expected = if s. is_empty ( ) { None } else { Some ( s. to_string ( ) ) } ;
11471145 let num_strings = ( 0 ..i) . map ( |x| x. to_string ( ) ) ;
11481146 let actual = num_strings. tree_fold1 ( |a, b| format ! ( "{} {} x" , a, b) ) ;
11491147 assert_eq ! ( actual, expected) ;
0 commit comments