import org.checkerframework.common.aliasing.qual.Unique; class A { static A lastA; public A() { lastA = this; } public @Unique A(String s) {} } class B extends A { public @Unique B() { //:: error: (unique.leaked) super(); // "this" is aliased to A.lastA. } public @Unique B(String s) { super(s); // no aliases created } }