- Notifications
You must be signed in to change notification settings - Fork 1.1k
Open
Labels
area:nullabilitycompat:javagood first issuePerfect for someone who wants to get started contributingPerfect for someone who wants to get started contributingitype:enhancementitype:question
Description
The @NotNull
and @NonNullable
type annotations are currently used by explicit nulls to not nullify (or add flexible type to) a reference type from Java signatures.
In addition to these annotations, I suggest we also consider the @Nullable
annotation. It indicates a value can indeed be null. In this case, we will always nullify the type (adding | Null
), instead of adding a flexible type.
// in Java @Nullable String f(String s) // in Scala with explicit nulls currently def f(s: (String)?): (String)? // in Scala with explicit nulls considering the annotation def f(s: (String)?): String | Null
A list of @Nullable
annotations we may want to consider:
javax.annotation.Nullable org.jetbrains.annotations.Nullable org.jspecify.annotations.Nullable ...
olhotakhamzaremmal
Metadata
Metadata
Assignees
Labels
area:nullabilitycompat:javagood first issuePerfect for someone who wants to get started contributingPerfect for someone who wants to get started contributingitype:enhancementitype:question