using System; struct Foo { public T Data; public Foo (T data) { this.Data = data; } } class Test { public Foo GetFoo (T data) { return new Foo (data); } } class X { public static int Main () { Test test = new Test (); Foo 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) return 1; return 0; } }