Coder Social home page Coder Social logo

Compose Compiler 1.5.12+ causes Only @HiddenFromObjC declaration can be a subtype of @HiddenFromObjC declaration about compose-multiplatform HOT 9 OPEN

eygraber avatar eygraber commented on May 30, 2024
Compose Compiler 1.5.12+ causes Only @HiddenFromObjC declaration can be a subtype of @HiddenFromObjC declaration

from compose-multiplatform.

Comments (9)

shishkin-pavel avatar shishkin-pavel commented on May 30, 2024 1

@eygraber sure, ill take a look at it today

from compose-multiplatform.

shishkin-pavel avatar shishkin-pavel commented on May 30, 2024

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

from compose-multiplatform.

eygraber avatar eygraber commented on May 30, 2024

Awesome thank you

from compose-multiplatform.

Kashif-E avatar Kashif-E commented on May 30, 2024

hey @shishkin-pavel i am using kotlin rc3 and compose rc02 and facing this issue, what should i do to get rid of it?

from compose-multiplatform.

shishkin-pavel avatar shishkin-pavel commented on May 30, 2024

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

from compose-multiplatform.

Kashif-E avatar Kashif-E commented on May 30, 2024

@shishkin-pavel i am using kotlin 2.0.0-rc3 and compose 1.6.10-rc02

from compose-multiplatform.

shishkin-pavel avatar shishkin-pavel commented on May 30, 2024

@Kashif-E could you share some reproducer? probably this is another similar problem

from compose-multiplatform.

eygraber avatar eygraber commented on May 30, 2024

@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
}

from compose-multiplatform.

eygraber avatar eygraber commented on May 30, 2024

@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 😬

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.

from compose-multiplatform.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.