Community
Participate
Working Groups
In the following Xtend class, the first call to descendingSet works, while the second fails: abstract class Outer<V> implements NavigableSet<V> { abstract static class Inner<V> extends Outer<V> { override descendingSet() { super.descendingSet() } } def Outer<V> descendingSet() { val Inner<V> range = null return range.descendingSet() // Type mismatch: cannot convert from Outer<Object> to Outer<V> } override Outer<V> descendingSet2() { val Outer<V> range = null return range.descendingSet() // works } }