// A generic type declaration may have a non-generic base type. class TheBase { public BaseFunc () : void { } } class Stack[S] : TheBase { public Hello ( _s : S) : void { } } class Test[T] : Stack[T] { public Foo ( _t : T) : void { } } class X { mutable test : Test[int]; Test () : void { test.Foo (4); test.Hello (3); test.BaseFunc (); } static Main () : void { } } /* BEGIN-OUTPUT END-OUTPUT */