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

           Summary: Internal compiler error
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nob...@puremagic.com
        ReportedBy: turkey...@gmail.com


--- Comment #0 from Manu <turkey...@gmail.com> 2012-04-12 16:46:26 PDT ---
module remedy.math.matrix;

struct Vector4
{
    float x = 0.0f;
    float y = 0.0f;
    float z = 0.0f;
    float w = 0.0f;

    static immutable zero =        Vector4( 0.0f, 0.0f, 0.0f, 0.0f );
    static immutable one =        Vector4( 1.0f, 1.0f, 1.0f, 1.0f );
    static immutable right =    Vector4( 1.0f, 0.0f, 0.0f, 0.0f );
    static immutable up =        Vector4( 0.0f, 1.0f, 0.0f, 0.0f );
    static immutable forward =    Vector4( 0.0f, 0.0f, 1.0f, 0.0f );
    static immutable origin =    Vector4( 0.0f, 0.0f, 0.0f, 0.0f );
    static immutable identity =    Vector4( 0.0f, 0.0f, 0.0f, 1.0f );
}

struct Matrix4
{
    union
    {
        struct
        {
            Vector4 x = Vector4.right;
            Vector4 y = Vector4.up;
            Vector4 z = Vector4.forward;
            Vector4 t = Vector4.zero;
        }
        float[16] m;
        Vector4[4] v;
    }

    static immutable Matrix4 identity = Matrix4.init;
}



The final line causes the error:
  static immutable Matrix4 identity = Matrix4.init;

Remove the initialisation ( = Matrix4.init), and it works fine.

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

Reply via email to