jspecify / jspecify/jspecify

Design FAQ: Further justify why it would "seem wrong if List<?> and List<? extends Object> were equivalent?"

Open Beginner friendly
#841 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
1.1k
Forks
43
Avg merge
9m
Merged PRs (30d)
13

Description

Me in 2022 when the FAQ was a Google Docs document, on "it should actually seem wrong if List<?> and List<? extends Object> were equivalent!":

Only if you [already] buy that List<?> should be truly unbounded, though, right? So this bullet doesn't feel like an argument in favor of treating it as unbounded.

If you want to keep it:

  • I could maybe see sticking something like it after "We found the sum of these arguments to be very strongly compelling." It could be presented along the lines of a summary or "Once you're used to the model, maybe you'll find it compelling, too."
  • I could see moving a section of it up to the "First, it seems clear that the second type should have non-null elements" paragraph, since it seems to be more about Object as "usually non-null" and thus "no longer the top type."

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 with the linked Design FAQ section on wildcards and bounds, especially the sentence about List<?> and List<? extends Object>. Review the suggested placement and framing in the issue, then revise the FAQ so the rationale is clearer and the finished wording addresses the concern without assuming the conclusion.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.