Seems strange that a default makes it extern, maybe you also need a @:keep for it ?