using System; using System.Collections.Generic; class C { public static int Test(T a, IComparable b) where T: IComparable { return 1; } public static int Test_2(IList a, T b) { return 2; } public static int Main () { dynamic d = 1; if (Test (1, d) != 1) return 1; if (Test (d, 1) != 1) return 2; if (Test_2 (new int [0], d) != 2) return 3; return 0; } }