| // 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 | |
| } |