March 14, 2014 [Issue 12365] New: Assigning 1D array to 2D array should require cast | ||||
---|---|---|---|---|
| ||||
https://d.puremagic.com/issues/show_bug.cgi?id=12365 Summary: Assigning 1D array to 2D array should require cast Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nobody@puremagic.com ReportedBy: growlercab@gmail.com --- Comment #0 from growlercab@gmail.com 2014-03-14 16:40:54 PDT --- The code in Ex.1 compiles and runs fine but I think it needs a cast: --- // Ex.1 void main() { int[] a=[1,2,3,4]; int[2][2] b = a; } --- Array assignment in Ex.2 only works with a cast: --- // Ex.2 void main() { int[] a=[1,2,3,4]; int[2][2] b; b = a; // Compile time error cast(int[4])b = a; // works ok } --- I think it should be consistent, preferably with a cast. Thanks, ed -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
March 14, 2014 [Issue 12365] Assigning 1D array to 2D array should require cast | ||||
---|---|---|---|---|
| ||||
Posted in reply to growlercab@gmail.com | https://d.puremagic.com/issues/show_bug.cgi?id=12365 --- Comment #1 from growlercab@gmail.com 2014-03-14 16:49:41 PDT --- I'm not sure how to do the cast on initialisation though: --- // Ex.1 void main() { int[] a=[1,2,3,4]; int[2][2] b = a; } --- Would it be: int[2][2] b = cast(int[2][2])a; but it does not match the existing casts required for assignment: cast(int[4])b = a; Maybe just disallow code as per Ex.1 and only allow the cast assignment from Ex.2? Thanks, ed -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
Copyright © 1999-2021 by the D Language Foundation