// A generic type definition may have another generic type // definition as its parent. class Stack[S] { 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); } static Main () : void { } } /* BEGIN-OUTPUT END-OUTPUT */