Chris Povirk
Chris Povirk
> * We should decide whether a `var` lambda parameter is nullness-applicable or not. If not, it's probably like an unbounded `?` perhaps? Considered nullable in null-marked code, unspecified in...
I was responding to: > If not, it's probably like an unbounded `?` perhaps? Considered nullable in null-marked code, unspecified in unspecified code? I see the "nullable" there as in...
Sounds like type-use annotations on `var` lambda parameters will indeed end up becoming invalid Java ([thread](https://mail.openjdk.org/pipermail/compiler-dev/2022-October/020718.html), [issue](https://bugs.openjdk.org/browse/JDK-8295807)), so that's all the more reason for the decision we already made :)
(#310 makes a case for treating such APIs as `@NullUnmarked`.)
The Checker Framework currently permits this, but they consider it a bug: https://github.com/typetools/checker-framework/issues/679
Over the past year, I've come to believe that it's not our job to write rules like this. Instead, we write rules for subtyping and substitution (and maybe others that...
This could also include a pitch on why nullness is important to begin with. Probably someone has already shared data on the frequency of NPE in production (especially in Android...
[The NullAway paper](https://arxiv.org/pdf/1907.02127.pdf) has a nice bit of motivation in its introduction. And its section 8.3 says that they are now seeing NPE responsible for only ~5% of crashes. They...
> We don't need to sell the "value of nullness analysis" part much. Tools tracking where nulls can go for you should be pretty self-evidently fabulous. I generally agree. And...
(Response to that particular post (and the nullness part in particular) seems to have been fairly negative. That suggests that tracking null is indeed "self-evidently fabulous" to many people. It's...