On Thu, Jun 23, 2016 at 08:36:57AM -0700, H. S. Teoh via Digitalmars-d-learn wrote: > On Thu, Jun 23, 2016 at 10:00:33AM -0400, Steven Schveighoffer via > Digitalmars-d-learn wrote: [...] > > > On Wednesday, 22 June 2016 at 22:41:24 UTC, H. S. Teoh wrote: [...] > > > > Maybe try: > > > > > > > > if (buffer[] in myHash) { ... } > > > > > > > > ? Does that make a difference? > > > > > > > > > > > > T > > > > > > > > > > This seems like a bug in the runtime, or am I missing something? > [...] > > It might well be a bug. I'll take a look. [...]
It is indeed a bug. It's caused by the AA implementation receiving a static char array when it's expecting a string (immutable(char)[]) according to the declared key type of the AA. Filed a bug for this: https://issues.dlang.org/show_bug.cgi?id=16199 The compiler should either reject indexing an AA with a char[n], or it should automatically slice the char[n] so that the AA implementation gets the correct type in the key argument. T -- Those who don't understand D are condemned to reinvent it, poorly. -- Daniel N