diff --git a/native/commonizer/src/org/jetbrains/kotlin/commonizer/core/ClassOrTypeAliasTypeCommonizer.kt b/native/commonizer/src/org/jetbrains/kotlin/commonizer/core/ClassOrTypeAliasTypeCommonizer.kt index 05870525f69..aab575064ab 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/commonizer/core/ClassOrTypeAliasTypeCommonizer.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/commonizer/core/ClassOrTypeAliasTypeCommonizer.kt @@ -125,6 +125,7 @@ internal class ClassOrTypeAliasTypeCommonizer( } if (candidates.isEmpty()) return null + if (candidates.size == 1) return candidates.first() return candidates.maxByOrNull { candidate -> types.count { it.classifierId == candidate } }!! } diff --git a/native/commonizer/tests/org/jetbrains/kotlin/commonizer/transformer/CirUnderscoredTypeAliasSubstitutorTest.kt b/native/commonizer/tests/org/jetbrains/kotlin/commonizer/transformer/CirUnderscoredTypeAliasSubstitutorTest.kt index e2bb11b3c3c..70e1f1ad56d 100644 --- a/native/commonizer/tests/org/jetbrains/kotlin/commonizer/transformer/CirUnderscoredTypeAliasSubstitutorTest.kt +++ b/native/commonizer/tests/org/jetbrains/kotlin/commonizer/transformer/CirUnderscoredTypeAliasSubstitutorTest.kt @@ -8,7 +8,7 @@ package org.jetbrains.kotlin.commonizer.transformer import org.jetbrains.kotlin.commonizer.AbstractInlineSourcesCommonizationTest import org.jetbrains.kotlin.commonizer.assertCommonized -class UnderscoredTypeAliasTypeSubstitutorTest : AbstractInlineSourcesCommonizationTest() { +class UnderscoredTypeAliasTypeSubstitutonTest : AbstractInlineSourcesCommonizationTest() { fun `test inlined underscored typealias - single platform`() { val result = commonize { @@ -61,7 +61,8 @@ class UnderscoredTypeAliasTypeSubstitutorTest : AbstractInlineSourcesCommonizati "(a, b)", """ typealias X = Int typealias __X = X - expect fun x(x: X) + /* No hard requirement. Picking X over __X seems equally fine here */ + expect fun x(x: __X) """.trimIndent() ) }