NullAway interprets type parameters differently from the checker framework (TCF)
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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