What is a trailing expression in a block exactly? #61733
Open
Description
Is it determined syntactically or semantically?
Before or after macro expansion?
Answering these questions is necessary to specify expansion of macros (stable fn-like ones or unstable attribute ones) in expression and statement positions.
The current implementation is sometimes inconsistent.
Below I'll be dumping some code examples expanded using different expansion models in hope to come up with some rules that are both self-consistent and backward compatible.
cc #33953