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
