[FIR] Type argument instead of unexpected type parameter for TypeMismatch error
^KT-49035 ^KT-51201 Fixed
This commit is contained in:
+17
@@ -0,0 +1,17 @@
|
||||
// ISSUE: KT-49035, KT-51201
|
||||
|
||||
@file:Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
|
||||
|
||||
fun <T> foo(it: @kotlin.internal.Exact T) {}
|
||||
|
||||
fun main() {
|
||||
foo<Any>(<!ARGUMENT_TYPE_MISMATCH("kotlin/Any; kotlin/String")!>""<!>)
|
||||
}
|
||||
|
||||
interface I
|
||||
class Foo : I
|
||||
class Bar
|
||||
|
||||
fun <MY_TYPE_PARAM : I> myRun(action: () -> MY_TYPE_PARAM): MY_TYPE_PARAM = action()
|
||||
|
||||
val a = myRun<Foo> { <!ARGUMENT_TYPE_MISMATCH("Foo; Bar")!>Bar()<!> }
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
// ISSUE: KT-49035, KT-51201
|
||||
|
||||
@file:Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
|
||||
|
||||
fun <T> foo(it: @kotlin.internal.Exact T) {}
|
||||
|
||||
fun main() {
|
||||
foo<Any>(<!TYPE_MISMATCH("String; Any")!>""<!>)
|
||||
}
|
||||
|
||||
interface I
|
||||
class Foo : I
|
||||
class Bar
|
||||
|
||||
fun <MY_TYPE_PARAM : I> myRun(action: () -> MY_TYPE_PARAM): MY_TYPE_PARAM = action()
|
||||
|
||||
val a = myRun<Foo> { <!TYPE_MISMATCH("Foo; Bar"), TYPE_MISMATCH("I; Bar")!>Bar()<!> }
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package
|
||||
|
||||
public val a: Foo
|
||||
public fun </*0*/ T> foo(/*0*/ it: T): kotlin.Unit
|
||||
public fun main(): kotlin.Unit
|
||||
public fun </*0*/ MY_TYPE_PARAM : I> myRun(/*0*/ action: () -> MY_TYPE_PARAM): MY_TYPE_PARAM
|
||||
|
||||
public final class Bar {
|
||||
public constructor Bar()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final class Foo : I {
|
||||
public constructor Foo()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public interface I {
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user