Report an error when variance is specified for a function or property type parameter
This commit is contained in:
+17
@@ -0,0 +1,17 @@
|
||||
fun <<!VARIANCE_ON_FUNCTION_OR_PROPERTY_PARAMETER!>in<!> T> f() {
|
||||
|
||||
}
|
||||
|
||||
fun <<!VARIANCE_ON_FUNCTION_OR_PROPERTY_PARAMETER!>out<!> T> g() {
|
||||
|
||||
}
|
||||
|
||||
fun <<!VARIANCE_ON_FUNCTION_OR_PROPERTY_PARAMETER!>out<!> T, <!VARIANCE_ON_FUNCTION_OR_PROPERTY_PARAMETER!>in<!> X, Y> h() {
|
||||
|
||||
}
|
||||
|
||||
val <<!VARIANCE_ON_FUNCTION_OR_PROPERTY_PARAMETER!>out<!> T> T.x: Int
|
||||
get() = 1
|
||||
|
||||
val <<!VARIANCE_ON_FUNCTION_OR_PROPERTY_PARAMETER!>in<!> T> T.y: Int
|
||||
get() = 1
|
||||
@@ -22,7 +22,7 @@ fun test() {
|
||||
|
||||
fun arrayList<T>(vararg values: T) : ArrayList<T> = values.toCollection(ArrayList<T>(values.size))
|
||||
|
||||
fun <in T, C: MutableCollection<in T>> Array<T>.toCollection(result: C) : C {
|
||||
fun <T, C: MutableCollection<in T>> Array<T>.toCollection(result: C) : C {
|
||||
for (element in this) result.add(element)
|
||||
return result
|
||||
}
|
||||
|
||||
@@ -12,4 +12,4 @@ fun test() {
|
||||
|
||||
//from library
|
||||
fun arrayList<T>(vararg <!UNUSED_PARAMETER!>values<!>: T) : ArrayList<T> {<!NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY!>}<!>
|
||||
fun <in T> Iterable<T>.plus(<!UNUSED_PARAMETER!>elements<!>: Iterable<T>): List<T> {<!NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY!>}<!>
|
||||
fun <T> Iterable<T>.plus(<!UNUSED_PARAMETER!>elements<!>: Iterable<T>): List<T> {<!NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY!>}<!>
|
||||
@@ -35,7 +35,7 @@ fun <T, R, C: MutableCollection<in R>> Collection<T>.mapTo(result: C, transform
|
||||
return result
|
||||
}
|
||||
|
||||
fun <in T, C: MutableCollection<in T>> Array<T>.toCollection(result: C) : C {
|
||||
fun <T, C: MutableCollection<in T>> Array<T>.toCollection(result: C) : C {
|
||||
for (element in this) result.add(element)
|
||||
return result
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ fun assertEquals(<!UNUSED_PARAMETER!>expected<!>: Any?, <!UNUSED_PARAMETER!>actu
|
||||
|
||||
fun arrayList<T>(vararg values: T) : ArrayList<T> = values.toCollection(ArrayList<T>(values.size))
|
||||
|
||||
fun <in T, C: MutableCollection<in T>> Array<T>.toCollection(result: C) : C {
|
||||
fun <T, C: MutableCollection<in T>> Array<T>.toCollection(result: C) : C {
|
||||
for (element in this) result.add(element)
|
||||
return result
|
||||
}
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
package test
|
||||
|
||||
fun <in T> f() = 1
|
||||
@@ -1,3 +0,0 @@
|
||||
namespace test
|
||||
|
||||
internal final fun </*0*/ in T : jet.Any?>f(): jet.Int
|
||||
@@ -1,3 +0,0 @@
|
||||
package test
|
||||
|
||||
fun <out T> f() = 1
|
||||
@@ -1,3 +0,0 @@
|
||||
namespace test
|
||||
|
||||
internal final fun </*0*/ out T : jet.Any?>f(): jet.Int
|
||||
@@ -1,3 +0,0 @@
|
||||
package test
|
||||
|
||||
fun <in P, Q : P> funParamReferencesParam() = 1
|
||||
@@ -1,3 +0,0 @@
|
||||
namespace test
|
||||
|
||||
internal final fun </*0*/ in P : jet.Any?, /*1*/ Q : P>funParamReferencesParam(): jet.Int
|
||||
@@ -1,3 +0,0 @@
|
||||
package test
|
||||
|
||||
fun <P, in Q> funTwoTypeParams() = 1
|
||||
@@ -1,3 +0,0 @@
|
||||
namespace test
|
||||
|
||||
internal final fun </*0*/ P : jet.Any?, /*1*/ in Q : jet.Any?>funTwoTypeParams(): jet.Int
|
||||
Reference in New Issue
Block a user