diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/BinaryInterface.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/BinaryInterface.kt index 81646694b6b..c5dba4fcf8b 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/BinaryInterface.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/BinaryInterface.kt @@ -104,15 +104,19 @@ private fun acyclicTypeMangler(visited: MutableSet, typ if (bound == "kotlin.Any?") "" else "_$bound" }.joinToString("") } - return "GENERIC" + upperBounds + return "#GENERIC" + upperBounds } var hashString = TypeUtils.getClassDescriptor(type)!!.fqNameSafe.asString() if (!type.arguments.isEmpty()) { hashString += "<${type.arguments.map { - val variance = it.projectionKind.label - val projection = if (variance == "") "" else "${variance}_" - projection + acyclicTypeMangler(visited, it.type) + if (it.isStarProjection()) { + "#STAR" + } else { + val variance = it.projectionKind.label + val projection = if (variance == "") "" else "${variance}_" + projection + acyclicTypeMangler(visited, it.type) + } }.joinToString(",")}>" }