Vernat
Mark
Loo
Loyd
Сережа
CSV > XML
Loyd
тогда уж ron вместо json
Loyd
чего не поцреот чтоле?
Loyd
Алсо, когда в ron впилят уже enum-ы?
Vladimir
Enum - излишнее баловство
Vladimir
Хешмапы юзай
Loyd
А, чёт туплю я
Loyd
ron умеет в enum-ы
Loyd
Vladimir
А json не умеет, вот видишь
Vladimir
Уже лучшее
Vernat
Сережа
а что на плюсах пишешь?
Сережа
веб сервисы?
Vladimir
Vladimir
И рады теперь
Vernat
неа, десктопные приложения, интерфейсы
Сережа
может тогда в го, зарплата как у рустеров, головняка меньше, работа есть
Vernat
Сережа
десктопа на расте нет
Vladimir
Ушли к нам, на Раст, да
Vladimir
Уходили не от нас
Vernat
Vernat
Vernat
Vladimir
Vernat
оо, и раст и блокчейн, праздник жизни
Сережа
вали лучше в управление проектами
Nikolay
в парити тоже полно плюсистов бывших
Сережа
кодят пусть молодые, худенькие кодерки с горящими глазами
Vladimir
Vladimir
Или как шрамко?
Сережа
как я =(
Сережа
Шрамко ваш вообще молодец, еще и гуи фреймворк пишет в свободное от работы время, штудирует архитектуры, находка прямо!
Sergey
Ребзя
Расскажите разницу в использовании From и Into.
Понимаю базовое отличие.
Но не понимаю в каком случае что юзать.
Например у меня есть структуры A и B
Что лучше заюзать для обоих Into или From?
А может для одного Into, для другого From?
Loyd
From юзаешь, когда нужно из типа, недоступного тебе (другой крейт) конвертить
Loyd
Into, соответственно, когда нужно в такой тип конвертить
Сережа
это чтобы эмулировать ко/контравариантность?
Loyd
Не совсем
Sergey
Loyd
Я бы даже сказал, что совсем не
Loyd
Ааа
Внутри своих типов вообще лучше без конвертаций обойтись, скорее всего лучше переделать.
Anonymous
Сережа
чтобы оптимизированные для каждого случая приведения писать?
Sergey
Sergey
Loyd
Loyd
Делать Vec<a> from Vec<b> дороговато
Loyd
Это так же копирование
Loyd
Так что к вариантности отношения не имеет
Loyd
А как?
От ситуации зависит. Но если у тебя внутри твоей либы между твоими типами from/into, то скорее всего ты где-то перемудрил
Сережа
например придумал два типа строк
Сережа
String и str
Loyd
xd
Loyd
Или два вида массивов
Loyd
Vec и слайс
Сережа
кстати вроде бы Vec в слайс за счет неявного разыменования кастится
Loyd
"вроде бы"?
Sergey
Loyd
А ну марш читать доку
Bugworm
Сережа
ну я не рустер, что мне на плейграунде пример пробовать
Bugworm
ничего лишнего
Loyd
Но вот From/Into это отличный пример того, как контролировать и разрешать расширение со стороны: достаточно создать дуальный типаж
Sergey
https://github.com/DenisKolodin/yew/blob/master/src/format.rs
Sergey
Sergey
Loyd
Ну, это не техническое ограничение, а идиоматическое
Loyd
Ну, под дуальным я имел в виду From<T> for U implies Into<U>for T
Loyd
reciprocal называют в доке их
Loyd
Ну, то есть https://doc.rust-lang.org/std/convert/trait.Into.html#implementors
Loyd
Есть и в других библиотеках примеры. В дизеле есть, ещё вроде в html5ever видел
Sergey
Loyd
reciprocal всё же правильнее
Loyd
дуальные это A и !A