public struct GenStruct { } public class Gen { public object doCall (GenStruct x) { return newArr (x); } public object newArr (GenStruct x) { return new T [3]; } } public class main { public static int Main () { Gen gs = new Gen (); if (gs.doCall (new GenStruct ()).GetType () != typeof (string [])) return 1; return 0; } }