// Test of disjointness constraints for inferred method region arguments
class C<region P> {
region r;
static <region P1, P2 | P1#P2>void m(C<P1> x, C<P2> y) {}
void warn() {
// Inferred args are P1=r, P2=r
// Should warn that disjointness is violated
m(new C<r>(), new C<r>());
}
}