jspecify / jspecify/jspecify

Justify our recommendation against `optional`/`provided` scope

Open Beginner friendly
#851 6 comments 0 reactions 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

The warning: https://github.com/jspecify/jspecify/blob/4e80178f7e3ef556169c7866e2c91dae3f69750d/docs/docs/using.md?plain=1#L32

Some previous threads offer hints of why:

I recently learned of another, which is that kotlinc will be upset if you write fun foo() = SomeJavaThing.thatHasNullableOnItsReturnType(), as reported in https://github.com/keiyoushi/extensions-source/pull/16590:

Type annotation class 'org.jspecify.annotations.Nullable' of the inferred type is inaccessible. Check the module classpath for missing or conflicting dependencies. This will become an error in language version 2.4. See https://youtrack.jetbrains.com/issue/KT-80247.

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 warning in docs/docs/using.md, then read issues #389 and #294 and the linked Kotlin report for supporting context. Update the documentation so the recommendation against optional/provided scope has a clear, accurate justification, with the cited dependency and Kotlin concerns reflected; done means the guidance is understandable without relying on the issue thread.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.