Re: Does static ctor/dtor of struct behave differently in 2.067-b2?
On Saturday, 28 February 2015 at 03:26:17 UTC, ketmar wrote: On Fri, 27 Feb 2015 23:58:16 +, 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
Re: Does static ctor/dtor of struct behave differently in 2.067-b2?
On Fri, 27 Feb 2015 23:58:16 +, 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? signature.asc Description: PGP signature
Re: Does static ctor/dtor of struct behave differently in 2.067-b2?
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. Thanks, amber