digitalmars.D.bugs - [Issue 12402] New: Improved typing for array concatenation
- d-bugmail puremagic.com (32/32) Mar 18 2014 https://d.puremagic.com/issues/show_bug.cgi?id=12402
https://d.puremagic.com/issues/show_bug.cgi?id=12402 Summary: Improved typing for array concatenation Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: enhancement Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: bearophile_hugs eml.cc int[5] foo(int[2] a, int[3] b) { typeof(return) result = a ~ b; // OK return result; } int[5] bar(int[2] a, int[3] b) { return a ~ b; // Error } void main() {} DMD 2.066alpha gives: test2.d(6,12): Error: cannot implicitly convert expression (cast(int[])a ~ cast(int[])b) of type int[] to int[5] I suggest to support the code in bar() too. (A small optimization can even remove any heap allocations from the bar() function). I am not sure, but perhaps the solution is similar to a value range propagation: to propagate the statically known length of an array. (Expecially for immutable arrays, as in Issue 10594 ). -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Mar 18 2014