opDispatch and compile time parameters

Andrei Alexandrescu via Digitalmars-d digitalmars-d at puremagic.com
Wed Oct 21 03:55:28 PDT 2015


On 10/19/15 9:49 PM, Jonathan M Davis wrote:
> On Monday, 19 October 2015 at 23:37:09 UTC, Timon Gehr wrote:
>> This is the worst part:
>>
>> class C{
>>     int[] x=[1,2,3];
>> }
>>
>> void main(){
>>     auto mut=new C;
>>     auto imm=new immutable(C);
>>     assert(imm.x[0]==1);
>>     mut.x[0]=2;
>>     assert(imm.x[0]==2);
>> }
>
> Oooo. Ouch. Yeah, that pushes it from being a good idea to disallow this
> in order to avoid bugs to a necessity to disallow it in order to avoid
> breaking the type system.

Please file, thanks. -- Andrei



More information about the Digitalmars-d mailing list