@@ -1128,7 +1128,7 @@ mod method_call_type_conversion {
1128
1128
let t = x7. m1 ( ) ; // $ method=m1 type=t:& type=t:&T.S2
1129
1129
println ! ( "{:?}" , x7) ;
1130
1130
1131
- let x9 : String = "Hello" . to_string ( ) ; // $ type=x9:String
1131
+ let x9: String = "Hello" . to_string ( ) ; // $ type=x9:String
1132
1132
// Implicit `String` -> `str` conversion happens via the `Deref` trait:
1133
1133
// https://doc.rust-lang.org/std/string/struct.String.html#deref.
1134
1134
let u = x9. parse :: < u32 > ( ) ; // $ method=parse type=u:T.u32
@@ -1865,11 +1865,7 @@ mod method_determined_by_argument_type {
1865
1865
impl MyAdd < bool > for i64 {
1866
1866
// MyAdd<bool>::my_add
1867
1867
fn my_add ( & self , value : bool ) -> Self {
1868
- if value {
1869
- 1
1870
- } else {
1871
- 0
1872
- }
1868
+ if value { 1 } else { 0 }
1873
1869
}
1874
1870
}
1875
1871
@@ -1882,8 +1878,7 @@ mod method_determined_by_argument_type {
1882
1878
}
1883
1879
1884
1880
mod loops {
1885
- struct MyCallable {
1886
- }
1881
+ struct MyCallable { }
1887
1882
1888
1883
impl MyCallable {
1889
1884
fn new ( ) -> Self {
@@ -1898,87 +1893,101 @@ mod loops {
1898
1893
pub fn f ( ) {
1899
1894
// for loops with arrays
1900
1895
1901
- for i in [ 1 , 2 , 3 ] { } // $ type=i:i32
1902
- for i in [ 1 , 2 , 3 ] . map ( |x| x + 1 ) { } // $ method=map MISSING: type=i:i32
1903
- for i in [ 1 , 2 , 3 ] . into_iter ( ) { } // $ method=into_iter MISSING: type=i:i32
1896
+ for i in [ 1 , 2 , 3 ] { } // $ type=i:i32
1897
+ for i in [ 1 , 2 , 3 ] . map ( |x| x + 1 ) { } // $ method=map MISSING: type=i:i32
1898
+ for i in [ 1 , 2 , 3 ] . into_iter ( ) { } // $ method=into_iter MISSING: type=i:i32
1904
1899
1905
1900
let vals1 = [ 1u8 , 2 , 3 ] ; // $ type=vals1:[T;...].u8
1906
- for u in vals1 { } // $ type=u:u8
1901
+ for u in vals1 { } // $ type=u:u8
1907
1902
1908
1903
let vals2 = [ 1u16 ; 3 ] ; // $ type=vals2:[T;...].u16
1909
- for u in vals2 { } // $ type=u:u16
1904
+ for u in vals2 { } // $ type=u:u16
1910
1905
1911
1906
let vals3: [ u32 ; 3 ] = [ 1 , 2 , 3 ] ; // $ type=vals3:[T;...].u32
1912
- for u in vals3 { } // $ type=u:u32
1907
+ for u in vals3 { } // $ type=u:u32
1913
1908
1914
1909
let vals4: [ u64 ; 3 ] = [ 1 ; 3 ] ; // $ type=vals4:[T;...].u64
1915
- for u in vals4 { } // $ type=u:u64
1910
+ for u in vals4 { } // $ type=u:u64
1916
1911
1917
1912
let mut strings1 = [ "foo" , "bar" , "baz" ] ; // $ type=strings1:[T;...].str
1918
- for s in & strings1 { } // $ MISSING: type=s:&T.str
1919
- for s in & mut strings1 { } // $ MISSING: type=s:&T.str
1920
- for s in strings1 { } // $ type=s:str
1921
-
1922
- let strings2 = [ String :: from ( "foo" ) , String :: from ( "bar" ) , String :: from ( "baz" ) ] ; // $ type=strings2:[T;...].String
1923
- for s in strings2 { } // $ type=s:String
1924
-
1925
- let strings3 = & [ String :: from ( "foo" ) , String :: from ( "bar" ) , String :: from ( "baz" ) ] ; // $ type=strings3:&T.[T;...].String
1926
- for s in strings3 { } // $ MISSING: type=s:String
1913
+ for s in & strings1 { } // $ MISSING: type=s:&T.str
1914
+ for s in & mut strings1 { } // $ MISSING: type=s:&T.str
1915
+ for s in strings1 { } // $ type=s:str
1916
+
1917
+ let strings2 = [
1918
+ String :: from ( "foo" ) ,
1919
+ String :: from ( "bar" ) ,
1920
+ String :: from ( "baz" ) ,
1921
+ ] ; // $ type=strings2:[T;...].String
1922
+ for s in strings2 { } // $ type=s:String
1923
+
1924
+ let strings3 = & [
1925
+ String :: from ( "foo" ) ,
1926
+ String :: from ( "bar" ) ,
1927
+ String :: from ( "baz" ) ,
1928
+ ] ; // $ type=strings3:&T.[T;...].String
1929
+ for s in strings3 { } // $ MISSING: type=s:String
1927
1930
1928
1931
let callables = [ MyCallable :: new ( ) , MyCallable :: new ( ) , MyCallable :: new ( ) ] ; // $ MISSING: type=callables:[T;...].MyCallable; 3
1929
- for c in callables { // $ type=c:MyCallable
1932
+ for c in callables {
1933
+ // $ type=c:MyCallable
1930
1934
let result = c. call ( ) ; // $ type=result:i64 method=call
1931
1935
}
1932
1936
1933
1937
// for loops with ranges
1934
1938
1935
- for i in 0 ..10 { } // $ MISSING: type=i:i32
1936
- for u in [ 0u8 .. 10 ] { } // $ MISSING: type=u:u8
1939
+ for i in 0 ..10 { } // $ MISSING: type=i:i32
1940
+ for u in [ 0u8 .. 10 ] { } // $ MISSING: type=u:u8
1937
1941
let range = 0 ..10 ; // $ MISSING: type=range:Range type=range:Idx.i32
1938
- for i in range { } // $ MISSING: type=i:i32
1942
+ for i in range { } // $ MISSING: type=i:i32
1939
1943
1940
- let range1 = std:: ops:: Range { start : 0u16 , end : 10u16 } ; // $ type=range1:Range type=range1:Idx.u16
1941
- for u in range1 { } // $ MISSING: type=u:u16
1944
+ let range1 = std:: ops:: Range {
1945
+ start : 0u16 ,
1946
+ end : 10u16 ,
1947
+ } ; // $ type=range1:Range type=range1:Idx.u16
1948
+ for u in range1 { } // $ MISSING: type=u:u16
1942
1949
1943
1950
// for loops with containers
1944
1951
1945
1952
let vals3 = vec ! [ 1 , 2 , 3 ] ; // $ MISSING: type=vals3:Vec type=vals3:T.i32
1946
- for i in vals3 { } // $ MISSING: type=i:i32
1953
+ for i in vals3 { } // $ MISSING: type=i:i32
1947
1954
1948
- let vals4a : Vec < u16 > = [ 1u16 , 2 , 3 ] . to_vec ( ) ; // $ type=vals4a:Vec type=vals4a:T.u16
1949
- for u in vals4a { } // $ type=u:u16
1955
+ let vals4a: Vec < u16 > = [ 1u16 , 2 , 3 ] . to_vec ( ) ; // $ type=vals4a:Vec type=vals4a:T.u16
1956
+ for u in vals4a { } // $ type=u:u16
1950
1957
1951
1958
let vals4b = [ 1u16 , 2 , 3 ] . to_vec ( ) ; // $ MISSING: type=vals4b:Vec type=vals4b:T.u16
1952
- for u in vals4b { } // $ MISSING: type=u:u16
1959
+ for u in vals4b { } // $ MISSING: type=u:u16
1953
1960
1954
1961
let vals5 = Vec :: from ( [ 1u32 , 2 , 3 ] ) ; // $ type=vals5:Vec MISSING: type=vals5:T.u32
1955
- for u in vals5 { } // $ MISSING: type=u:u32
1962
+ for u in vals5 { } // $ MISSING: type=u:u32
1956
1963
1957
- let vals6 : Vec < & u64 > = [ 1u64 , 2 , 3 ] . iter ( ) . collect ( ) ; // $ type=vals6:Vec type=vals6:T.&T.u64
1958
- for u in vals6 { } // $ type=u:&T.u64
1964
+ let vals6: Vec < & u64 > = [ 1u64 , 2 , 3 ] . iter ( ) . collect ( ) ; // $ type=vals6:Vec type=vals6:T.&T.u64
1965
+ for u in vals6 { } // $ type=u:&T.u64
1959
1966
1960
1967
let mut vals7 = Vec :: new ( ) ; // $ type=vals7:Vec MISSING: type=vals7:T.u8
1961
1968
vals7. push ( 1u8 ) ; // $ method=push
1962
- for u in vals7 { } // $ MISSING: type=u:u8
1969
+ for u in vals7 { } // $ MISSING: type=u:u8
1963
1970
1964
1971
let matrix1 = vec ! [ vec![ 1 , 2 ] , vec![ 3 , 4 ] ] ; // $ MISSING: type=matrix1:Vec type=matrix1:T.Vec type=matrix1:T.T.i32
1965
- for row in matrix1 { // $ MISSING: type=row:Vec type=row:T.i32
1972
+ for row in matrix1 {
1973
+ // $ MISSING: type=row:Vec type=row:T.i32
1966
1974
for cell in row { // $ MISSING: type=cell:i32
1967
1975
}
1968
1976
}
1969
1977
1970
1978
let mut map1 = std:: collections:: HashMap :: new ( ) ; // $ MISSING: type=map1:Hashmap type=map1:K.i32 type=map1:V.Box type1=map1:V.T.&T.str
1971
1979
map1. insert ( 1 , Box :: new ( "one" ) ) ; // $ method=insert
1972
1980
map1. insert ( 2 , Box :: new ( "two" ) ) ; // $ method=insert
1973
- for key in map1. keys ( ) { } // $ method=keys MISSING: type=key:i32
1974
- for value in map1. values ( ) { } // $ method=values MISSING: type=value:Box type=value:T.&T.str
1975
- for ( key, value) in map1. iter ( ) { } // $ method=iter MISSING: type=key:i32 type=value:Box type=value:T.&T.str
1976
- for ( key, value) in & map1 { } // $ MISSING: type=key:i32 type=value:Box type=value:T.&T.str
1981
+ for key in map1. keys ( ) { } // $ method=keys MISSING: type=key:i32
1982
+ for value in map1. values ( ) { } // $ method=values MISSING: type=value:Box type=value:T.&T.str
1983
+ for ( key, value) in map1. iter ( ) { } // $ method=iter MISSING: type=key:i32 type=value:Box type=value:T.&T.str
1984
+ for ( key, value) in & map1 { } // $ MISSING: type=key:i32 type=value:Box type=value:T.&T.str
1977
1985
1978
1986
// while loops
1979
1987
1980
1988
let mut a: i64 = 0 ; // $ type=a:i64
1981
- while a < 10 { // $ method=lt type=a:i64
1989
+ while a < 10 {
1990
+ // $ method=lt type=a:i64
1982
1991
a += 1 ; // $ type=a:i64 method=add_assign
1983
1992
}
1984
1993
}
0 commit comments