Closed eygraber closed 10 hours ago
the problem was in name clash (ViceSource
class inherited hide annotation due to ViceSource
composable function)
should be fixed in 1.5.13.2
for kotlin 1.9.23 & 1.5.13.3
for kotlin 1.9.24
Awesome thank you
hey @shishkin-pavel i am using kotlin rc3 and compose rc02 and facing this issue, what should i do to get rid of it?
Hi, @Kashif-E , make sure you updated compose compiler to version 1.5.13.2
(for kotlin 1.9.23) / 1.5.13.3
(kotlin 1.9.24) or updated Compose Multiplatform to version 1.6.10-rc02
@shishkin-pavel i am using kotlin 2.0.0-rc3 and compose 1.6.10-rc02
@Kashif-E could you share some reproducer? probably this is another similar problem
@shishkin-pavel I'm seeing this again in 1.6.10 with Kotlin 2.0.0 stable and the Compose compiler from the Kotlin plugin.
Here's the error on this PR updating to Kotlin 2.0 (I'm going to disable building ios now so it doesn't block me).
It's being reported on the first line here:
abstract class ImmichSessionPortal<K, V, I, C, E, S> : VirtuePortal<K, V, I, C, E, S, ImmichSessionComponent>()
where V : ViceView<I, S>, C : ViceCompositor<I, S>, E : ViceEffects {
abstract override val parentComponent: ImmichSessionComponent
abstract override val component: ImmichSessionPortalComponent<K, V, I, C, E, S>
}
interface ImmichSessionPortalComponent<K, V, I, C, E, S> :
VirtuePortalComponent<V, I, C, E, S, ImmichSessionComponent>
where V : ViceView<I, S>, C : ViceCompositor<I, S>, E : ViceEffects {
@get:Provides val route: K
}
@shishkin-pavel Can this get reopened? I'm now starting to see this in multiple libraries, and it's getting harder to keep disabling ios :grimacing:
In this case it was working fine with Kotlin 2.0.0 and CMP 1.6.10, but starting throwing the error on the first line here on this PR:
abstract class SampleDestination<V, I, C, S> : ViceDestination<V, I, C, DummyEffects, S>()
where V : ViceView<I, S>, C : ViceCompositor<I, S> {
override val effects = DummyEffects
@Composable final override fun OnBackPressedHandler(enabled: Boolean, onBackPressed: () -> Unit) {}
}
It seems to work if I add
@OptIn(ExperimentalObjCRefinement::class)
@HiddenFromObjC
to SampleDestination
but I feel like that's just punting the problem down the road. I also don't have any of my code annotated with HiddenFromObjC
so I'm not sure where this is coming from.
@eygraber sure, ill take a look at it today
@eygraber sorry for the delay. for Kotlin version 2, the publication of compose compiler artifact occurs simultaneously with the release of Kotlin compiler and the necessary changes have not yet made it into the release, but I hope that they will make it into the next one. probably it would make sense to close current issue only when they would be merged and new version of kotlin compiler and compose compiler woudl be published
@shishkin-pavel thanks, looking forward to the fix!
Describe the bug Using the compose compiler v1.5.12+ results in the following error when compiling for ios targets:
Affected platforms
Versions
To Reproduce Steps to reproduce the behavior:
./gradlew assemble
on https://github.com/eygraber/vice/tree/renovate/kotlin-monorepoExpected behavior No error
Additional context The error is reported on this line:
where
ViceSource
is:Originally reported here because I thought it was an issue with Kotlin 1.9.24, but then I tested on Kotlin 1.9.23 with all compiler versions starting from 1.5.12 and was able to repro the issue.