Size: a a a

Kotlin Community

2020 April 03

AN

Alexander Nozik in Kotlin Community
Довольно безуспешно
источник

AL

Alexander Levin in Kotlin Community
Не смотрел совсем детально кип, на самом деле. Но в целом за фичу идейно просто из-за всяких вещей вроде того, чтобы сделать kotlinx.serialization более приятной в использовании без применения рефлексии :)
источник

AN

Alexander Nozik in Kotlin Community
Alexander Levin
Не смотрел совсем детально кип, на самом деле. Но в целом за фичу идейно просто из-за всяких вещей вроде того, чтобы сделать kotlinx.serialization более приятной в использовании без применения рефлексии :)
Ну вот для сериализации оно не нужно вообще. Там плагин справляется. Сейчас добавили typeOf, вообще хорошо. Оно нужно в других местах, но думаю, что мою точку зрения все уже выучили. Мне кажется что именно вариант keep-87 существенно уступает мультиресиверам.
источник

BV

Boris Vanin in Kotlin Community
И это уже перетирали сто раз. Конечно тайпклассы отличная штука как и мультирессиверы, но пока не похоже, чтобы были планы брать хоть что-то из этого в работу или хотя бы достаточно для этого продуманные спеки
источник

AL

Alexander Levin in Kotlin Community
Alexander Nozik
Ну вот для сериализации оно не нужно вообще. Там плагин справляется. Сейчас добавили typeOf, вообще хорошо. Оно нужно в других местах, но думаю, что мою точку зрения все уже выучили. Мне кажется что именно вариант keep-87 существенно уступает мультиресиверам.
И ещё раз - они не взаимозаменяемы.

В контексте сериализации проблема простая - хочу не передавать сериализатор руками, не хочу лезть в класс рефлексией, чтобы вытащить из компаньона сериализатор. Мультиресиверы тут никак не помогут.
источник

QH

Quantum Harmonizer in Kotlin Community
Alexander Levin
И ещё раз - они не взаимозаменяемы.

В контексте сериализации проблема простая - хочу не передавать сериализатор руками, не хочу лезть в класс рефлексией, чтобы вытащить из компаньона сериализатор. Мультиресиверы тут никак не помогут.
Да всё потому что идея «я просто помечу этот класс как сериализуемый» в корне ошибочна.
источник

I

Igor in Kotlin Community
Михаил Резниченко
Скалисты и хаскеллисты требуют гораздо более сложные фичи
Можно было бы пошутить что вторых просто тут нету, по этому и не требуют (но парочка завялась в итоге)
источник

AL

Alexander Levin in Kotlin Community
Alexander Levin
И ещё раз - они не взаимозаменяемы.

В контексте сериализации проблема простая - хочу не передавать сериализатор руками, не хочу лезть в класс рефлексией, чтобы вытащить из компаньона сериализатор. Мультиресиверы тут никак не помогут.
Чтобы хотя бы частично заменить этот случай, нужна какая-то вещь вроде возможности накинуть интерфейс с требованиями к компаньону, что наверное ещё более запарная идея.
источник

AN

Alexander Nozik in Kotlin Community
Alexander Levin
И ещё раз - они не взаимозаменяемы.

В контексте сериализации проблема простая - хочу не передавать сериализатор руками, не хочу лезть в класс рефлексией, чтобы вытащить из компаньона сериализатор. Мультиресиверы тут никак не помогут.
А это вообще не про тайп классы, это про компанион рефы. Совершенно отдельная фича
источник

QH

Quantum Harmonizer in Kotlin Community
Quantum Harmonizer
Да всё потому что идея «я просто помечу этот класс как сериализуемый» в корне ошибочна.
(хотя компанион, реализующий интерфейс, помог бы)
источник

BV

Boris Vanin in Kotlin Community
Alexander Levin
И ещё раз - они не взаимозаменяемы.

В контексте сериализации проблема простая - хочу не передавать сериализатор руками, не хочу лезть в класс рефлексией, чтобы вытащить из компаньона сериализатор. Мультиресиверы тут никак не помогут.
А тайпклассы как помогут вытащить?
источник

AL

Alexander Levin in Kotlin Community
Boris Vanin
А тайпклассы как помогут вытащить?
Сериализатор - тайпкласс. Функция будет требовать тайпкласс сериализатора, он найдётся по довольно простым правилам (конкретно в этом случае почти всё покрывается поиском тайпклассов в компаньоне таргет класса)
источник

AN

Alexander Nozik in Kotlin Community
Компайл тайм компанион рефы - вещь пользительная, но ортогональная и 87 и 176
источник

BV

Boris Vanin in Kotlin Community
Alexander Levin
Сериализатор - тайпкласс. Функция будет требовать тайпкласс сериализатора, он найдётся по довольно простым правилам (конкретно в этом случае почти всё покрывается поиском тайпклассов в компаньоне таргет класса)
Так значит имплиситы нужны, а не тайпклассы? Потому что компаньон можно и без этого сделать сриалайзером
источник

AL

Alexander Levin in Kotlin Community
Alexander Nozik
А это вообще не про тайп классы, это про компанион рефы. Совершенно отдельная фича
Если очень долго говорить "это не про тайп классы", то тайп классы никуда не денутся :D

В более редких случаях сериализатор может лежать не в компаньоне (хотя я согласен, что в этой задаче можно и руками написанный сериализатор положить в компаньон)
источник

AN

Alexander Nozik in Kotlin Community
Контракт на компаньон тоже не совсем про тайп классы. Это можно сделать тайп классами, но я не думаю, что стоит брать все вместе с имплиситам и орфанами ради этого
источник

AL

Alexander Levin in Kotlin Community
Alexander Nozik
Контракт на компаньон тоже не совсем про тайп классы. Это можно сделать тайп классами, но я не думаю, что стоит брать все вместе с имплиситам и орфанами ради этого
Очень губит автокоррект вас сегодня :D
источник

AN

Alexander Nozik in Kotlin Community
Alexander Levin
Очень губит автокоррект вас сегодня :D
Дааа
источник

BV

Boris Vanin in Kotlin Community
Alexander Levin
Очень губит автокоррект вас сегодня :D
Всегда, не только сегодня 😒
источник

AN

Alexander Nozik in Kotlin Community
Андроид, чтоб его
источник