[FIR] Unwrap definitely not-null types in type parameter cycle checks

#KT-58944 Fixed
This commit is contained in:
Brian Norman
2023-06-09 07:19:47 -05:00
committed by Space Team
parent 2bbf57c15e
commit a71437335b
4 changed files with 13 additions and 4 deletions
@@ -8,4 +8,5 @@ class A2<K : Comparable<K & Any>?>
fun <R : T & Any, T> bar() {}
fun <<!CYCLIC_GENERIC_UPPER_BOUND!>E : <!INCORRECT_LEFT_COMPONENT_OF_INTERSECTION!>E<!> & Any<!>> baz() {}
fun <<!CYCLIC_GENERIC_UPPER_BOUND!>E : E & Any<!>> baz1() {}
fun <<!CYCLIC_GENERIC_UPPER_BOUND!>E : E & Any<!>> E?.baz2() {}
@@ -8,4 +8,5 @@ class A2<K : Comparable<<!INCORRECT_LEFT_COMPONENT_OF_INTERSECTION!>K<!> & Any>?
fun <R : T & Any, T> bar() {}
fun <<!CYCLIC_GENERIC_UPPER_BOUND!>E : <!INCORRECT_LEFT_COMPONENT_OF_INTERSECTION!>E & Any<!><!>> baz() {}
fun <<!CYCLIC_GENERIC_UPPER_BOUND!>E : <!INCORRECT_LEFT_COMPONENT_OF_INTERSECTION!>E & Any<!><!>> baz1() {}
fun <<!CYCLIC_GENERIC_UPPER_BOUND!>E : <!INCORRECT_LEFT_COMPONENT_OF_INTERSECTION!>E & Any<!><!>> E?.baz2() {}
@@ -1,9 +1,10 @@
package
public fun </*0*/ R : T & Any, /*1*/ T> bar(): kotlin.Unit
public fun </*0*/ E : [Error type: Cyclic upper bounds]> baz(): kotlin.Unit
public fun </*0*/ E : [Error type: Cyclic upper bounds]> baz1(): kotlin.Unit
public fun </*0*/ T : kotlin.Comparable<T & Any>> sort1(): kotlin.Unit
public fun </*0*/ T : kotlin.Comparable<T & Any>?> sort2(): kotlin.Unit
public fun </*0*/ E : [Error type: Cyclic upper bounds]> [Error type: Error type parameter]?.baz2(): kotlin.Unit
public final class A1</*0*/ K : kotlin.Comparable<K>> {
public constructor A1</*0*/ K : kotlin.Comparable<K>>()