error[E0308]: mismatched types --> $DIR/issue-88360.rs:15:9 | LL | trait SuperTrait | - this type parameter ... LL | fn copy(&self) -> Self::Gat<'_> where T: Copy { | ------------- expected `&T` because of return type LL | *self.test() | ^^^^^^^^^^^^ expected `&T`, found type parameter `T` | = note: expected reference `&T` found type parameter `T` help: consider removing deref here | LL - *self.test() LL + self.test() | error: aborting due to previous error For more information about this error, try `rustc --explain E0308`.