// Test case that was submitted in Issue 402, but was combined with Issue 979 // https://github.com/typetools/checker-framework/issues/979 // @below-java8-jdk-skip-test import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; import org.checkerframework.checker.nullness.qual.Nullable; public class Issue980 { void m(List<String> strings) { Stream<String> s = strings.stream(); // This works: List<String> collectedStrings1 = s.collect(Collectors.<String>toList()); // This works: List<@Nullable String> collectedStrings2 = s.collect(Collectors.toList()); // This works: @SuppressWarnings("nullness") List<String> collectedStrings3 = s.collect(Collectors.toList()); // This assignment issues a warning due to incompatible types: List<String> collectedStrings = s.collect(Collectors.toList()); collectedStrings.forEach(System.out::println); } }