error[E0308]: mismatched types --> $DIR/universal-mismatched-type.rs:4:5 | LL | fn foo(x: impl Debug) -> String { | ------ expected `std::string::String` because of return type LL | x //~ ERROR mismatched types | ^ expected struct `std::string::String`, found type parameter | = note: expected type `std::string::String` found type `impl Debug` error: aborting due to previous error For more information about this error, try `rustc --explain E0308`.