Does static ctor/dtor of struct behave differently in 2.067-b2?
amber via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sun Mar 1 13:42:47 PST 2015
On Saturday, 28 February 2015 at 03:26:17 UTC, ketmar wrote:
> On Fri, 27 Feb 2015 23:58:16 +0000, amber wrote:
>
>> On Friday, 27 February 2015 at 23:50:51 UTC, amber wrote:
>>> Hi All,
>> [snip]
>>> Thanks, amber
>>
>> [edited subject]
>>
>> Sorry I should add that I'm talking about static ctor/dtor of
>> struct.
>>
>> The bug I see with 2.067-b2 is this:
>>
>> 1. static this() {} called and static fields of struct are
>> initialised
>> 2. app runs, static fields are initialised.
>> 3. static ~this() {} called and static fields of struct are NOT
>> initialised.
>>
>>
>> In step 3 with 2.066.1 all the static fields of struct are
>> still
>> initialised, as expected, and my app shuts down cleanly.
>
> is your struct GC-allocated? and can you provide dustmited code
> or
> something we can play with?
Hi ketmar, thanks for replying.
I think I have figured out what was happening.
DMD 2.067 spins up 5 threads when running the unittests and DMD
2.066.1 only uses one thread. This change exposed a bug in the
static ctor which I've now fixed.
Thanks,
amber
More information about the Digitalmars-d-learn
mailing list