[Issue 16291] phobosinit fails to register encodings on individual tests
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Tue Jul 19 09:53:35 PDT 2016
https://issues.dlang.org/show_bug.cgi?id=16291
--- Comment #3 from Steven Schveighoffer <schveiguy at yahoo.com> ---
(In reply to Ketmar Dark from comment #2)
> aha. i see.
>
> the thing is that std.internal.phobosinit is not imported from anywhere, so
> linker simply not including it in resulting executable!
>
Well... That's weird.
I assumed module ctors would still be included, even if not imported. How the
hell does vibe.d work, where everything is set up in a module ctor?
>
> i.e. we have to do "import std.internal.phobosinit;" in "std.encoding". but
> that defeats the purpose of moving the whole thing to separate module, i
> guess.
Yes, it does. I purposely removed all imports of phobosinit (was called
processinit, and std.process imported it) to avoid cycles.
> what was the idea behind moving that initialization to separate module? it
> seems that leaving it in std.encoding is not conflicting with anything: not
> one of phobos modules that imports "std.encoding" has module ctors.
There was a cycle between std.encoding and something else. The easiest thing to
do was to remove the constructors.
--
More information about the Digitalmars-d-bugs
mailing list