blob: af018659621cd88c56589c7a58eba4435adb8043 [file] [log] [blame]
// Test case for issue #1032:
// https://github.com/typetools/checker-framework/issues/1032
import java.util.stream.Stream;
import org.checkerframework.checker.nullness.qual.*;
public class Issue1032 {
@SuppressWarnings("nullness")
static @NonNull String castStringToNonNull(@Nullable String arg) {
return (@NonNull String) arg;
}
Stream<@NonNull String> mapStringCast1(Stream<@Nullable String> arg) {
return arg.map(Issue1032::castStringToNonNull);
}
@SuppressWarnings("nullness")
static <T> @NonNull T castTToNonNull(@Nullable T arg) {
return (@NonNull T) arg;
}
Stream<@NonNull String> mapStringCast2(Stream<@Nullable String> arg) {
return arg.map(Issue1032::<String>castTToNonNull);
}
<T> Stream<@NonNull T> mapTCast(Stream<@Nullable T> arg) {
// TODO: false postive
// :: error: (return)
return arg.map(Issue1032::<T>castTToNonNull);
}
}