On Thursday, November 29, 2012 23:28:07 Timon Gehr wrote:
> On 11/29/2012 01:17 PM, Jonathan M Davis wrote:
> > In the past when I've brought up similar solutions, he's been completely
> > opposed to them. ...
> 
> It is not a solution, it is a workaround.

What do you mean? The runtime sees circular dependencies between modules even 
when there's no actual circular dependency between static constructors. We 
need to fix that. One way is to just make the runtime not care, which wouldn't 
be particularly safe. Another is to explicitly tell it that there are no such 
dependencies. I don't see how that's not a solution. And unless someone can 
come up with a way for the runtime to somehow determine on its own that 
there's no actual, circular dependency, I don't see how anything better could 
be done.

Granted, I think that having a single pragma for the whole module like Walter 
is suggesting (as opposed to marking static constructors individually) is a 
bad idea because of the silent breakage that it can cause, but the basic idea 
is solid.

- Jonathan M Davis

Reply via email to