IIRC, there is currently no way to have default ctor with non-default
behavior, but it's possible to achieve with static opCall. E.g.
struct Foo
{
this() { writeln("ctor"); } // disallowed
static Foo opCall() { writeln("static opCall"); return Foo(); } // allowed
}
On Sun, May 30, 2010 at 8:50 AM, Andrei Alexandrescu <[email protected]> wrote:
> I think static opCall is there only as a workaround during the days where
> struct constructors were missing. It's a good idea to replace it throughout.
>
> Andrei
>
> On 05/29/2010 11:40 PM, Masahiro Nakagawa wrote:
>>
>> I noticed that some structs use static opCall for construction(lines,
>> CodePoints, etc...).
>> I think constructing struct should use this().
>> What are the merits of static opCall?
>> I will rewrite if static opCall doesn't have merits.
>>
>>
>> Masahiro
>> _______________________________________________
>> phobos mailing list
>> [email protected]
>> http://lists.puremagic.com/mailman/listinfo/phobos
>
> _______________________________________________
> phobos mailing list
> [email protected]
> http://lists.puremagic.com/mailman/listinfo/phobos
>
_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos