1 error[E0308]: mismatched types
2 --> $DIR/multiple-def-uses-in-one-fn3.rs:14:9
4 LL | type X<A: ToString + Clone, B: ToString + Clone> = impl ToString;
5 | ------------- the expected opaque type
7 LL | fn g<A: ToString + Clone, B: ToString + Clone>(a: A, b: B) -> (X<A, B>, X<A, B>) {
8 | - - found type parameter
10 | expected type parameter
12 | ^ expected type parameter `A`, found type parameter `B`
14 = note: expected opaque type `X<A, B>`
15 found type parameter `B`
16 = note: a type parameter was expected, but a different one was found; you might be missing a type parameter or trait bound
17 = note: for more information, visit https://doc.rust-lang.org/book/ch10-02-traits.html#traits-as-parameters
19 error: aborting due to previous error
21 For more information about this error, try `rustc --explain E0308`.