error[E0308]: mismatched types --> $DIR/issue-92010-trait-bound-not-satisfied.rs:8:43 | LL | fn y(&self, y: f64) -> Self { P{y, .. self.clone() } } | ^^^^^^^^^^^^ expected `P`, found `&P` | = note: expected struct `P` found reference `&P` error: aborting due to previous error For more information about this error, try `rustc --explain E0308`.