cmse: disallow `impl Trait` in `cmse-nonsecure-entry` return types tracking issue: https://github.com/rust-lang/rust/issues/75835 fixes https://github.com/rust-lang/rust/issues/147242 Refactors some logic to be more robust in the future, and then disallows `impl Trait` as a return type for the cmse ABIs. The `is_valid_cmse_output_layout` function disallows `union` values like before. That is not entirely correct, but preserves the current behavior. Some additional logic is needed for `union` values (and any types where parts may be uninitialized) that I'll tackle in a later PR. can be reviewed commit-by-commit. r? types
For high-level intro to how type checking works in rustc, see the type checking chapter of the rustc dev guide.