Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compose Compiler 1.5.12+ causes Only @HiddenFromObjC declaration can be a subtype of @HiddenFromObjC declaration #4777

Closed
eygraber opened this issue May 7, 2024 · 6 comments · Fixed by JetBrains/compose-multiplatform-core#1353 or #4798
Assignees
Labels
bug Something isn't working compiler Compiler plugin related p:critical Critical priority

Comments

@eygraber
Copy link
Contributor

eygraber commented May 7, 2024

Describe the bug
Using the compose compiler v1.5.12+ results in the following error when compiling for ios targets:

Only @HiddenFromObjC declaration can be a subtype of @HiddenFromObjC declaration

Affected platforms

  • iOS

Versions

  • Libraries:
    • Compose Multiplatform version: 1.6.10-rc1 and 1.6.2
  • Kotlin version: 1.9.23
  • OS version(s) (required for Desktop and iOS issues): macOS 14.4.1
  • OS architecture (x86 or arm64): arm64

To Reproduce
Steps to reproduce the behavior:

  1. Run ./gradlew assemble on https://github.com/eygraber/vice/tree/renovate/kotlin-monorepo
  2. See error

Expected behavior
No error

Additional context
The error is reported on this line:

public abstract class FlowSource<T> : ViceSource<T>

where ViceSource is:

public interface ViceSource<T> {
  @Composable
  public fun currentState(): T
}

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.

@eygraber eygraber added bug Something isn't working submitted labels May 7, 2024
@igordmn igordmn added p:critical Critical priority and removed submitted labels May 8, 2024
@igordmn igordmn added the compiler Compiler plugin related label May 8, 2024
@shishkin-pavel
Copy link
Collaborator

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

@eygraber
Copy link
Contributor Author

Awesome thank you

copybara-service bot pushed a commit to androidx/androidx that referenced this issue May 10, 2024
fixes JetBrains/compose-multiplatform#4777
`fqName` were used before, but they aren't unique
for example, we can have class, several functions and property
with the same fqName, so descriptors should be used
(they are guaranteed to be unique for current compilation set/module)

Test: tested against Compose Multiplatform testsuite

Change-Id: I44a56c52267e548639a08a949b3e9447422b0533
Signed-off-by: Pavel Shishkin <[email protected]>
shishkin-pavel added a commit that referenced this issue May 13, 2024
compose compiler version updated to 1.5.13.2 (kotlin 1.9.23) / 1.5.13.3
(kotlin 1.9.24)

Fixes #4777

## Testing
- compose multiplatform testsuite

## Release Notes
### Highlights
#### Compose compiler
- updated to version built from google jetpack compose compiler 1.5.13
shishkin-pavel added a commit to JetBrains/compose-multiplatform-core that referenced this issue May 13, 2024
shishkin-pavel added a commit to JetBrains/compose-multiplatform-core that referenced this issue May 13, 2024
shishkin-pavel added a commit that referenced this issue May 13, 2024
compose compiler version updated to 1.5.13.2 (kotlin 1.9.23) / 1.5.13.3
(kotlin 1.9.24)

Fixes #4777

## Testing
- compose multiplatform testsuite

## Release Notes
### Highlights
#### Compose compiler
- updated to version built from google jetpack compose compiler 1.5.13
@Kashif-E
Copy link

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

@shishkin-pavel
Copy link
Collaborator

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

@Kashif-E
Copy link

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

@shishkin-pavel
Copy link
Collaborator

shishkin-pavel commented May 14, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working compiler Compiler plugin related p:critical Critical priority
Projects
None yet
4 participants