Tove:
I think version 2 would be the easiest one to improve, by
including a combined emplace/alloca convenience function in
Phobos for this common use-case.
See the technique used in:
http://www.digitalmars.com/d/archives/digitalmars/D/run-time_stack-based_allocation_166305.html
"auto Create(void* buf=alloca(frame_size))"
I see, thank you for the suggestion, seems interesting.
And thank you to Timon Gehr for his compacted code.
Walter's code seems to miss the point, but maybe he's trying to
tell me something about very small demo programs.
Bye,
bearophile