-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce a NullSpecTypeValidator to ensure unspecified type variables are ok #178
base: main-eisop
Are you sure you want to change the base?
Conversation
The code change looks reasonable. Assuming that I did the testing with eisop/checker-framework#746 correctly, however, I'm now seeing at least a few dozen new errors. It's mostly errors like this:
And some of this similar kind of error:
I also see a tiny bit of this:
(As usual, the line numbers there might not exactly line up with the public version.) One small note: It looks like I had been testing past PRs with the most recent version of eisop/checker-framework that we'd imported already. That version doesn't include any changes from April. That might not matter, but I point it out to say that it's at least possible that any problems "with this PR" actually come from some recent eisop/checker-framework change that I only now imported. However, I'm not sure what that would be other than eisop/checker-framework@1d2bd6c. And when I make that change in my previous test client (which had a combination of #171 and #175), I don't see any errors. So I think that the errors really do result from this PR or the eisop/checker-framework PR. |
@cpovirk Thanks for testing! I've merged eisop/checker-framework#746 now. Locally, the conformance tests for this PR pass for me. Adding the On the highest level, for the
The biggest blocker are the 180 unexpected diagnostics in strict mode. Do you see a pattern do those? Picking one of the lenient failures:
In lenient mode, should T* be a subtype of Object? Currently, it is not, even in lenient mode. Is that a problem with the hierarchy or the test case? I don't see a reason why the bounds of T should matter, as there is an explicit "unspecified" annotation on the use of T. Another question:
Looking at
Should the Sorry for the long message. I made one long comment, but it might be easier to split up replies into individual comments. Or whatever works best for you :-) |
Assuming that I did the testing right, I'm still seeing the errors from last time even after importing eisop/checker-framework#746 :( More on the rest in a bit. |
Fixes #177.
Depends on eisop/checker-framework#746 to also correctly default type variable lower bounds.
@cpovirk If it is easy, could you see whether that EISOP PR introduces any new issues?
With both of these changes, the conformance tests should pass again.