Is this true with respect to the ABI? I get how a temporary is blown away at the end of a statement with a `;` if it wasn't bound to a reference that extends its lifetime, but wouldn't the code need to allocate a return slot regardless?
What I'm thinking of would be
```c++ struct MyBigClass { /* lots of members */ };
MyBigClass makeABigOne();
auto main() -> int { // We still need to construct a return slot here, even though we don't use the value, right? makeABigOne(); } ```
Perhaps this is tangential, but I'm wondering if maybe I'm missing a subtly based on what you mean by "allocated" (in the abstract machine, or in the ABI).