blob: dd59d94892f221716fbee669b11c350577c272f6 [file] [log] [blame]
// Test case for issue #4007: https://tinyurl.com/cfissue/4007
// @skip-test until the issue is fixed
import java.util.List;
import java.util.Optional;
import org.checkerframework.checker.nullness.qual.NonNull;
final class Issue4007 {
Optional<String> m1(List<String> list) {
return list.isEmpty() ? Optional.empty() : Optional.of(list.get(0));
}
Optional<Optional<String>> m2(List<String> list) {
return Optional.of(list.isEmpty() ? Optional.empty() : Optional.of(list.get(0)));
}
Optional<Optional<String>> m3(List<String> list) {
return Optional.of(
list.isEmpty() ? Optional.<@NonNull String>empty() : Optional.of(list.get(0)));
}
Optional<Optional<String>> m4(List<String> list) {
return Optional.of(
list.isEmpty() ? Optional.empty() : Optional.<@NonNull String>of(list.get(0)));
}
Optional<Optional<String>> m5(List<String> list) {
return Optional.of(
list.isEmpty()
? Optional.<@NonNull String>empty()
: Optional.<@NonNull String>of(list.get(0)));
}
}