| import org.checkerframework.checker.nullness.qual.*; |
| |
| interface Supplier<T extends @NonNull Object> { |
| T supply(); |
| } |
| |
| interface Supplier2<T extends @Nullable Object> { |
| T supply(); |
| } |
| |
| class GroundTargetType { |
| |
| static @Nullable Object myMethod() { |
| return null; |
| } |
| |
| // :: error: (type.argument) |
| Supplier<? extends @Nullable Object> fn = GroundTargetType::myMethod; |
| // :: error: (methodref.return) |
| Supplier<? extends @NonNull Object> fn2 = GroundTargetType::myMethod; |
| |
| // Supplier2 |
| // :: error: (methodref.return) |
| Supplier2<? extends @NonNull Object> fn3 = GroundTargetType::myMethod; |
| } |