import org.checkerframework.checker.tainting.qual.Untainted; /** * Resolution of outer classes must take substitution of generic types into account. Thanks to EMS * for finding this problem. * * <p>Also see all-systems/GenericsEnclosing for the type-system independent test. */ class MyG<X> { X f; void m(X p) {} } class ExtMyG extends MyG<@Untainted Object> { class EInner1 { class EInner2 { void bar() { //:: error: (assignment.type.incompatible) f = 1; m("test"); //:: error: (argument.type.incompatible) m(1); } } } }