K1: introduce BUILDER_INFERENCE_STUB_PARAMETER_TYPE to prevent compiler crashes
This diagnostic is reported in rare situations when StubTypeForBuilderInference is kept as a parameter type of for loop or lambda. Before this commit, we had in K1 "Could not load module <error module>" from IrLinker instead. Related to: KT-52757, KT-53109, KT-63841, KT-64066 #KT-53478 Fixed
This commit is contained in:
committed by
Space Team
parent
6f6e37f552
commit
678816f9e8
@@ -2,8 +2,7 @@
|
||||
|
||||
// IGNORE_LIGHT_ANALYSIS
|
||||
// IGNORE_BACKEND_K1: ANY
|
||||
// REASON: compile-time failure in K1/JVM (java.lang.AssertionError: Could not load module <Error module> @ org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker.resolveModuleDeserializer)
|
||||
// REASON: compile-time failure in K1/Native, K1/WASM, K1/JS (java.lang.NullPointerException @ org.jetbrains.kotlin.backend.common.serialization.mangle.descriptor.DescriptorExportCheckerVisitor.isExported)
|
||||
// Reason: red code
|
||||
|
||||
fun box(): String {
|
||||
build {
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
|
||||
// IGNORE_LIGHT_ANALYSIS
|
||||
// IGNORE_BACKEND_K1: ANY
|
||||
// REASON: compile-time failure in K1/JVM (java.lang.AssertionError: Could not load module <Error module> @ org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker.resolveModuleDeserializer)
|
||||
// REASON: compile-time failure in K1/Native, K1/WASM, K1/JS (java.lang.NullPointerException @ org.jetbrains.kotlin.backend.common.serialization.mangle.descriptor.DescriptorExportCheckerVisitor.isExported)
|
||||
// REASON: red code
|
||||
|
||||
fun box(): String {
|
||||
build {
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
// ISSUE: KT-53478
|
||||
// IGNORE_BACKEND_K1: ANY
|
||||
// Reason: red code
|
||||
|
||||
class UncompilingClass<T : Any>(
|
||||
val block: (UncompilingClass<T>.() -> Unit)? = null,
|
||||
) {
|
||||
|
||||
var uncompilingFun: ((T) -> Unit)? = null
|
||||
}
|
||||
|
||||
fun handleInt(arg: Int) = Unit
|
||||
|
||||
fun box(): String {
|
||||
val obj = UncompilingClass {
|
||||
uncompilingFun = { handleInt(it) }
|
||||
}
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
// WITH_STDLIB
|
||||
// ISSUE: KT-64066
|
||||
// IGNORE_BACKEND_K1: ANY
|
||||
// Reason: red code
|
||||
|
||||
fun box(): String {
|
||||
val map = buildMap {
|
||||
put(1, 1)
|
||||
for (v in values) {}
|
||||
}
|
||||
if (map[1] != 1) return "FAIL"
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user