если сейчас нельзя использовать value class без этой аннотации . А когда станет можно в чём будет отличие . Учитывая что value class это фича кроссплатформенная же будет - выглядит непонятно . А может есть какой-нибудь флаг для компилятора или опция в котоин плагине чтобы все value классы считались jvmInline ? (Чтобы не писать эти аннотации )
> In Kotlin/Native and Kotlin/JS, because of the closed-world model, value-based classes with single read-only property are inline classes. In Kotlin/JVM we require the annotation for inline classes, since we are going to support value-based classes, which are a superset of inline classes, and they are binary incompatible with inline classes. Thus, adding and removing the annotation will be a breaking change.
Спасибо , к сожалению , голова не такая большая чтобы понять проблему . Получается что value классы будут работать иначе чем inline value классы , и inline value будет только на jvm ?
В JS и Native автоматом value класс с одним проперти становится инлайновым. В JVM из-за того что платформа пилит свои value-классы есть выбор между тем использовать котлиновский inline (добавить аннотацию) или платформенный
Обсуждают сегодня