blob: 13f89fac6664852385ecc221a1bc7d875e7b0a2c [file] [log] [blame]
// Testcase for Issue759
// https://github.com/typetools/checker-framework/issues/759
@SuppressWarnings({"nullness", "unchecked"}) // See checker/test/nullness/Issue759.java
public class Issue759 {
void possibleValues(final Class<? extends Enum> enumType) {
lowercase(enumType.getEnumConstants());
lowercase2(enumType.getEnumConstants());
lowercase3(enumType.getEnumConstants());
}
<T extends Enum<T>> void lowercase(final T... items) {}
<T extends Enum<T>> void lowercase2(final T[] items) {}
<T> void lowercase3(final T items) {}
}
@SuppressWarnings("nullness")
class Gen<T extends Gen<T>> {
T[] getConstants() {
return null;
}
}
@SuppressWarnings("nullness")
class IncompatibleTypes {
void possibleValues(final Gen<?> genType) {
lowercase(genType.getConstants());
}
<S> void lowercase(final S items) {}
}