-
Notifications
You must be signed in to change notification settings - Fork 50
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
AWS Kotlin not compatible with the latest Kotlin release (1.7.0-RC2) #622
Comments
Thanks for reporting this. Indeed it would appear The resolution on this one may end up just being support kotlin 1.7.x when available. That being said this is a good opportunity to comb our usage of any experimental APIs. I'll update here if we do anything earlier than supporting 1.7.x on this front. |
FTR, I dont see an issue with using experimental APIs (I actively encourage it!). Its just unfortunate that in this case Kotlin breaks ABI compatibility. I have opened an issue with Kotlin here |
The kotlin issue was updated. Summary is that the change is intentional & as designed. I guess the fix here is to release a version compiled with 1.7.x (which is now released). |
|
Describe the bug
Exception after upgrading Kotlin (1.7.0-RC2) on first usage of AWS APIs, in this case,
DynamoDbClient.query(...)
Expected behavior
AWS Kotlin should not crash / throw an exception.
Current behavior
Throws
java.lang.IncompatibleClassChangeError: Found interface kotlin.time.TimeMark, but class was expected
.Stack trace
Steps to Reproduce
Use latest Kotlin (1.7.0-RC2) with latest AWS Kotlin (0.16.0)
Possible Solution
Not sure what course of action to recommend here.
Context
For now I'm only trying to upgrade Kotlin to make sure our project will work with the upcoming 1.7 release.
I believe the the stdlib changed
TimeMark
from an abstract class to an interface but then again its marked asExperimentalTime
with AWS Kotlin opting into the experimental behavior.measureTimedValue
is the method being called and it, along with its chain of methods, get inlined at the call site. Seems binary compatibility of the compiled code is broken.AWS Kotlin SDK version used
0.16.0
Platform (JVM/JS/Native)
Jvm (17)
Operating System and version
macOS Monterey 12.3.1
The text was updated successfully, but these errors were encountered: