error[E0308]: mismatched types --> $DIR/type-params-in-different-spaces-1.rs:5:17 | LL | / trait BrokenAdd: Copy + Add { LL | | fn broken_add(&self, rhs: T) -> Self { | | - found type parameter LL | | *self + rhs | | ^^^ expected type parameter `Self`, found type parameter `T` LL | | ... | LL | | } LL | | } | |_- expected type parameter | = note: expected type parameter `Self` found type parameter `T` = 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`.