Single Abstract Method for SAMs cannot be polymorphic
    Grégoire Neuville 
    gregoire.neuville at gmail.com
       
    Tue Apr  2 13:04:32 PDT 2013
    
    
  
Hi all,
The below code :
public class TestGenericSAM {
  class Gen<B> {}
  @FunctionalInterface
  interface CoArbitrary<A> {
    abstract <B> Gen<B> coarbitrary(A a, Gen<B> g);
  }
  void test() {
    CoArbitrary<?> coArb = (a, g) -> new Gen<>();
  }
}
doesn't compile. I guess this is by design (the annotation alone is marked
as erroneous by IntelliJ), but I'm just wondering why.
Thanks a lot for any explanation !
-- 
Grégoire Neuville
    
    
More information about the lambda-dev
mailing list