169 похожих чатов

Можно ли использовать инлайн классы в проде? В чем эксперементальность? Надо

ли теперь писать inline class? Смотрю в сэмплах было @JvmInline value class

21 ответов

16 просмотров

> Inline classes are in Beta. They are almost stable, but migration steps may be required in the future. We'll do our best to minimize any changes you will have to make. We would appreciate your feedback on the inline classes feature in YouTrack.

александр писал, что инлайн отменили. только identity free теперь будут.

Denys
Куда отменили? :)

https://t.me/kotlin_lang/235013

Aλex Sokol
https://t.me/kotlin_lang/235013

Суть осталась та же, фактически. Переименовали inline в value и для JVM доступна опция инлайна.

Вот тут расшифровка https://kotlinlang.org/docs/components-stability.html#stability-levels-explained

Denys
Суть осталась та же, фактически. Переименовали inl...

ага, они по факту ведут себя похожим образом, но суть инлайн классов в том, чтобы не создавать инстанс под обёртку, а суть велью класса в том, что объект identity free и инлайнить его никто не обещает

Aλex Sokol
ага, они по факту ведут себя похожим образом, но с...

В общем да, но фичу просто расширили. > Kotlin 1.5 stabilizes the concept of inline classes and makes it a part of a more general feature: value classes. > Until now, “inline” classes constituted a separate language feature, but they are now becoming a specific JVM optimization for a value class with one parameter. Value classes represent a more general concept and will support different optimizations: inline classes now, and Valhalla primitive classes in the future when project Valhalla becomes available (more about this below). > The only thing that changes for you at the moment is syntax.

TL; DR: да, можно. Пишите @JvmInline value class в Android проекте и всё будет работать. Если у вас KMM - value class + expect, но оптимизаций пока может не быть.

Смотря зачем

Dmitry- Автор вопроса
Denys
Вот тут расшифровка https://kotlinlang.org/docs/c...

Экспериментал - только петпроджекты, спасибо. Хотя корутины я завозил еще эксперементальные и нормально было.

Dmitry
Экспериментал - только петпроджекты, спасибо. Хотя...

Миграции с экспериментальными корутинами иногда болючие были:)

Dmitry
Экспериментал - только петпроджекты, спасибо. Хотя...

Во времена корутин ещё не умели вводить экспериментальные фичи так, чтобы не сломать всё потом при выходе окончательной версии

Dmitry- Автор вопроса
Alexander Nozik
Смотря зачем

Чтобы функция, которая определенные ключи принимает, не принимала любые стринги. Не хочется как в джаве создавать аннотации и везде их писать.

Dmitry
screenshot

котлин 1.5 так не пишет

Dmitry
Чтобы функция, которая определенные ключи принимае...

Ну так для этого просто класс-обертку делать. Можно делать @JvmInline value class, но учтите, что результат identity free, их нельзя сравнивать по ссылке. Это основное свойство велью типов.

Dmitry
screenshot

Оно opt-in просит, это немного другое, чем maturity status

Dmitry
screenshot

Суть экспериментальности в том, что всё может измениться. Сейчас уже известен окончательный вариант (и он не такой, как на скрине, кстати).

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта