IR: do not infer array element types for non-annotation constants

While annotations restrict the set of allowed types to a few final
built-ins, in arbitrary constants we can have array elements that are
some subtype of the array's element type.

 #KT-48671 Fixed
This commit is contained in:
pyos
2021-09-09 14:50:35 +02:00
committed by Alexander Udalov
parent 51c85e7f86
commit 23420ecf7a
12 changed files with 86 additions and 24 deletions
@@ -0,0 +1,4 @@
// WITH_RUNTIME
val x: Any = arrayOf<Any>(arrayOf("OK"))
fun box(): String = ((x as Array<Any>)[0] as Array<String>)[0]