You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is minimized from the real code (though that link doesn't include the nullness annotations, nor the additional type parameter that causes the problem).
$ checker/bin/javac -processor org.checkerframework.checker.nullness.NullnessChecker Caller.java
Caller.java:5: error: [assignment.type.incompatible] incompatible types in assignment.
Entry<? extends E> entry = multiset.someEntry();
^
found : @Initialized @NonNull Entry<?[ extends E[ extends T[ extends @Initialized @Nullable Object super @Initialized @Nullable Void] super @Initialized @NonNull Void] super @Initialized @NonNull Void]>
required: @UnknownInitialization @Nullable Entry<?[ extends E[ extends T[ extends @Initialized @Nullable Object super @Initialized @Nullable Void] super @Initialized @NonNull Void] super @Initialized @NonNull Void]>
1 error
I believe this should be legal: The "found" and "required" are identical if you strip off the first two annotations, and for those annotations, the "found" looks to be a subtype of the "required."
The text was updated successfully, but these errors were encountered:
I agree this is a bug. I've traced it to a problem in org.checkerframework.framework.type.DefaultTypeHierarchy#isContainedWildcard, but I'm not sure yet how to fix it.
This is minimized from the real code (though that link doesn't include the nullness annotations, nor the additional type parameter that causes the problem).
I believe this should be legal: The "found" and "required" are identical if you strip off the first two annotations, and for those annotations, the "found" looks to be a subtype of the "required."
The text was updated successfully, but these errors were encountered: