@@ -1901,46 +1901,58 @@ fn subslice_patterns() {
19011901
19021902#[ test]
19031903fn test_group_by ( ) {
1904- let slice = & [ 1 , 1 , 1 , 3 , 3 , 2 , 2 , 2 ] ;
1904+ let slice = & [ 1 , 1 , 1 , 3 , 3 , 2 , 2 , 2 , 1 , 0 ] ;
19051905
19061906 let mut iter = slice. group_by ( |a, b| a == b) ;
19071907 assert_eq ! ( iter. next( ) , Some ( & [ 1 , 1 , 1 ] [ ..] ) ) ;
19081908 assert_eq ! ( iter. next( ) , Some ( & [ 3 , 3 ] [ ..] ) ) ;
19091909 assert_eq ! ( iter. next( ) , Some ( & [ 2 , 2 , 2 ] [ ..] ) ) ;
1910+ assert_eq ! ( iter. next( ) , Some ( & [ 1 ] [ ..] ) ) ;
1911+ assert_eq ! ( iter. next( ) , Some ( & [ 0 ] [ ..] ) ) ;
19101912 assert_eq ! ( iter. next( ) , None ) ;
19111913
19121914 let mut iter = slice. group_by ( |a, b| a == b) ;
1915+ assert_eq ! ( iter. next_back( ) , Some ( & [ 0 ] [ ..] ) ) ;
1916+ assert_eq ! ( iter. next_back( ) , Some ( & [ 1 ] [ ..] ) ) ;
19131917 assert_eq ! ( iter. next_back( ) , Some ( & [ 2 , 2 , 2 ] [ ..] ) ) ;
19141918 assert_eq ! ( iter. next_back( ) , Some ( & [ 3 , 3 ] [ ..] ) ) ;
19151919 assert_eq ! ( iter. next_back( ) , Some ( & [ 1 , 1 , 1 ] [ ..] ) ) ;
19161920 assert_eq ! ( iter. next_back( ) , None ) ;
19171921
19181922 let mut iter = slice. group_by ( |a, b| a == b) ;
19191923 assert_eq ! ( iter. next( ) , Some ( & [ 1 , 1 , 1 ] [ ..] ) ) ;
1920- assert_eq ! ( iter. next_back( ) , Some ( & [ 2 , 2 , 2 ] [ ..] ) ) ;
1924+ assert_eq ! ( iter. next_back( ) , Some ( & [ 0 ] [ ..] ) ) ;
19211925 assert_eq ! ( iter. next( ) , Some ( & [ 3 , 3 ] [ ..] ) ) ;
1926+ assert_eq ! ( iter. next_back( ) , Some ( & [ 1 ] [ ..] ) ) ;
1927+ assert_eq ! ( iter. next( ) , Some ( & [ 2 , 2 , 2 ] [ ..] ) ) ;
19221928 assert_eq ! ( iter. next_back( ) , None ) ;
19231929}
19241930
19251931#[ test]
19261932fn test_group_by_mut ( ) {
1927- let slice = & mut [ 1 , 1 , 1 , 3 , 3 , 2 , 2 , 2 ] ;
1933+ let slice = & mut [ 1 , 1 , 1 , 3 , 3 , 2 , 2 , 2 , 1 , 0 ] ;
19281934
19291935 let mut iter = slice. group_by_mut ( |a, b| a == b) ;
19301936 assert_eq ! ( iter. next( ) , Some ( & mut [ 1 , 1 , 1 ] [ ..] ) ) ;
19311937 assert_eq ! ( iter. next( ) , Some ( & mut [ 3 , 3 ] [ ..] ) ) ;
19321938 assert_eq ! ( iter. next( ) , Some ( & mut [ 2 , 2 , 2 ] [ ..] ) ) ;
1939+ assert_eq ! ( iter. next( ) , Some ( & mut [ 1 ] [ ..] ) ) ;
1940+ assert_eq ! ( iter. next( ) , Some ( & mut [ 0 ] [ ..] ) ) ;
19331941 assert_eq ! ( iter. next( ) , None ) ;
19341942
19351943 let mut iter = slice. group_by_mut ( |a, b| a == b) ;
1944+ assert_eq ! ( iter. next_back( ) , Some ( & mut [ 0 ] [ ..] ) ) ;
1945+ assert_eq ! ( iter. next_back( ) , Some ( & mut [ 1 ] [ ..] ) ) ;
19361946 assert_eq ! ( iter. next_back( ) , Some ( & mut [ 2 , 2 , 2 ] [ ..] ) ) ;
19371947 assert_eq ! ( iter. next_back( ) , Some ( & mut [ 3 , 3 ] [ ..] ) ) ;
19381948 assert_eq ! ( iter. next_back( ) , Some ( & mut [ 1 , 1 , 1 ] [ ..] ) ) ;
19391949 assert_eq ! ( iter. next_back( ) , None ) ;
19401950
19411951 let mut iter = slice. group_by_mut ( |a, b| a == b) ;
19421952 assert_eq ! ( iter. next( ) , Some ( & mut [ 1 , 1 , 1 ] [ ..] ) ) ;
1943- assert_eq ! ( iter. next_back( ) , Some ( & mut [ 2 , 2 , 2 ] [ ..] ) ) ;
1953+ assert_eq ! ( iter. next_back( ) , Some ( & mut [ 0 ] [ ..] ) ) ;
19441954 assert_eq ! ( iter. next( ) , Some ( & mut [ 3 , 3 ] [ ..] ) ) ;
1955+ assert_eq ! ( iter. next_back( ) , Some ( & mut [ 1 ] [ ..] ) ) ;
1956+ assert_eq ! ( iter. next( ) , Some ( & mut [ 2 , 2 , 2 ] [ ..] ) ) ;
19451957 assert_eq ! ( iter. next_back( ) , None ) ;
19461958}
0 commit comments