//ä function Test(a, b: T): integer; where T:System.IComparable; begin var x: T; x.CompareTo{@function IComparable<>.CompareTo(other: T): integer; virtual;@}(a); end; procedure Test2(a, b: T); where T:System.IComparable; begin var x: T; x.CompareTo{@function IComparable<>.CompareTo(other: real): integer; virtual;@}(a); end; begin end.