uber / uber/NullAway

NullAway interprets type parameters differently from the checker framework (TCF)

Open
#83 17 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Java
Stars
4.1k
Forks
370
Avg merge
1d 13h
Merged PRs (30d)
68

Description

In TCF, a type parameter that has no annotations is assumed to have a nullable upper bound. For example,

interface List {
T add(T t);
}

I think T is assumed to be nullable.

Based on my experience with NullAway, the method parameter of add(T) is assumed to be @NonNull.

Please correct me if I am wrong.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the 17-comment discussion and the issue's List.add(T) example, then compare NullAway's behavior with the Checker Framework's stated treatment of unannotated type parameters. Because no files, tests, or concrete change are named, done would require an agreed behavior and a defined regression test or documentation update.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.