Parcelize value (inline) class in Kotlin

1.4k Views Asked by At

At first glance it seems to be okay to decorate a kotlin value (inline) class like that:

@JvmInline
@Parcelize
value class TestClass(val value: Long) : Parcelable

But the build fails reporting:

error: unexpected type
        public static final android.os.Parcelable.Creator<long> CREATOR = null;
                                                          ^
  required: reference
  found:    long

Is there a generic way to accomplish parcellation anyway?

2

There are 2 best solutions below

0
On

This was reported as an issue for inline classes on youtrack and then moved to issuertracker on google

That said, I just tried and am not getting any build errors, with compileSDK 31 and kotlin 1.5.3

0
On

Uff, finally fixed in Kotlin 1.8.20-RC2.