http://d.puremagic.com/issues/show_bug.cgi?id=3133

           Summary: Compiler does not check that static array casts are
                    legal
           Product: D
           Version: 1.039
          Platform: All
        OS/Version: All
            Status: NEW
          Keywords: accepts-invalid
          Severity: minor
          Priority: P2
         Component: DMD
        AssignedTo: nob...@puremagic.com
        ReportedBy: jarrett.billings...@gmail.com


When doing casts on dynamic arrays, invalid casts (i.e. where the sizes of the
source and destination arrays do not have a 0 remainder) are correctly
diagnosed as an error:

short[] x = [1];
int[] y = cast(int[])x; // error, array cast misalignment

The equivalent operation performed on static arrays should be diagnosable at
compile-time, but isn't:

short[1] x = [1];
int[1] y = cast(int[1])x; // accepted, even though illegal
writefln("%s", y[0]); // prints garbage

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------

Reply via email to