error[E0308]: mismatched types
--> $DIR/type-params-in-different-spaces-3.rs:3:9
|
-LL | fn test<X>(u: X) -> Self {
- | ---- expected `Self` because of return type
-LL | u
- | ^ expected type parameter, found a different type parameter
+LL | / trait Tr : Sized {
+LL | | fn test<X>(u: X) -> Self {
+ | | - ---- expected `Self` because of return type
+ | | |
+ | | found type parameter
+LL | | u
+ | | ^ expected type parameter `Self`, found type parameter `X`
+LL | | }
+LL | | }
+ | |_- expected type parameter
|
- = note: expected type `Self`
- found type `X`
+ = note: expected type parameter `Self`
+ found type parameter `X`
= 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