Default value for member class
    Adam D. Ruppe 
    destructionator at gmail.com
       
    Mon Feb 10 18:32:42 UTC 2020
    
    
  
On Monday, 10 February 2020 at 18:18:16 UTC, JN wrote:
> Is this expected?
Yes, it is per the spec, though new users find it weird. Maybe we 
should change this but any static initializer is run at CTFE. 
Then the *static pointer* is put into the static initializer, 
which is just copied over before the constructor.
So it ends up being an instance reference to a static object.
If you want a new one, call `new Foo` in a regular constructor.
    
    
More information about the Digitalmars-d-learn
mailing list