opDispatch and compile time parameters

Jonathan M Davis via Digitalmars-d digitalmars-d at puremagic.com
Mon Oct 19 18:49:05 PDT 2015


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.

- Jonathan M Davis


More information about the Digitalmars-d mailing list