JetBrains / JetBrains/java-annotations
Add @Covariant and @Contravariant annotations
- Ngôn ngữ chính
- Kotlin
- Star
- 463
- Fork
- 72
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
As a library developer, I want to be able to add some annotations to mark the variance of the type parameters of a class. IDE can give the following hint based on this annotation:
- Report a warning when contravariant type parameter T is used as a function parameter type
- Report a warning when covariant type parameter T is used as a function return type
- For function parameter types, prompt user to use `Function` (take `java.util.function.Function` as an example) instead of `Function`
And the jvm-based language can choose to understand this annotation (e.g. kotlin can understand `class C<@Covariant T>` as `class C`. This is convenient for developers to provide Kotlin-friendly APIs using pure Java.
Hướng dẫn đóng góp
Đánh giá
Issue này chưa được đánh giá.