error[E0308]: mismatched types --> $DIR/object-unsafe-trait-in-return-position-impl-trait.rs:36:5 | LL | fn can() -> impl NotObjectSafe { | ------------------ expected `A` because of return type ... LL | B | ^ expected struct `A`, found struct `B` error[E0308]: mismatched types --> $DIR/object-unsafe-trait-in-return-position-impl-trait.rs:43:5 | LL | fn cat() -> impl ObjectSafe { | --------------- expected `A` because of return type ... LL | B | ^ expected struct `A`, found struct `B` error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0308`.