@@ -2042,6 +2042,48 @@ mod method_determined_by_argument_type {
20422042 }
20432043 }
20442044
2045+ trait MyFrom < T > {
2046+ // MyFrom::my_from
2047+ fn my_from ( value : T ) -> Self ;
2048+ }
2049+
2050+ impl MyFrom < i64 > for i64 {
2051+ // MyFrom<i64>::my_from
2052+ fn my_from ( value : i64 ) -> Self {
2053+ value
2054+ }
2055+ }
2056+
2057+ impl MyFrom < bool > for i64 {
2058+ // MyFrom<bool>::my_from
2059+ fn my_from ( value : bool ) -> Self {
2060+ if value { 1 } else { 0 }
2061+ }
2062+ }
2063+
2064+ trait MyFrom2 < T > {
2065+ // MyFrom2::my_from2
2066+ fn my_from2 ( value : T , x : Self ) -> ( ) ;
2067+ }
2068+
2069+ impl MyFrom2 < i64 > for i64 {
2070+ // MyFrom2<i64>::my_from2
2071+ fn my_from2 ( value : i64 , _: Self ) -> ( ) {
2072+ value;
2073+ }
2074+ }
2075+
2076+ impl MyFrom2 < bool > for i64 {
2077+ // MyFrom2<bool>::my_from2
2078+ fn my_from2 ( value : bool , _: Self ) -> ( ) {
2079+ if value {
2080+ 1
2081+ } else {
2082+ 0
2083+ } ;
2084+ }
2085+ }
2086+
20452087 pub fn f ( ) {
20462088 let x: i64 = 73 ;
20472089 x. my_add ( 5i64 ) ; // $ method=MyAdd<i64>::my_add
@@ -2051,6 +2093,13 @@ mod method_determined_by_argument_type {
20512093 S ( 1i64 ) . my_add ( S ( 2i64 ) ) ; // $ method=S::my_add1
20522094 S ( 1i64 ) . my_add ( 3i64 ) ; // $ MISSING: method=S::my_add2
20532095 S ( 1i64 ) . my_add ( & 3i64 ) ; // $ method=S::my_add3
2096+
2097+ let x = i64:: my_from ( 73i64 ) ; // $ method=MyFrom<i64>::my_from $ SPURIOUS: method=MyFrom<bool>::my_from
2098+ let y = i64:: my_from ( true ) ; // $ method=MyFrom<bool>::my_from $ SPURIOUS: method=MyFrom<i64>::my_from
2099+ let z: i64 = MyFrom :: my_from ( 73i64 ) ; // $ MISSING: method=MyFrom<i64>::my_from $ SPURIOUS: method=MyFrom::my_from
2100+ i64:: my_from2 ( 73i64 , 0i64 ) ; // $ method=MyFrom2<i64>::my_from2 $ SPURIOUS: method=MyFrom2<bool>::my_from2
2101+ i64:: my_from2 ( true , 0i64 ) ; // $ method=MyFrom2<bool>::my_from2 $ SPURIOUS: method=MyFrom2<i64>::my_from2
2102+ MyFrom2 :: my_from2 ( 73i64 , 0i64 ) ; // $ MISSING: method=MyFrom2<i64>::my_from2 $ SPURIOUS: method=MyFrom2::my_from2
20542103 }
20552104}
20562105
0 commit comments