d63b3e9494
^KT-61734
66 lines
1.7 KiB
Kotlin
Vendored
66 lines
1.7 KiB
Kotlin
Vendored
// IGNORE_PARENTING_CHECK
|
|
|
|
class Inv<E>
|
|
class Out<out T>
|
|
class OutPair<out Final, out Y>
|
|
class In<in Z>
|
|
|
|
class Final
|
|
open class Open
|
|
|
|
class Container {
|
|
@JvmSuppressWildcards(true)
|
|
fun deepOpen(x: Out<Out<Out<Open>>>) {}
|
|
|
|
@JvmSuppressWildcards(false)
|
|
fun bar(): Out<Open> = null!!
|
|
|
|
fun simpleOut(x: Out<@JvmWildcard Final>) {}
|
|
fun simpleIn(x: In<@JvmWildcard Any?>) {}
|
|
|
|
fun falseTrueFalse(): @JvmSuppressWildcards(false) OutPair<Final, @JvmSuppressWildcards OutPair<Out<Final>, Out<@JvmSuppressWildcards(false) Final>>> = null!!
|
|
fun combination(): @JvmSuppressWildcards OutPair<Open, @JvmWildcard OutPair<Open, @JvmWildcard Out<Open>>> = null!!
|
|
|
|
@JvmSuppressWildcards(false)
|
|
fun foo(x: Boolean, y: Out<Int>): Int = 1
|
|
|
|
@JvmSuppressWildcards(true)
|
|
fun bar(x: Boolean, y: In<Long>, z: @JvmSuppressWildcards(false) Long): Int = 1
|
|
|
|
@JvmSuppressWildcards(true)
|
|
fun Out<Out<Out<Open>>>.zoo(z: @JvmSuppressWildcards(false) Out<Open>) {}
|
|
}
|
|
|
|
class ContainerForPropertyAndAccessors {
|
|
@JvmSuppressWildcards(true)
|
|
val deepOpen: Out<Out<Out<Open>>> = TODO()
|
|
|
|
@JvmSuppressWildcards(false)
|
|
var bar: Out<Open> = TODO()
|
|
|
|
val simpleOut: Out<@JvmWildcard Final> = TODO()
|
|
|
|
val simpleIn: In<@JvmWildcard Any?> = TODO()
|
|
|
|
@JvmSuppressWildcards(true)
|
|
val Out<Out<Out<Open>>>.zoo: @JvmSuppressWildcards(false) Out<Open>
|
|
get() = TODO()
|
|
}
|
|
|
|
@JvmSuppressWildcards(true)
|
|
class HasAnnotation {
|
|
fun doesNot(p: Out<Out<Open>>) {}
|
|
|
|
fun parameterDisagrees(p: @JvmSuppressWildcards(false) Out<Int>) {}
|
|
}
|
|
|
|
interface A<T> {
|
|
@JvmSuppressWildcards(true)
|
|
fun foo(): Out<T>
|
|
}
|
|
|
|
interface B {
|
|
@JvmSuppressWildcards(true)
|
|
fun foo(): In<Open>
|
|
}
|