Associative Arrays in the data segment
Daniel Kozak via Digitalmars-d
digitalmars-d at puremagic.com
Fri Apr 10 01:15:39 PDT 2015
On Friday, 10 April 2015 at 07:54:44 UTC, Daniel Murphy wrote:
> One long-standing issue with AAs has been that you can't
> generate constant ones at compile time and access them at
> run-time. Workarounds are available, like initializing them in
> static this or using horribly inefficient enum AAs.
>
> I've opened
> https://github.com/D-Programming-Language/dmd/pull/4571 which
> allows code like this:
>
> immutable int[int] aa = [1 : 7, 3 : 2];
>
> void main()
> {
> assert(aa[1] == 7);
> assert(aa[3] == 2);
> }
>
> It only works with integral types of at most 32-bits at the
> moment, but most built-in types are fairly easy to support.
> The downside is requires re-implementing druntime's AA and
> hashing algorithms in the compiler, and keeping them in sync
> when either changes.
>
> I think it's worthwhile, even if only integral and string keys
> are supported for now. That would cover 99% of my AA use.
>
> Is anybody else interested in seeing this in the next release?
this would be awesome
More information about the Digitalmars-d
mailing list