namespace A { interface IFoo { Hello (_foo : IFoo) : void; } } namespace B { partial class Test [T] : IDoo, A.IFoo where T : A.IFoo { } } namespace B { using A; partial class Test [T] : Y, IFoo where T : IFoo { IFoo_Hello (_foo : IFoo) : void implements IFoo.Hello { } } } interface IDoo { } class Y { } class X { static Main () : void { } } /* BEGIN-OUTPUT END-OUTPUT */