New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support null-safety at generics, varargs and array elements level [SPR-15942] #20496

Open
spring-issuemaster opened this Issue Sep 8, 2017 · 3 comments

Comments

Projects
None yet
1 participant
@spring-issuemaster
Copy link
Collaborator

spring-issuemaster commented Sep 8, 2017

Sébastien Deleuze opened SPR-15942 and commented

As raised and discuss on KT-19592 Kotlin issue, null-safety of Spring API does not apply to generic type arguments. To do so, after KT-19592 being fixed we would have to use ElementType.TYPE_USE but its scope is too wide to make it usable for us at @TypeQualifierDefault level of @Nullable and @NonNullApi.

Another solution would be to add ElementType.TYPE_USE at @Target and annotate every generic type argument of Spring API, maybe that could be done via introducing a @NonNull annotation that would also be useful for #20311.


Issue Links:

  • #20311 Revisit nullability annotations towards GA ("depends on")

Referenced from: commits 0e1be82, 1bc93e3

@spring-issuemaster

This comment has been minimized.

Copy link
Collaborator

spring-issuemaster commented Sep 21, 2017

Sébastien Deleuze commented

I have to postpone this improvement to a future release since there are flaws in current support that need to be fixed, see this detailed description for more info.

@spring-issuemaster

This comment has been minimized.

Copy link
Collaborator

spring-issuemaster commented Mar 12, 2018

Sébastien Deleuze commented

See related discussion about Kotlin artifact with meta-annotations for Java types.

Juergen Hoeller I have added my feedback on their PR. My main concern is that current plan is to have a Kotlin centric meta-annotations library instead of a JVM one that could be use for more wide use cases, including pure Java projects.

@spring-issuemaster

This comment has been minimized.

Copy link
Collaborator

spring-issuemaster commented Apr 16, 2018

Sébastien Deleuze commented

Latest update on that topic: I have asked to JetBrains to not make the upcoming meta-annotation library Kotlin specific since the scope is wider (cf. our usage on Spring which is also useful for Java developers via IDE and static code analysis tools) and also asked if it could avoid to use enums for annotation attribute value in order to avoid compilation warnings like we have currently with When.MAYBE when using Spring null-safety annotations without JSR 305 in the classpath.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment