http://d.puremagic.com/issues/show_bug.cgi?id=1654
--- Comment #27 from Kenji Hara <k.hara...@gmail.com> 2013-04-27 22:50:37 PDT --- I think this is doable enhancement with sane rule. >From 2.061, we have a 'unique expression' in certain cases. pure int[] newArr(int n) { return new int[](n); } immutable int[] arr = newArr(3); // newArr(3) creates an unique array, so it is implicitly convertible to // immutable class MyClass {} immutable MyClass c = new MyClass(); // Raw NewExpression creates an unique object, so it is implicitly convertible // to immutable. >From 2.063, qualified constructor supports creating 'unique object'. struct MyObj { this(int) pure {} } immutable MyObj *p = new MyObj(1); // this(int) pure makes 'unique object', so the created object is implicitly // convertible to immutable. Based on the 'unique expression' concept, we can consider that an array concatenation creates 'unique expression' when some conditions are satisfied. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------