./checker-framework-4.0.0/checker/bin/javac -processor nullness CrashRepro.java |& head -n 30
error: StructuralEqualityComparer: unexpected combination: type1: [DECLARED class org.checkerframework.framework.type.AnnotatedTypeMirror$AnnotatedDeclaredType] Foo type2: [TYPEVAR class org.checkerframework.framework.type.AnnotatedTypeMirror$AnnotatedTypeVariable] T extends Foo
visitHistory = org.checkerframework.framework.type.StructuralEqualityVisitHistory@ba90170
; The Checker Framework crashed. Please report the crash. Version: Checker Framework 4.0.0.
Compilation unit: CrashRepro.java
Last visited tree at line 11 column 5:
return Comparator.comparing(T::x).thenComparing(T::y);
Exception: java.lang.Throwable; java.lang.Throwable
at org.checkerframework.javacutil.BugInCF.<init>(BugInCF.java:26)
at org.checkerframework.framework.type.visitor.AtmComboVisitor.defaultAction(AtmComboVisitor.java:66)
at org.checkerframework.framework.type.StructuralEqualityComparer.defaultAction(StructuralEqualityComparer.java:49)
at org.checkerframework.framework.type.StructuralEqualityComparer.defaultAction(StructuralEqualityComparer.java:30)
at org.checkerframework.framework.type.visitor.AbstractAtmComboVisitor.visitDeclared_Typevar(AbstractAtmComboVisitor.java:141)
at org.checkerframework.framework.type.StructuralEqualityComparer.visitDeclared_Typevar(StructuralEqualityComparer.java:401)
at org.checkerframework.framework.type.StructuralEqualityComparer.visitDeclared_Typevar(StructuralEqualityComparer.java:30)
at org.checkerframework.framework.util.AtmCombo.accept(AtmCombo.java:337)
at org.checkerframework.framework.type.StructuralEqualityComparer.areEqual(StructuralEqualityComparer.java:84)
at org.checkerframework.framework.type.StructuralEqualityComparer.areEqualInHierarchy(StructuralEqualityComparer.java:94)
at org.checkerframework.framework.type.DefaultTypeHierarchy.areEqualInHierarchy(DefaultTypeHierarchy.java:340)
at org.checkerframework.framework.type.DefaultTypeHierarchy.isContainedBy(DefaultTypeHierarchy.java:429)
at org.checkerframework.framework.type.DefaultTypeHierarchy.isContainedMany(DefaultTypeHierarchy.java:659)
at org.checkerframework.framework.type.DefaultTypeHierarchy.visitTypeArgs(DefaultTypeHierarchy.java:623)
at org.checkerframework.framework.type.DefaultTypeHierarchy.visitDeclared_Declared(DefaultTypeHierarchy.java:556)
at org.checkerframework.framework.type.DefaultTypeHierarchy.visitDeclared_Declared(DefaultTypeHierarchy.java:49)
at org.checkerframework.framework.util.AtmCombo.accept(AtmCombo.java:313)
at org.checkerframework.framework.type.DefaultTypeHierarchy.isSubtype(DefaultTypeHierarchy.java:260)
at org.checkerframework.framework.type.DefaultTypeHierarchy.isSubtype(DefaultTypeHierarchy.java:138)
at org.checkerframework.common.basetype.BaseTypeVisitor.commonAssignmentCheck(BaseTypeVisitor.java:3252)
at org.checkerframework.common.basetype.BaseTypeVisitor.commonAssignmentCheck(BaseTypeVisitor.java:3227)
at org.checkerframework.common.basetype.BaseTypeVisitor.visitReturn(BaseTypeVisitor.java:2369)
at org.checkerframework.common.basetype.BaseTypeVisitor.visitReturn(BaseTypeVisitor.java:189)