Thread overview
Run code before dub dependency's `shared static this()`
May 05, 2019
Vladimirs Nordholm
May 05, 2019
Eugene Wissner
May 05, 2019
Daniel N
May 06, 2019
Jacob Carlborg
May 05, 2019
Hello.

I have dub dependency which has a `shared static this()`.

In my project, can I run code code before the dependency's `shared static this()`?
May 05, 2019
On Sunday, 5 May 2019 at 08:24:29 UTC, Vladimirs Nordholm wrote:
> Hello.
>
> I have dub dependency which has a `shared static this()`.
>
> In my project, can I run code code before the dependency's `shared static this()`?


"Static constructors within a module are executed in the lexical order in which they appear. All the static constructors for modules that are directly or indirectly imported are executed before the static constructors for the importer."

Source: https://dlang.org/spec/class.html#static-constructor
May 05, 2019
On Sunday, 5 May 2019 at 08:24:29 UTC, Vladimirs Nordholm wrote:
> Hello.
>
> I have dub dependency which has a `shared static this()`.
>
> In my project, can I run code code before the dependency's `shared static this()`?

This might work:

pragma(crt_constructor)
extern(C)
void early_init()
{
}
May 06, 2019
On 2019-05-05 14:52, Daniel N wrote:

> This might work:
> 
> pragma(crt_constructor)
> extern(C)
> void early_init()
> {
> }

Keep in mind that the D runtime is not full initialized at this point.

-- 
/Jacob Carlborg