https://kotlinlang.org logo
#eap
Title
# eap
j

Jeff Lockhart

10/25/2023, 8:07 PM
It looks like the KT-22841 restrictions on non-final expect/actual classes were reverted by KT-62655 in 1.9.20-RC2. Would someone be able to provide more info about the long-term plan for expect/actual classes? Are these restrictions going to be reintroduced or are there different plans for the future direction?
d

dmitriy.novozhilov

10/25/2023, 9:20 PM
cc @bobko
j

Jeff Lockhart

10/25/2023, 9:34 PM
Oh, that's great! I didn't realize I haven't been subscribed to comments on the issue and a lot changed in the last two weeks. The ability to add platform-specific API/state to non-final expect classes was important for my KMP database library. I found the workaround required me to wrap platform-specific API/state in an additional final expect class layer as well as to duplicate code that should be inherited from a platform-specific super class. I'm looking to finalize the binary API of my library before release with Kotlin 1.9.20 and would like to know if I am safe to revert most of these changes in favor of the more straightforward code I had previous to 1.9.20-Beta.
This is the commit undoing those changes, by the way. 311 additions, 1,187 deletions 🎉