Summary: A way to mark a static construct as having no
           Product: D
           Version: unspecified
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: DMD

--- Comment #0 from Jonathan M Davis <> 2011-06-11 00:19:12 
PDT ---
It would really help in dealing with circular dependencies between modules if
it were possible to mark a static constructor as not having any dependencies.
It's often the case, and it's a royal pain to get rid of a circular dependency
once the compiler (or is it druntime?) decides that you have one. If you have a
true circular dependency, then you need to redesign things, but if you don't,
then the current status of things is _very_ annoying.

It seems to me that it could be as simple as adding a new attribute (e.g.
@nodeps) which only applied to static constructors and then that static
constructor is then ignored in the tests for circular dependencies. I don't
know how much work it would be to effect such a change, but it at least seems
like it would be a fairly small change, and it would have major benefits. It's
incredibly easy to get a circular dependency once you start using many static
constructors, and the vast majority of the time there isn't really a
dependency. So, having a means to indicate that a static constructor has no
external dependencies would help a lot.

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to