Chris Povirk
Chris Povirk
As one of kevinb9n's teammates, I also thank you for the comments! A few things I wanted to ask you about: - The runtime instrumentation (for unexpected nulls) is something...
Actually, now I see that I have overlooked the obvious connection between two of my questions: One reason to annotate returns types with `@NonNull` is so that runtime instrumentation can...
`IdentityBinaryExpression` exists but currently lets both of the patterns above through. I suspect that we could find a useful heuristic (e.g., "anything with literals"), but I don't know how hard...
To pass a nullable element, I would try declaring the `Set` you're creating as having a nullable type argument: `final Set params = Sets.newHashSet(website, company);` It's entirely possible that that...
Kurt points out that some of these APIs will, when given a bad timezone, actually return The Unknown Timezone rather than throw an exception as I would have expected.
`InvalidTimeZoneID` was introduced to cover `TimeZone.getTimeZone`, but I'm not sure we did anything with the other two.
Oh, wait, there's `InvalidZoneId`, too. So maybe just not the Joda one, which we care less about.
> @cpovirk Also we think that extending this with support for redundant `Objects.requireNonNull` calls would be beneficial, wdyt? If you agree I will also push it here - I already...
I also wanted to write down somewhere how this differs from https://errorprone.info/bugpattern/ImpossibleNullComparison, at least as I understand it: - ImpossibleNullComparison does not trust annotations. - ImpossibleNullComparison does not handle literals....
FYI, this (or something very similar) [came up](https://github.com/ben-manes/caffeine/issues/1826#issuecomment-2608297511) when Dropwizard upgraded to a new version of Caffeine. Fortunately, in their case, they appear to be better off just [removing their...