In this example all 3 assertions fails. Class Base and Child are imported via static libraries. The issue occus on linux and windows with recent dmd compiler. file main.d ------------------------------------------------------------------- import base, child; void main() { import std.traits: fullyQualifiedName; assert( Object.factory(fullyQualifiedName!Child) !is null); assert( createObject(fullyQualifiedName!Base) !is null); assert( createObject(fullyQualifiedName!Child) !is null); } file base.d ------------------------------------------------------------------- module base; class Base { } Object createObject(string name) { return Object.factory(name); } file child.d -------------------------------------------------------------------- module child; import base; class Child: Base { } The application is compiled via dmd base -lib dmd child -lib base.lib dmd main base.lib child.lib main PAUSE
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/19139 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB