error[E0308]: mismatched types --> $DIR/opaque-in-impl-is-opaque.rs:20:19 | LL | fn bar(&self) -> impl Display { | ------------ the found opaque type ... LL | let x: &str = ().bar(); | ---- ^^^^^^^^ expected `&str`, found opaque type | | | expected due to this | = note: expected reference `&str` found opaque type `impl std::fmt::Display` error: aborting due to previous error For more information about this error, try `rustc --explain E0308`.