Identifier too long - Should this be considered a bug?

Janice Caron caron800 at googlemail.com
Sat Oct 13 02:33:19 PDT 2007


I've just been writing this program. It's very heavy on templates.

I guess I just added one alias too many. My latest compile failed with
the error message:

Error: identifier ... is too long by 2210 characters.

(I snipped the actual identifier name for obvious reasons). So
basically, an alias expands to a template which contains other aliases
which in turn expand to templates - and so on out to many levels. I
had this really cool and beautiful code going, when suddenly - wham!
Proceed no further!

Why should there be an arbitrary limit on compiler-generated identfier names?

The human-readable names were all of reasonable length, but the
mangled name that the compiler comes up with is too long for itself.

To me, this feels like a compiler bug. I don't feel that I, as a
programmer, did anything wrong. Why should there be a limit to how
deeply one can nest template parameters?

Anyway, I put this to the rest of you. Do we care? Can we call this a
bug? Or am I just wanting too much?



More information about the Digitalmars-d mailing list