fix: Fix ClassCastException loading @JvmInline classes#123
Merged
travisMiehm merged 1 commit intomainfrom Mar 22, 2026
Merged
Conversation
Fix: KspSymbolExtensions.kt:isValueClass() now falls back to checking @JvmInline when Modifier.VALUE is absent (as happens with KSP 2.2.20 for cross-module value classes).
luanpotter
reviewed
Mar 23, 2026
|
|
||
| /** | ||
| * Test entity that uses a [PageNumber] field — a [@JvmInline value class][JvmInline] defined in | ||
| * the [yawn-api] module, which is a binary dependency of this module. |
Member
There was a problem hiding this comment.
glad we already had one for easy testing cross-modules!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
In my project using KSP 2.2.20, I'm seeing
ClassCastExceptionwhen hibernate tries to convert a string to an inline class. My investigation with Claude suggests this is related to the newer KSP version, specifically that the new version does not includeModifier.VALUEin declaration.modifiers.The fix is to also check for the
@JvmInlineannotation on the type.I was able to verify this fixed the issue in my project by doing a local publish, and updating my project to use that local version.