D-Programming-Language/dmd — pull request #1259 by 9rnsr (2012-11-05 09:02:00+00:00)
Title: Issue 8923 - Destructors of struct members get called at the wrong point

http://d.puremagic.com/issues/show_bug.cgi?id=8923

If a default-initialized variable declaration requies some frame pointers for it's field, they should be initialized by the StructLiteralExp to fill the hidden field.

A nested struct field will be initialized by T.init instead of T(), before the constructor calling.