Αλεχ
в моем случае точно не будет
Αλεχ
ибо ты возвращаешь структуру
Αλεχ
Αλεχ
потому что по аналогии то же самое можно сгенерить и для них
Αλεχ
а там точно нужно место под итератор
Cuno
Это может быть и стоит сделать в виде отдельной фичи, но не связывать прямо с impl Trait
Cuno
Иначе будет вообще неочевидно где диспатч есть, а где нету
Αλεχ
мб
Αλεχ
я просто как идею обсуждаю
Αλεχ
получается диспатч, но без аллокаций
Cuno
Никто не мешает второй вариант руками сейчас писать
Αλεχ
никто не мешает сделать что угодно
Cuno
Такое вообще можно макросом генерить, наверное
Cuno
Имплементацию трейта для Either
Vladimir
не получится удобно*
Vladimir
нужно ж кроме имплементации сокрыть использование
պլհկ
а если 3 варианта будет, чо будешь делать?
պլհկ
Either(A, B, C)
պլհկ
?
Evgεny
любую задачу можно свести к двум стульям
Αλεχ
պլհկ
сегодня мы узнали, что можно использовать енумы для диспатча
պլհկ
(шок)
Αλεχ
Примерно как сделаны Tuples в шарпе
Αλεχ
до 8 он так и генерирует
Αλεχ
для 9 и выше начинает вкладывать один в другой
Αλεχ
tuple10 = (1,1,1,1,1,1,1,1, (1,1))
Cuno
Αλεχ
хотя я не вижу проблем делать энумы с хоть 100 вариантами
Αλεχ
короче возможны варианты
Αλεχ
это надо инвестигейтить
Αλεχ
тут code bloat vs delegation
Cuno
Αλεχ
ну если заинлайнятся то да
Cuno
https://play.rust-lang.org/?gist=36a3977b4dec51404ed35b007d9b99af&version=stable&mode=debug
Там даже тег оптимизируется
Αλεχ
Αλεχ
погоди
Αλεχ
попробуй трейт реализовать
Αλεχ
и пробрось его реализацию во внутринние Either
Αλεχ
кстати чтобы это работало нужна специализация
Αλεχ
насколько я понимаю
kitsu
чот даже раст программистам платят больше
Αλεχ
kitsu
в смысле?
Маjко
в смысле?
Это была отсылка к тому что якобы нет оплачиваемой работы на расте
Маjко
պլհկ
պլհկ
https://play.rust-lang.org/?gist=a368851273b6ec979256eb87ef90ddfe&version=stable&mode=debug
Αλεχ
Αλεχ
чтобы Either<A, Either<B,C>> работал не так, как Either<A,B>
Cuno
Αλεχ
да не, я чет подумал, что там поведение должно быть иным
Αλεχ
а там нормально все
Cuno
Вообще было бы неплохо, если бы можно было что-то подобное делать:
impl<T, A, B> T for Either<A, B> where A: T, B: T {}
Cuno
Тогда никаких макросов не нужно было бы (для этой задачи)
պլհկ
Запахло НКТ
Aleksey
Cuno
Aleksey
Это я вроде понял :)
Не понял, что это дает
պլհկ
Как компилятор должен догадаться че как вызывать
Αλεχ
Αλεχ
там все написано
Cuno
Mark
а 10 минут билд на с4.large это ок?
Loo
Loo
Брат
Loo
Обнимемся
Loo
А если серьезно то зависит от проекта сильно
Mark
там у меня просто elasticbeanstalk и с таким билд таймом авто скейлинг не нужен
պլհկ
Зависит от того как собираешь
պլհկ
И что
Loo
А причем билд тайм и автоскейлинг
Loo
Какая связь?
Mark
та пока 10 минут будет билдить нагрузка ещё может вырости
Mark
и оно напдодит вселенную из ес2
Loo
Эээ