https://kotlinlang.org logo
Title
c

CLOVIS

03/22/2023, 1:48 PM
I'm getting a regression when migrating from 1.7.20 to 1.8.10, it this already known?
e: java.lang.IllegalStateException: IdSignature clash: opensavvy.decouple.core/UIMetadata.initializeFor$composable|-575774612970147389[0]; Existed declaration FUN IR_EXTERNAL_DECLARATION_STUB name:initializeFor$composable visibility:public modality:ABSTRACT <> ($this:opensavvy.decouple.core.UIMetadata, content:kotlin.Function2<androidx.compose.runtime.Composer, kotlin.Int, kotlin.Unit>, $composer:androidx.compose.runtime.Composer?, $changed:<http://kotlin.Int|kotlin.Int>) returnType:kotlin.Unit clashed with new FUN IR_EXTERNAL_DECLARATION_STUB name:initializeFor$composable visibility:public modality:ABSTRACT <> ($this:opensavvy.decouple.core.UIMetadata, content:kotlin.Function2<androidx.compose.runtime.Composer, kotlin.Int, kotlin.Unit>, $composer:androidx.compose.runtime.Composer?, $changed:<http://kotlin.Int|kotlin.Int>) returnType:kotlin.Unit
l

Landry Norris

03/22/2023, 1:55 PM
Looks like it’s related to Compose. Since you updated the Kotlin version, did you also update the Compose version? I remember there being a JS regression in one of the latest releases (I want to say 1.3.0, but could be wrong). What Compose version are you on?
c

CLOVIS

03/22/2023, 1:56 PM
Compose-jb 1.3.1
According to https://youtrack.jetbrains.com/issue/KT-56660/K2-MPP-compiler-backend-crash-on-invoking-a-K-Common-constructor-in-K-JS-code it's a false positive (and indeed it seems to run fine when ignoring the error)
l

Landry Norris

03/22/2023, 1:57 PM
Is this something you can mark internal? That sometimes helps when Compose for platforms other than JVM throw errors.
c

CLOVIS

03/22/2023, 1:57 PM
No, it's an interface method.
l

Landry Norris

03/22/2023, 1:58 PM
Are you using K2? The linked ticket is a K2 bug. Either way, if it works, it works.
c

CLOVIS

03/22/2023, 1:58 PM
I don't think so, no
Is K2 available for JS?
l

Landry Norris

03/22/2023, 1:59 PM
I think it’s beta for all individual platforms (not multiplatform yet). You’d have to either set the language version to 2.0 or pass -Xuse-k2, so you’d know if you were using it.
c

CLOVIS

03/22/2023, 2:00 PM
Ah, well I only do multiplatform so I guess that's why I didn't hear about it
l

Landry Norris

03/22/2023, 2:01 PM
I believe multiplatform support is on the roadmap (maybe it was completed for beta and I missed it). It’ll be a minute before K2 is default. Likely sometime December or next January based on release cycles.
c

CLOVIS

03/22/2023, 2:02 PM
This is for Decouple, I'll jump on K2 as soon as it supports it, even if it's not the default