// CS1956: The interface method `I.M(out string)' implementation is ambiguous between following methods: `A.M(out string)' and `A.M(ref string)' in type `Test' // Line: 17 // Compiler options: -warnaserror interface I { void M (out T x); } class A { public virtual void M (out T t) { t = default (T); } public virtual void M (ref U u) { } } class Test : A, I { static void Main () { I x = new Test (); string s; x.M (out y); } }