[phobos] Proposed feature: print cycle when a module cyclic dependency is detected
Steve Schveighoffer
schveiguy at yahoo.com
Tue Jun 22 06:24:54 PDT 2010
I just realized that this patch isn't good enough (it does not print modules which have no constructors/destructors but which import other modules), I'm working on a better one.
But it's definitely possible. So assume I will have a patch shortly, does the concept seem worthy?
-Steve
----- Original Message ----
> From: Steve Schveighoffer <schveiguy at yahoo.com>
> To: Phobos <phobos at puremagic.com>
> Sent: Tue, June 22, 2010 8:59:23 AM
> Subject: [phobos] Proposed feature: print cycle when a module cyclic dependency is detected
>
> Hi all,
Recently, I had an issue when developing std.process. I
> inadvertently caused a cyclic dependency in modules. However, the error
> was not enough to find the problem:
object.Exception: Cyclic dependency
> in module std.stdio
The problem is, this is the *end* of the cycle, not
> the source. I actually hadn't changed the imports of std.stdio.
So
> I improved the module constructor function to automatically print all modules
> involved in the cycle, in the order they were imported. Attached is the
> patch. The function should not adversely affect the runtime in normal
> operation, since the changes I made only occur when a terminating exception is
> about to be thrown anyways. Do people agree this is a worthy improvement
> to the runtime? Anyone see any issues with the patch? If everyone likes,
> I'll commit.
-Steve
More information about the phobos
mailing list