]>
Commit | Line | Data |
---|---|---|
17df50a5 XL |
1 | // https://github.com/rust-lang/rust/issues/73481 |
2 | // This test used to cause unsoundness, since one of the two possible | |
3 | // resolutions was chosen at random instead of erroring due to conflicts. | |
4 | ||
5 | #![feature(min_type_alias_impl_trait)] | |
6 | ||
7 | type X<A: ToString + Clone, B: ToString + Clone> = impl ToString; | |
8 | ||
9 | fn f<A: ToString + Clone, B: ToString + Clone>(a: A, b: B) -> (X<A, B>, X<B, A>) { | |
10 | (a, b) | |
11 | } | |
12 | ||
13 | fn g<A: ToString + Clone, B: ToString + Clone>(a: A, b: B) -> (X<A, B>, X<A, B>) { | |
136023e0 | 14 | //~^ ERROR concrete type differs from previous defining opaque type |
17df50a5 XL |
15 | (a, b) |
16 | //~^ ERROR mismatched types | |
17 | } | |
18 | ||
19 | fn main() {} |