dsimcha wrote:
While I'm also skeptical of the idea that simply declaring a variable can cause arbitrarily complex code to be executed, I'll play Devil's Advocate a little: What if we required the default struct constructor to be nothrow? We could also require some level of purity (at least weak pure).
Not a bad idea, but this still leaves people nowhere who need non-trivial construction in order to have a valid object.