How to make a global immutable associative array?

Don x at nospam.com
Wed Mar 19 03:10:13 PDT 2014


On Wednesday, 19 March 2014 at 09:12:53 UTC, Dicebot wrote:
> On Wednesday, 19 March 2014 at 02:52:23 UTC, bearophile wrote:
>> Rikki Cattermole:
>>
>>> Is an enum not appropriate? Because it can be used to push 
>>> constants and available at ctfe.
>>>
>>> enum int[int] aa = [1: 2, 3: 4];
>>> pragma(msg, aa);
>>
>> This is bad from an efficiency point of view. I think Don even 
>> suggested to disallow it.
>>
>> Bye,
>> bearophile
>
> It still only existing way to define compile-time usable AA 
> value, disallowing it without fixing alternatives is not an 
> option.

The only thing I've said we should disallow, is creating a 
runtime reference to a value which only exists at compile-time. I 
think it is logically nonsensical.

I don't see any problem at all with creating a compile-time AA, 
and then looking up an index in it at compile time.



More information about the Digitalmars-d mailing list