[NI] Decrease priority of Integer Literal Types in type checking
#KT-30446
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
// !WITH_NEW_INFERENCE
|
||||
// !DIAGNOSTICS: -USELESS_ELVIS -UNUSED_EXPRESSION
|
||||
|
||||
class X {
|
||||
fun toLong(): Long? = TODO()
|
||||
}
|
||||
|
||||
fun getLong(): Long = TODO()
|
||||
|
||||
fun test_1(list: List<X>) {
|
||||
val props = list.map { <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Long?")!>it.toLong()<!> ?: <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Long")!>0<!> }
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.List<kotlin.Long>")!>props<!>
|
||||
}
|
||||
|
||||
fun test_2(cond: Boolean) {
|
||||
val props = if (cond) getLong() else 0
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Long")!>props<!>
|
||||
}
|
||||
|
||||
fun test_3(list: List<X>) {
|
||||
val props = list.map { Pair(it.toLong() ?: 0, it.toLong() ?: 0) }
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.List<kotlin.Pair<kotlin.Long, kotlin.Long>>")!>props<!>
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package
|
||||
|
||||
public fun getLong(): kotlin.Long
|
||||
public fun test_1(/*0*/ list: kotlin.collections.List<X>): kotlin.Unit
|
||||
public fun test_2(/*0*/ cond: kotlin.Boolean): kotlin.Unit
|
||||
public fun test_3(/*0*/ list: kotlin.collections.List<X>): kotlin.Unit
|
||||
|
||||
public final class X {
|
||||
public constructor X()
|
||||
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 final fun toLong(): kotlin.Long?
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
Reference in New Issue
Block a user