Size: a a a

2021 April 23

AN

Alex Noname in rust_offtopic
а чо дальше делать?
источник

p

polunin.ai in rust_offtopic
тайпклассы в тс это
function foo(instance: any, trait: any) {
trait.do_some(instance);
}
источник

SP

Stanislav Popov in rust_offtopic
да но их можно типизировать в целом
источник

SP

Stanislav Popov in rust_offtopic
ну это конечно смешно. ты возишь вместе с данными структурку с кодом
источник

DS

Doge Shibu in rust_offtopic
Ну принципиально именно тайпклассы так и работают
источник

SP

Stanislav Popov in rust_offtopic
щас я попробую её сунуть в сам обьект и изобрету своё опепе
источник

DS

Doge Shibu in rust_offtopic
(В хаскеле, вопрос в том, что оно пробрасывается за тебе и инлайнится при специализации)\
источник

p

polunin.ai in rust_offtopic
так и происходит
источник

p

polunin.ai in rust_offtopic
в расте ты тоже именно так и передаешь
источник

p

polunin.ai in rust_offtopic
foo<T: Trait>(t: T)
источник

SP

Stanislav Popov in rust_offtopic
в расте оно само
источник

p

polunin.ai in rust_offtopic
здесь ты передаешь инстанс тайпкласса Trait
источник

p

polunin.ai in rust_offtopic
T: Trait
источник

SP

Stanislav Popov in rust_offtopic
в скале вот не само, но есть имплисит который почти само
источник

SP

Stanislav Popov in rust_offtopic
да это не инстанс тайпкласса, это сам тайпкласс
источник

AN

Alex Noname in rust_offtopic
так в жс-е тоже само. просто не тайпчекается
источник

SP

Stanislav Popov in rust_offtopic
инстанс это именно impl для T
источник

p

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

p

polunin.ai in rust_offtopic
инстанс T тайпкласса Trait
источник

SP

Stanislav Popov in rust_offtopic
инстанс был бы если бы ты литералли получал аргументом

foo(obj:T, inst: Trait<T>)
источник