| error[E0308]: mismatched types |
| --> $DIR/type-params-in-different-spaces-3.rs:3:9 |
| | |
| LL | trait Tr : Sized { |
| | ---------------- expected type parameter |
| 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` |
| | |
| = 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 |
| = note: the caller chooses a type for `Self` which can be different from `X` |
| |
| error: aborting due to 1 previous error |
| |
| For more information about this error, try `rustc --explain E0308`. |