// Note how the order of type parameters is different // in the base class. class Foo[T] { public this () { } public Hello ( _t : T) : void { } } class Bar[T,U] : Foo[U] { public this () { } public Test ( _t : T, _u : U) : void { } } class X { static Test ( bar : Bar[int,string]) : void { bar.Hello ("Test"); bar.Test (7, "Hello"); } static Main () : void { mutable bar = Bar (); Test (bar); } } /* BEGIN-OUTPUT END-OUTPUT */