error[E0053]: method `bar` has an incompatible type for trait --> $DIR/specialization-broken.rs:16:22 | LL | default impl Foo for U | - this type parameter ... LL | fn bar(&self) -> U { | ^ | | | expected associated type, found type parameter `U` | help: change the output type to match the trait: `impl Sized` | note: type in trait --> $DIR/specialization-broken.rs:9:22 | LL | fn bar(&self) -> impl Sized; | ^^^^^^^^^^ = note: expected signature `fn(&U) -> impl Sized` found signature `fn(&U) -> U` error: aborting due to previous error For more information about this error, try `rustc --explain E0053`.