Comment #0 by viserion.thrall — 2017-01-23T08:06:39Z
With DMD 2.073.0 I am now getting compilation errors when compiling the code contained in https://github.com/Soulsbane/ctoptions/blob/develop/source/ctoptions/commander.d
./libs/ctoptions/source/ctoptions/commander.d(187,28): Error: undefined identifier '_arrayExpComSliceAndass_k' in module 'app'
../libs/ctoptions/source/ctoptions/commander.d(187,28): Error: undefined identifier '_arrayExpSliceAndass_k' in module 'app'
source/app.d(232,13): Error: template instance app.main.Commander!"app".Commander.process!() error instantiating
It is failing on this code:
alias member = helper!(__traits(getMember, mod, memberName));
The 'mod' variable comes from:
alias mod = helper!(mixin(modName));
This code is part of a mixin template where 'modName' is defined as
mixin template Commander(string modName = __MODULE__).
I have no idea what the problem is. This code has always worked before now. The only fix for now is I've done a static if to check for those function names and skip over them in that case.
Hopefully that's enough info! Thanks!
Comment #1 by viserion.thrall — 2017-01-24T06:33:21Z
I'm still not sure what changed in the new DMD but I'ved fixed that problem. It had to deal with a library publically importing another library as far as I could see. Disregard this.