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