[NI] Approximate intersection type in type argument to star if it's necessary

#KT-32196 Fixed
This commit is contained in:
Dmitriy Novozhilov
2019-12-19 14:27:58 +03:00
parent 26f7bf1c21
commit e730965bc5
15 changed files with 288 additions and 1 deletions
@@ -1,4 +1,6 @@
// !WITH_NEW_INFERENCE
// NI_EXPECTED_FILE
val test1 = { if (true) 1 else "" }
val test2 = { { if (true) 1 else "" } }
@@ -1,4 +1,6 @@
// !WITH_NEW_INFERENCE
// NI_EXPECTED_FILE
val test1 = { if (true) <!OI;IMPLICIT_CAST_TO_ANY!>1<!> else <!OI;IMPLICIT_CAST_TO_ANY!>""<!> }
val test2 = { { if (true) <!OI;IMPLICIT_CAST_TO_ANY!>1<!> else <!OI;IMPLICIT_CAST_TO_ANY!>""<!> } }
@@ -0,0 +1,6 @@
package
public val test1: () -> kotlin.Any
public val test2: () -> () -> kotlin.Any
public val test3: (kotlin.Boolean) -> kotlin.Any
public val test4: (kotlin.Boolean) -> kotlin.Any?
@@ -1,4 +1,6 @@
// !WITH_NEW_INFERENCE
// NI_EXPECTED_FILE
val test1 = { when (true) { true -> 1; else -> "" } }
val test2 = { { when (true) { true -> 1; else -> "" } } }
@@ -1,4 +1,6 @@
// !WITH_NEW_INFERENCE
// NI_EXPECTED_FILE
val test1 = { when (true) { true -> <!OI;IMPLICIT_CAST_TO_ANY!>1<!>; else -> <!OI;IMPLICIT_CAST_TO_ANY!>""<!> } }
val test2 = { { when (true) { true -> <!OI;IMPLICIT_CAST_TO_ANY!>1<!>; else -> <!OI;IMPLICIT_CAST_TO_ANY!>""<!> } } }
@@ -0,0 +1,8 @@
package
public val test1: () -> kotlin.Any
public val test2: () -> () -> kotlin.Any
public val test3: (kotlin.Boolean) -> kotlin.Any
public val test4: (kotlin.Boolean) -> kotlin.Any?
public val test5: () -> kotlin.Unit
public fun println(): kotlin.Unit