Introduce plusElement and minusElement to disambiguate situations like List<List<T>> + List<T>
#KT-9992 Fixed
This commit is contained in:
@@ -430,6 +430,20 @@ class ArraysTest {
|
||||
assertTrue(intArrayOf(1).isNotEmpty())
|
||||
}
|
||||
|
||||
@test fun plusInference() {
|
||||
val arrayOfArrays: Array<Array<out Any>> = arrayOf(arrayOf<Any>("s") as Array<out Any>)
|
||||
val elementArray = arrayOf<Any>("a") as Array<out Any>
|
||||
val arrayPlusElement: Array<Array<out Any>> = arrayOfArrays.plusElement(elementArray)
|
||||
assertEquals("a", arrayPlusElement[1][0])
|
||||
// ambiguity
|
||||
// val arrayPlusArray: Array<Array<out Any>> = arrayOfArrays + arrayOfArrays
|
||||
|
||||
val arrayOfStringArrays = arrayOf(arrayOf("s"))
|
||||
val arrayPlusArray = arrayOfStringArrays + arrayOfStringArrays
|
||||
assertEquals("s", arrayPlusArray[1][0])
|
||||
}
|
||||
|
||||
|
||||
@test fun plus() {
|
||||
assertEquals(listOf("1", "2", "3", "4"), listOf("1", "2") + arrayOf("3", "4"))
|
||||
assertArrayNotSameButEquals(arrayOf("1", "2", "3"), arrayOf("1", "2") + "3")
|
||||
|
||||
Reference in New Issue
Block a user