using System; struct Foo[T] { public mutable Data : T; public this ( data : T) { this.Data = data; } } class Test[T] { public GetFoo ( data : T) : Foo[T] { Foo (data); } } class X { static Main () : int { mutable test = Test (); mutable foo = test.GetFoo (0x800); // // This is a very simple test, just make sure the struct // is returned correctly. This was broken until recently // and I just fixed it on amd64. if (foo.Data != 0x800) // // This is a very simple test, just make sure the struct // is returned correctly. This was broken until recently // and I just fixed it on amd64. { 1; // // This is a very simple test, just make sure the struct // is returned correctly. This was broken until recently // and I just fixed it on amd64. } // // This is a very simple test, just make sure the struct // is returned correctly. This was broken until recently // and I just fixed it on amd64. else { 0; } } } /* BEGIN-OUTPUT END-OUTPUT */