However, what if I want the size of the buffer to be configurable at runtime?
core.stdc.stdlib has "alloca" ... it allocates a runtime configurable amount of memory on the stack. There's a few threads on doing some tricks with it. For instance, if you use it as a default parameter, then it'll allocate on the caller's stack so you can actually return a ref to it from the function :)
