Skip to content

Document relationship between recent Guava versions and JSpecify mode #1193

@msridhar

Description

@msridhar

As seen in PicnicSupermarket/error-prone-support#1598, the latest Guava releases that use JSpecify annotations (33.4.4 or higher I think) also introduce additional @ParametricNullness annotations that NullAway out of the box treats as @Nullable, potentially leading to new false positives. The risk for additional false positives is higher since all of Guava is now @NullMarked, so NullAway will always treat its APIs as annotated. The false positives due to @ParametricNullness go away in JSpecify mode due to its generic checking, but that may lead to other false positives (e.g., due to incomplete inference for generic method calls). We should document this in our README for Guava users and recommend they try JSpecify mode if they run into too many false positives under default NullAway checking.

Metadata

Metadata

Assignees

Labels

jspecifyRelated to support for jspecify standard (see jspecify.dev)

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions