@@ -1901,46 +1901,58 @@ fn subslice_patterns() {
1901
1901
1902
1902
#[ test]
1903
1903
fn 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 ] ;
1905
1905
1906
1906
let mut iter = slice. group_by ( |a, b| a == b) ;
1907
1907
assert_eq ! ( iter. next( ) , Some ( & [ 1 , 1 , 1 ] [ ..] ) ) ;
1908
1908
assert_eq ! ( iter. next( ) , Some ( & [ 3 , 3 ] [ ..] ) ) ;
1909
1909
assert_eq ! ( iter. next( ) , Some ( & [ 2 , 2 , 2 ] [ ..] ) ) ;
1910
+ assert_eq ! ( iter. next( ) , Some ( & [ 1 ] [ ..] ) ) ;
1911
+ assert_eq ! ( iter. next( ) , Some ( & [ 0 ] [ ..] ) ) ;
1910
1912
assert_eq ! ( iter. next( ) , None ) ;
1911
1913
1912
1914
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 ] [ ..] ) ) ;
1913
1917
assert_eq ! ( iter. next_back( ) , Some ( & [ 2 , 2 , 2 ] [ ..] ) ) ;
1914
1918
assert_eq ! ( iter. next_back( ) , Some ( & [ 3 , 3 ] [ ..] ) ) ;
1915
1919
assert_eq ! ( iter. next_back( ) , Some ( & [ 1 , 1 , 1 ] [ ..] ) ) ;
1916
1920
assert_eq ! ( iter. next_back( ) , None ) ;
1917
1921
1918
1922
let mut iter = slice. group_by ( |a, b| a == b) ;
1919
1923
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 ] [ ..] ) ) ;
1921
1925
assert_eq ! ( iter. next( ) , Some ( & [ 3 , 3 ] [ ..] ) ) ;
1926
+ assert_eq ! ( iter. next_back( ) , Some ( & [ 1 ] [ ..] ) ) ;
1927
+ assert_eq ! ( iter. next( ) , Some ( & [ 2 , 2 , 2 ] [ ..] ) ) ;
1922
1928
assert_eq ! ( iter. next_back( ) , None ) ;
1923
1929
}
1924
1930
1925
1931
#[ test]
1926
1932
fn 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 ] ;
1928
1934
1929
1935
let mut iter = slice. group_by_mut ( |a, b| a == b) ;
1930
1936
assert_eq ! ( iter. next( ) , Some ( & mut [ 1 , 1 , 1 ] [ ..] ) ) ;
1931
1937
assert_eq ! ( iter. next( ) , Some ( & mut [ 3 , 3 ] [ ..] ) ) ;
1932
1938
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 ] [ ..] ) ) ;
1933
1941
assert_eq ! ( iter. next( ) , None ) ;
1934
1942
1935
1943
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 ] [ ..] ) ) ;
1936
1946
assert_eq ! ( iter. next_back( ) , Some ( & mut [ 2 , 2 , 2 ] [ ..] ) ) ;
1937
1947
assert_eq ! ( iter. next_back( ) , Some ( & mut [ 3 , 3 ] [ ..] ) ) ;
1938
1948
assert_eq ! ( iter. next_back( ) , Some ( & mut [ 1 , 1 , 1 ] [ ..] ) ) ;
1939
1949
assert_eq ! ( iter. next_back( ) , None ) ;
1940
1950
1941
1951
let mut iter = slice. group_by_mut ( |a, b| a == b) ;
1942
1952
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 ] [ ..] ) ) ;
1944
1954
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 ] [ ..] ) ) ;
1945
1957
assert_eq ! ( iter. next_back( ) , None ) ;
1946
1958
}
0 commit comments