static this sucks, we should deprecate it

Steven Schveighoffer schveiguy at yahoo.com
Thu May 28 08:39:51 PDT 2009


On Thu, 28 May 2009 11:36:23 -0400, Steven Schveighoffer  
<schveiguy at yahoo.com> 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.
>
> -Steve

Um.. duh, I meant:

import file1;

not import file1.d;

With that fix, then you should get the right message :)

-Steve



More information about the Digitalmars-d mailing list