import org.checkerframework.common.value.qual.BottomVal;
import org.checkerframework.common.value.qual.MinLen;
public class LUB {
public static void MinLen(int @MinLen(10) [] arg, int @MinLen(4) [] arg2) {
int[] arr;
if (true) {
arr = arg;
} else {
arr = arg2;
}
//:: error: (assignment.type.incompatible)
int @MinLen(10) [] res = arr;
int @MinLen(4) [] res2 = arr;
//:: error: (assignment.type.incompatible)
int @BottomVal [] res3 = arr;
}
public static void Bottom(int @BottomVal [] arg, int @MinLen(4) [] arg2) {
int[] arr;
if (true) {
arr = arg;
} else {
arr = arg2;
}
//:: error: (assignment.type.incompatible)
int @MinLen(10) [] res = arr;
int @MinLen(4) [] res2 = arr;
//:: error: (assignment.type.incompatible)
int @BottomVal [] res3 = arr;
}
public static void BothBottom(int @BottomVal [] arg, int @BottomVal [] arg2) {
int[] arr;
if (true) {
arr = arg;
} else {
arr = arg2;
}
int @MinLen(10) [] res = arr;
int @BottomVal [] res2 = arr;
}
}