@@ -2087,12 +2087,14 @@ fn test() {
2087
2087
struct AStruct<T: Default>(T);
2088
2088
struct AStructBuilder;
2089
2089
struct Res<T>(T);
2090
+ struct Res2<T, E>{t: T, e: E};
2090
2091
2091
2092
impl<T: Default> AStruct<T> {
2092
2093
fn fn_no_ret(&self) {}
2093
2094
fn fn_ctr_with_args(input: T) -> AStruct<T> { AStruct(input) }
2094
2095
fn fn_direct_ctr() -> Self { AStruct(<_>::default()) }
2095
2096
fn fn_ctr() -> Res<Self> { Res(Self::fn_direct_ctr()) }
2097
+ fn fn_ctr2() -> Res2<Self, u32> { Res2 { t: <_>::default(), e: 0 } }
2096
2098
fn fn_other() -> Res<u32> { Res(0) }
2097
2099
fn fn_builder() -> AStructBuilder { AStructBuilder }
2098
2100
}
@@ -2106,6 +2108,7 @@ fn test() {
2106
2108
fn fn_ctr_with_args(…) [type_could_unify]
2107
2109
fn fn_builder() [type_could_unify]
2108
2110
fn fn_ctr() [type_could_unify]
2111
+ fn fn_ctr2() [type_could_unify]
2109
2112
fn fn_other() [type_could_unify]
2110
2113
me fn_no_ret(…) [type_could_unify]
2111
2114
"# ] ] ,
@@ -2117,12 +2120,14 @@ fn test() {
2117
2120
struct AStruct<T: Default>(T);
2118
2121
struct AStructBuilder;
2119
2122
struct Res<T>(T);
2123
+ struct Res2<T, E>{t: T, e: E};
2120
2124
2121
2125
impl<T: Default> AStruct<T> {
2122
2126
fn fn_no_ret(&self) {}
2123
2127
fn fn_ctr_with_args(input: T) -> AStruct<T> { AStruct(input) }
2124
2128
fn fn_direct_ctr() -> Self { AStruct(<_>::default()) }
2125
2129
fn fn_ctr() -> Res<Self> { Res(Self::fn_direct_ctr()) }
2130
+ fn fn_ctr2() -> Res2<Self, u32> { Res2 { t: <_>::default(), e: 0 } }
2126
2131
fn fn_other() -> Res<u32> { Res(0) }
2127
2132
fn fn_builder() -> AStructBuilder { AStructBuilder }
2128
2133
}
@@ -2136,6 +2141,7 @@ fn test() {
2136
2141
fn fn_ctr_with_args(…) []
2137
2142
fn fn_builder() []
2138
2143
fn fn_ctr() []
2144
+ fn fn_ctr2() []
2139
2145
fn fn_other() []
2140
2146
me fn_no_ret(…) []
2141
2147
"# ] ] ,
0 commit comments