I have a note that I saw what looked like a related problem in build 017dc798-8948-4391-8614-d59a2b2f7c43. It happened when Map.merge had an unspecified-nullness parameter for V value under J2CL and some Guava code naturally had @NonNull V value. A non-null subclass parameter should be considered valid when overriding a method with an unspecified superclass parameter.
The two do seem plausibly related and might even be fixed by my internal CL 664839751, which implements at least some of the changes of https://github.com/jspecify/jspecify/issues/248 (hopefully all of them).
I have a note that I saw what looked like a related problem in build 017dc798-8948-4391-8614-d59a2b2f7c43. It happened when
Map.merge
had an unspecified-nullness parameter forV value
under J2CL and some Guava code naturally had@NonNull V value
. A non-null subclass parameter should be considered valid when overriding a method with an unspecified superclass parameter.I also have a note that either I thought it might be related to https://github.com/jspecify/jspecify-reference-checker/issues/193 or just that I figured https://github.com/jspecify/jspecify-reference-checker/issues/193 was another thing that I should look into at the same time.
The two do seem plausibly related and might even be fixed by my internal CL 664839751, which implements at least some of the changes of https://github.com/jspecify/jspecify/issues/248 (hopefully all of them).