/** * More complicated example than ConstraintsNotSatisfied. * This one also uses class region params. */ class ConstraintsNotSatisfied<type T<region TR>, region Cont> { static class Data<region R>{} public <effect E | effect E # writes Cont effect E> void doWork() {} public static void main(String[] args) { ConstraintsNotSatisfied<Data<Root>,Root> cns = new ConstraintsNotSatisfied<Data<Root>,Root>(); // E bound to reads Root, Cont bound to Root // ==> E interferes with writes Cont cns.<reads Root>doWork(); } }