What's wrong with this simple symbol table class? class Symbol { private char[] id; private static Symbol[char[]] symtab;
private this( string id) { this.id = id; } static Symbol opCall( char[] id) { Symbol sym = symtab[id]; // *** ArrayBoundsError here if (sym is null) { sym = symtab[id] = new Symbol( id); } return sym; } } void main() { auto sym = Symbol( "foo"); } Running gives Error: ArrayBoundsError Does symtab need to be initialized in, say, a static if. The reference documentation on associative arrays does not suggest that it needs to be. Thanks for all help. Justin