// Compiler options: -r:gtest-646-lib.dll public class LocalBug<T> { public int Foo (LocalBug<T> p1, LocalBug<T> p2) { return 1; } public int Foo (LocalBug<object> p1, LocalBug<T> p2) { return 2; } } class X { public static int Main () { var o = new CompilerBug<object> (); if (o.Foo (o, o) != 2) return 1; var o2 = new LocalBug<object> (); if (o2.Foo (o2, o2) != 2) return 2; return 0; } }