Size: a a a

Kotlin Community

2020 January 14

AN

Alexander Nozik in Kotlin Community
Тут скорее ключевое слово как в расте. Но я думаю, что не выйдет из-за интеропа
источник

QH

Quantum Harmonizer in Kotlin Community
Alexander Nozik
Это не тип
T, &T и &mut T — разные типы, а вот mut T — тот же T
источник

AM

Andrew Mikhaylov in Kotlin Community
Ну борроу чек в компайлтайме, или как это правильно назвать, в любом случае на интеропе резко идёт нафиг, по идее.
источник

I

Ilmir in Kotlin Community
Andrew Mikhaylov
А в системе типов фризы отразить не пробовали вообще? Или это совсем не к тебе вопрос? :) А то они и нужные, и колючие одновременно. Прям как null safety в джаве)
Вот появятся плагин АПИ, ребята из эрроу, я уверен, что-нибудь придумают. Что-то вроде аннотации @Immutable.
источник

AM

Andrew Mikhaylov in Kotlin Community
Andrew Mikhaylov
Ну борроу чек в компайлтайме, или как это правильно назвать, в любом случае на интеропе резко идёт нафиг, по идее.
То есть если взять закрытый мир, то сделать так, чтобы после фриза переменной посредством какого-нибудь val frozen: Frozen<T> = original.freeze() запретить пользоваться original, наверное, реально, но те же джавовые либы и рефлекшн об этом знать ничего не будут.
источник

QH

Quantum Harmonizer in Kotlin Community
блин, все эти фризы — прямой путь в GoLangScript
источник

AM

Andrew Mikhaylov in Kotlin Community
В тех же крестах с мув-семантикой тоже UB по сути.
источник

I

Ilmir in Kotlin Community
Alexander Nozik
Тут скорее ключевое слово как в расте. Но я думаю, что не выйдет из-за интеропа
Тут JetPack Compose постучался и сказал, что в нем тоже интероп не очень.
источник

AM

Andrew Mikhaylov in Kotlin Community
Quantum Harmonizer
блин, все эти фризы — прямой путь в GoLangScript
Почему?
источник

AM

Andrew Mikhaylov in Kotlin Community
В смысле при чём тут го?
источник

AM

Andrew Mikhaylov in Kotlin Community
Ilmir
Тут JetPack Compose постучался и сказал, что в нем тоже интероп не очень.
Да и лежащие на поверхности корутины.
источник

I

Ilmir in Kotlin Community
Andrew Mikhaylov
В тех же крестах с мув-семантикой тоже UB по сути.
Это не UB, а unspecified behavior. Совсем разные вещи.
источник

QH

Quantum Harmonizer in Kotlin Community
Andrew Mikhaylov
Почему?
ну, для меня выглядит как костыль, и нормальное решение пока что только в расте
про модель памяти в KN я уже сказал всё, что думаю)
источник

AM

Andrew Mikhaylov in Kotlin Community
Ilmir
Это не UB, а unspecified behavior. Совсем разные вещи.
Прошу прощения, я ж не настоящий сварщик.
источник

I

Ilmir in Kotlin Community
Andrew Mikhaylov
Да и лежащие на поверхности корутины.
У них с интеропом все хорошо. Их можно звать из Джавы.
источник

AM

Andrew Mikhaylov in Kotlin Community
Quantum Harmonizer
ну, для меня выглядит как костыль, и нормальное решение пока что только в расте
про модель памяти в KN я уже сказал всё, что думаю)
Ну вот если бы это всё валидировалось в компайл-тайме, всё было бы хорошо с моделью памяти нэйтива.
источник

AO

Alexey Otts in Kotlin Community
Quantum Harmonizer
ну, для меня выглядит как костыль, и нормальное решение пока что только в расте
про модель памяти в KN я уже сказал всё, что думаю)
Ну вот да, это должна быть часть языка
источник

AM

Andrew Mikhaylov in Kotlin Community
Ilmir
У них с интеропом все хорошо. Их можно звать из Джавы.
Можно, но больно, и занимаются этим, мягко говоря, нечасто.
источник

AO

Alexey Otts in Kotlin Community
А то что сейчас, нууу
источник

AM

Andrew Mikhaylov in Kotlin Community
Andrew Mikhaylov
Можно, но больно, и занимаются этим, мягко говоря, нечасто.
С обжом / свифтом в нэйтиве, насколько я понимаю, дела ещё печальнее.
(Я при этом не утверждаю, что меня это парит, при учёте, что писать под iOS по идее можно целиком на K/N, вообще без свифта)
источник