mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-03-10 08:31:29 +00:00
33 lines
1.2 KiB
Java
Vendored
33 lines
1.2 KiB
Java
Vendored
import org.jspecify.nullness.*;
|
|
|
|
@NullMarked
|
|
public class WildcardsWithDefault {
|
|
public void noBoundsNotNull(A<?, ?, ?> a) {}
|
|
public void noBoundsNullable(A<@Nullable ?, @Nullable ?, @Nullable ?> a) {}
|
|
}
|
|
|
|
class A <T extends Object, E extends @Nullable Object, F extends @NullnessUnspecified Object> {}
|
|
|
|
@NullMarked
|
|
class Use {
|
|
public static void main(
|
|
A<Object, Object, Object> aNotNullNotNullNotNull,
|
|
A<Object, Object, @Nullable Object> aNotNullNotNullNull,
|
|
A<Object, @Nullable Object, Object> aNotNullNullNotNull,
|
|
A<Object, @Nullable Object, @Nullable Object> aNotNullNullNull,
|
|
WildcardsWithDefault b
|
|
) {
|
|
// jspecify_nullness_mismatch
|
|
b.noBoundsNotNull(aNotNullNotNullNotNull);
|
|
b.noBoundsNotNull(aNotNullNotNullNull);
|
|
// jspecify_nullness_mismatch
|
|
b.noBoundsNotNull(aNotNullNullNotNull);
|
|
// jspecify_nullness_mismatch
|
|
b.noBoundsNotNull(aNotNullNullNull);
|
|
|
|
b.noBoundsNullable(aNotNullNotNullNotNull);
|
|
b.noBoundsNullable(aNotNullNotNullNull);
|
|
b.noBoundsNullable(aNotNullNullNotNull);
|
|
b.noBoundsNullable(aNotNullNullNull);
|
|
}
|
|
} |