| 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) |
| return () -> null; |
| }; |
| |
| SupplierSupplier t4 = |
| () -> { |
| return ""::toString; |
| }; |
| } |