// Check that we don't blindly emit a diagnostic claiming that "`main` has an invalid return type" // if we encounter a type that doesn't implement `std::process::Termination` and is not actually // the return type of the program entry `main`. fn receive(_: impl std::process::Termination) {} struct Something; fn main() { receive(Something); //~ ERROR the trait bound `Something: Termination` is not satisfied }