Kagamin Wrote:
> Static constructor can execute any valid D statements including construction 
> of objects.
> This works:
> ---
> import std.stdio;
> 
> class Matrix
> {
>       int i;
> 
>       this(int j)
>       {
>               i=j;
>       }
> }
> 
> Matrix m;
> 
> static this()
> {
>       m=new Matrix(7);
> }
> 
> void main()
> {
>     writeln(m.i);
> }
> ---

I think the problem with that is that if you have a lot of functions every one 
of which needs a static instance of the same class you'll need to maintain a 
list of static objects in the static constructor. Weed wants every object to be 
declared in the function where it is needed.

Reply via email to