static this sucks, we should deprecate it

Ary Borenszweig ary at esperanto.org.ar
Thu May 28 09:11:18 PDT 2009


Steven Schveighoffer wrote:
> On Thu, 28 May 2009 11:32:19 -0400, Ary Borenszweig 
> <ary at esperanto.org.ar> wrote:
> 
>> Unknown W. Brackets wrote:
>>> Probably a silly idea, but what about (or similar):
>>>  static this: mod.name, mod.name2, mod.name3
>>> {
>>> }
>>>  For a dependency list.  I may be wrong, but afaik the main problems 
>>> stem from either wrong order or co-dependence (which needs to be 
>>> solved by the programmer.)
>>>  At least with this, you could ask the compiler for an order, 
>>> potentially.  If the other modules had no static this, it could 
>>> ignore it, allowing future proofing.
>>>  But, maybe that's an ugly hack.
>>>  -[Unknown]
>>>   davidl wrote:
>>>> Why on earth we still let the tumor grow?
>>>> I would love to specify the order by myself not by the arbitrary order
>>>> generated by the compiler.
>>>>
>>
>> Hi,
>>
>> Can someone explain me what is exactly the problems with static this? 
>> Something like a small example that shows the problem, so I can at 
>> least think of a solution (because I don't know the problem).
>>
>> Thanks!
>> Ary
> 
> 
> Something like:
> 
> file1.d:
> 
> import file2.d;
> 
> static this()
> {
> }
> 
> file2.d:
> 
> import file1.d;
> 
> static this()
> {
> }
> 
> fails to compile due to the perceived circular dependency, even though 
> none exists.

Thanks, yes, it fails to run. But why? What could happen if that error 
wasn't issued? I'm looking for an example where something wrong could 
happen.



More information about the Digitalmars-d mailing list