53d6ac24e5
* Change 1.6 to 1.7 constants * Fix SAFE_CALL_WILL_CHANGE_NULLABILITY for testData * Change EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_WARNING to EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_ERROR * Change NON_EXHAUSTIVE_WHEN_STATEMENT to NO_ELSE_IN_WHEN * Fix testData for SafeCallsAreAlwaysNullable * Change T -> T & Any in test dumps * Change INVALID_CHARACTERS_NATIVE_WARNING -> INVALID_CHARACTERS_NATIVE_ERROR * TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM_WARNING -> TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM_ERROR
37 lines
538 B
Kotlin
Vendored
37 lines
538 B
Kotlin
Vendored
// MODULE: m1
|
|
// FILE: a.kt
|
|
package p
|
|
|
|
public interface B<T> {
|
|
public fun <R> foo(a: T, b : R)
|
|
}
|
|
|
|
// MODULE: m2(m1)
|
|
// FILE: b.kt
|
|
package p
|
|
|
|
public interface C : B<Any?> {
|
|
override fun <R> foo(a: Any?, b : R)
|
|
|
|
}
|
|
|
|
// MODULE: m3
|
|
// FILE: b.kt
|
|
package p
|
|
|
|
public interface B {
|
|
public fun <T, R> foo(a: T, b: R)
|
|
}
|
|
|
|
// MODULE: m4(m3, m2)
|
|
// FILE: c.kt
|
|
import p.*
|
|
|
|
fun test(b: B?, c: C) {
|
|
b?.foo(1, 1)
|
|
c.foo(1, 1)
|
|
if (b is C) {
|
|
b<!UNNECESSARY_SAFE_CALL!>?.<!><!OVERLOAD_RESOLUTION_AMBIGUITY!>foo<!>(1, 1)
|
|
}
|
|
}
|