On 9/11/2011 2:18 PM, Jonathan M Davis wrote:
isn't legal when S is a struct whose default constructor has been disabled. Actually, what worries me is what happens when you try and use S.init (I haven't tried it, so I don't know what happens). S.init has effectively been made non-existent by this @disable this(); but there's plenty of templated code out there that would try and use the init value for checking stuff. I would assume that such code would fail, but I don't know. Assuming that such code can actually work with a struct whose default initializer has been disabled, such template constraints are going to have to be written differently now.
Using S.init is still fine. The idea is to force the use of explicit initialization.
