www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 17114] New: DMD 2.073.0 Error: undefined identifier

https://issues.dlang.org/show_bug.cgi?id=17114

          Issue ID: 17114
           Summary: DMD 2.073.0 Error: undefined identifier
                    '_arrayExpComSliceAndass_k' in module 'app'
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: regression
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: viserion.thrall gmail.com

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!

--
Jan 23 2017