Implicit .dup inserting into AA keyed on char[], or not?
Nick Sabalausky
a at a.a
Thu Mar 3 19:57:40 PST 2011
"Jonathan M Davis" <jmdavisProg at gmx.com> wrote in message
news:mailman.2156.1299206161.4748.digitalmars-d-learn at puremagic.com...
> On Thursday 03 March 2011 17:54:46 Nick Sabalausky wrote:
>> In D2, if you do this:
>>
>> void foo(char[] key)
>> {
>> bool[char[]] aa;
>> aa[key] = true;
>> }
>>
>> Does that last line allocate a duplicate of key's data?
>
> More like it's illegal. The key type for associative arrays _must_ be
> immutable.
> Previously, that wasn't check for by the compiler, which meant that it was
> possible to change the values of keys (not good), which could quickly
> result in
> an AA in an invalid state. Not too long ago, however, it was fixed so that
> that's
> not legal.
>
Ahh, I'm still on 2.050 so that's probably why it worked for me. (There's no
particular reason I haven't updated to 2.051 or 2.052, I just got busy with
non-D stuff for awhile and haven't gotten around to it.)
More information about the Digitalmars-d-learn
mailing list