On Sunday, February 26, 2012 13:15:51 Alex Rønne Petersen wrote: > On 26-02-2012 12:53, Jonathan M Davis wrote: > > On Sunday, February 26, 2012 12:48:06 Timon Gehr wrote: > >> On 02/26/2012 12:18 AM, Jonathan M Davis wrote: > >>> On Saturday, February 25, 2012 17:07:14 Timon Gehr wrote: > >>>> This is useful: > >>>> > >>>> struct S{ > >>>> > >>>> @disable enum init = 0; > >>>> > >>>> } > >>> > >>> I thought that the way that you were supposed to do that was > >>> > >>> @disable this(); > >>> > >>> - Jonathan M Davis > >> > >> struct S{@disable this();} > >> void main(){S s = S.init;} > > > > Well, that's a problem then. It looks like it's bug - either that or I > > completely misunderstood what was going on with @disable and structs. > > > > - Jonathan M Davis > > IMHO .init should yield an error for structs with @disable this(). > Anything else seems illogical.
Well, like I said, it's my understanding that @disable this() is the way that you're supposed to disable .init - as in that's the whole point of having added @disable this() to the language (though it can also be used to make classes unconstructable). So, either my understanding is wrong and/or this is a bug. - Jonathan M Davis