Change theme
Help
Press space for more information.
Show links for this issue (Shortcut: i, l)
Copy issue ID
Previous Issue (Shortcut: k)
Next Issue (Shortcut: j)
Sign in to use full features.
Vote: I am impacted
Notification menu
Refresh (Shortcut: Shift+r)
Go home (Shortcut: u)
Pending code changes (auto-populated)
View issue level access limits(Press Alt + Right arrow for more information)
Unintended behavior
View staffing
Estimated effort
Description
We are bumping androidx.datastore to use Kotlin 2.0, and have a change in the works that uses the functionality to redeclare expect classes available in Kotlin 2.0 onwards. We have a project structure in datastore-core which looks like:
Where we have a DataStoreFactory.kt expect class declared in commonMain, and also redeclared as an expect class in jvmAndroidMain. The redeclared class has the same function from commonMain, and an additional one. Both functions are implemented in the androidMain and jvmMain actuals, and everything works as intended in Kotlin 2. However, running
./gradlew -p datastore updateApi
fails with "Removed method" errors. There seems to be some mishandling of the expect/actual dependency tree.To repro, running aosp/3410743 will be sufficient.
./gradlew -p datastore updateApi
on