[FIR] Pass bounds from original type to fully expanded ^KT-40203 Fixed
This commit is contained in:
committed by
teamcityserver
parent
f0f60907e2
commit
3dc0935da4
+2
-2
@@ -4,8 +4,8 @@ typealias N<T> = Num<T>
|
||||
typealias N2<T> = N<T>
|
||||
|
||||
val x1 = Num<<!UPPER_BOUND_VIOLATED!>String<!>>(<!ARGUMENT_TYPE_MISMATCH!>""<!>)
|
||||
val x2 = N<<!UPPER_BOUND_VIOLATED!>String<!>>("")
|
||||
val x3 = N2<<!UPPER_BOUND_VIOLATED!>String<!>>("")
|
||||
val x2 = N<<!UPPER_BOUND_VIOLATED!>String<!>>(<!ARGUMENT_TYPE_MISMATCH!>""<!>)
|
||||
val x3 = N2<<!UPPER_BOUND_VIOLATED!>String<!>>(<!ARGUMENT_TYPE_MISMATCH!>""<!>)
|
||||
|
||||
class TColl<T, C : Collection<T>>
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -4,7 +4,7 @@ class Num<Tn : Number>(val x: Tn)
|
||||
typealias N<T> = Num<T>
|
||||
|
||||
val test0 = N(1)
|
||||
val test1 = N("1")
|
||||
val test1 = N(<!ARGUMENT_TYPE_MISMATCH!>"1"<!>)
|
||||
|
||||
|
||||
class Cons<T>(val head: T, val tail: Cons<T>?)
|
||||
|
||||
+3
-3
@@ -14,6 +14,6 @@ typealias C<T> = Cons<T>
|
||||
typealias C2<T> = MapLike<T>
|
||||
|
||||
val test1 = C(1, C(2, null))
|
||||
val test2 = C(1, C("", null))
|
||||
val test23 = C2(if (true) 1 else null)
|
||||
val test234 = C2(C2(if (true) 1 else null))
|
||||
val test2 = C(1, C(<!ARGUMENT_TYPE_MISMATCH!>""<!>, null))
|
||||
val test23 = C2(<!ARGUMENT_TYPE_MISMATCH!>if (true) 1 else null<!>)
|
||||
val test234 = <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>C2<!>(C2(<!ARGUMENT_TYPE_MISMATCH!>if (true) 1 else null<!>))
|
||||
|
||||
Vendored
+4
-4
@@ -28,14 +28,14 @@ val test3pr = <!INAPPLICABLE_CANDIDATE!>P2<!><String, Int, Int>(1, "")
|
||||
class Num<T : Number>(val x: T)
|
||||
typealias N<T> = Num<T>
|
||||
|
||||
val testN0 = N("")
|
||||
val testN0 = N(<!ARGUMENT_TYPE_MISMATCH!>""<!>)
|
||||
val testN1 = N<Int>(1)
|
||||
val testN1a = N<<!UPPER_BOUND_VIOLATED!>String<!>>("")
|
||||
val testN1a = N<<!UPPER_BOUND_VIOLATED!>String<!>>(<!ARGUMENT_TYPE_MISMATCH!>""<!>)
|
||||
val testN2 = <!INAPPLICABLE_CANDIDATE!>N<!><Int, Int>(1)
|
||||
|
||||
class MyPair<T1 : CharSequence, T2 : Number>(val string: T1, val number: T2)
|
||||
typealias MP<T1> = MyPair<String, T1>
|
||||
|
||||
val testMP0 = MP<Int>("", 1)
|
||||
val testMP1 = MP(<!ARGUMENT_TYPE_MISMATCH!>1<!>, "")
|
||||
val testMP2 = MP<String>("", "")
|
||||
val testMP1 = MP(<!ARGUMENT_TYPE_MISMATCH!>1<!>, <!ARGUMENT_TYPE_MISMATCH!>""<!>)
|
||||
val testMP2 = MP<String>(<!ARGUMENT_TYPE_MISMATCH!>""<!>, <!ARGUMENT_TYPE_MISMATCH!>""<!>)
|
||||
|
||||
Reference in New Issue
Block a user