Size: a a a

2020 December 30

p

polunin.ai in rust_offtopic
а это кто
а царь это кто
Ты серьезно?
источник

Т8

Т-34 85 in rust_offtopic
Doge Shibu
Ну царь до сих пор не понимает того, что выбор между номинативными и структурными системами типов - это вопрос трейдоффов.

И на практике структурные системы типов о которых говорит царь - будут работать только при WPO и практически полном инлайне всего и вся, что достаточно экстремальная позиция для практически применимого ЯП, хоть я тоже сторонник похожих позиций, только по чуть другим причинам.
decltype не нужен, что-ли?
источник

CD

Constantine Drozdov in rust_offtopic
polunin.ai
Можешь сделать структуру
struct AddT<A, B>(PhantomData<(A, B)>) where A: Add<B;
impl<A, B> Add<A, B> for AddT<A, B> where A: Add<B> { ... }
И потом
fn foo<A, B>() -> <AddT<A, B> as Add<A, B>>::Output where AddT: Add<A, B>
ну вот как-то
auto add(A a, B b) -> decltype (a + b) { return a + b; }

проще читается
источник

DS

Doge Shibu in rust_offtopic
Т-34 85
decltype не нужен, что-ли?
Не, я в целом про ту систему типов, что хочет царь.
источник

а

а это кто in rust_offtopic
polunin.ai
Ты серьезно?
да, я конечно в раст оффтопике давно сижу но так и не понял
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
polunin.ai
Хотя бы для возвращаемых значений нужно, иначе работа с моими либами превращается в боль
беда с твоими либами тогда) В хачкеле за такое по голове дают, хотя вроде как разрешено
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
не зря в идрисе запрещено
источник

p

polunin.ai in rust_offtopic
Constantine Drozdov
ну вот как-то
auto add(A a, B b) -> decltype (a + b) { return a + b; }

проще читается
-> <A as Add<B>>::Output тоже норм
источник

DS

Doge Shibu in rust_offtopic
Αλεχ Zhukovsky
беда с твоими либами тогда) В хачкеле за такое по голове дают, хотя вроде как разрешено
Тут вопрос в том, что в хаскеле и идрисе нет неназываемых типов на каждый чих
источник

DS

Doge Shibu in rust_offtopic
А в расте они повсюду
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Doge Shibu
Тут вопрос в том, что в хаскеле и идрисе нет неназываемых типов на каждый чих
ну ты же фт запилил же
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
значит можна
источник

DS

Doge Shibu in rust_offtopic
Αλεχ Zhukovsky
ну ты же фт запилил же
Ну вариант без боксов с адовой сигнатурой и не очень честный
источник

DS

Doge Shibu in rust_offtopic
Как раз из-за вот этих вот неназываемых типов
источник

p

polunin.ai in rust_offtopic
Меня при чем и импл трейты не спасают потому что импл трейты требуют точного указания дженериков которые у меня должны выводиться
источник

p

polunin.ai in rust_offtopic
Эх
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Doge Shibu
Ну вариант без боксов с адовой сигнатурой и не очень честный
вполне
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
для макросни как у полунина
источник

p

polunin.ai in rust_offtopic
А написать импл трейт в импл трейты нельзя - это отдельная ебала
источник

p

polunin.ai in rust_offtopic
Я помню хотел impl Fn() -> impl Future<>
источник