Single Abstract Method for SAMs cannot be polymorphic (original) (raw)

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 {}

@FunctionalInterface interface CoArbitrary { abstract Gen coarbitrary(A a, Gen 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