import org.checkerframework.checker.nullness.qual.*; // The return of a lambda is a lambda interface ConsumerSupplier { ConsumerR get(); } interface ConsumerR { void method(@Nullable String s); } interface SupplierSupplier { SupplierRe get(); } interface SupplierRe { @NonNull String method(); } class MetaReturn { //:: error: (dereference.of.nullable) ConsumerSupplier t1 = () -> (s) -> s.toString(); ConsumerSupplier t2 = () -> { return (String s) -> { //:: error: (dereference.of.nullable) s.toString(); }; }; SupplierSupplier t3 = () -> { //:: error: (return.type.incompatible) return () -> null; }; SupplierSupplier t4 = () -> { return ""::toString; }; }