class CyclicInferenceBug { interface Func1 { R apply(T1 v1); void other(); } interface F1 extends Func1 { default void other() {} } Func1 func(F1 f1) { return f1; } void test() { Func1 f1 = func(s -> s); } }