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

Reply via email to