Let's say i have this interface:
interface Orderable<T extends Orderable<T>> {
boolean lessThan(T t);
}
and i want my inline class to implement it:
@__inline__ class FooOrderable implements Orderable<FooOrderable?> {
...
@Override
public boolean lessThan(FooOrderable? foo) {
return false;
}
}
how i'm suppose to write it given that the bound of FooOrderable as to be
Orderable<FooOrderable> but Orderable<FooOrderable> is not a valid type ?
I think that we have moved from a generic of an inline class is unsafe (because
of the NPEs) to it's an illegal type a little to fast.
I believe we should emit an unchecked warning instead with the definition of
unchecked to be widened to include not only the CCEs but also the NPEs.
Rémi