Size: a a a

2020 November 06

a

antuan in Rust Beginners
хотя щас подумал. ошибка имеет смысл. у меня в трейт добавится метод, которые не использует дженерик-параметр. значит, имеет смысл в данном случае трейт разделить на два и кастовать во второй, не параметризованный
источник

a

antuan in Rust Beginners
источник

a

antuan in Rust Beginners
а кастовать в Box<Arc<dyn T>> тоже нельзя =\
источник

/

/bin/cat in Rust Beginners
antuan
а кастовать в Box<Arc<dyn T>> тоже нельзя =\
А разве Arc уже не создан в куче?
источник

a

antuan in Rust Beginners
Ага, создан. Как тогда достичь желаемого в этом случае? Arc<dyn T>?
источник

/

/bin/cat in Rust Beginners
antuan
Ага, создан. Как тогда достичь желаемого в этом случае? Arc<dyn T>?
источник

/

/bin/cat in Rust Beginners
Arc<T: ?Sized>
источник

a

antuan in Rust Beginners
огонь, прокатило :)
спасибо большое
источник

/

/bin/cat in Rust Beginners
источник

/

/bin/cat in Rust Beginners
источник

a

antuan in Rust Beginners
да, разделить на несколько трейтов всё же придется. но это в любом случае кажется разумным. т.к. в противном случае я не смогу вызывать дженерик-методы, т.к. имплементация может не принимать аргумент с заданным типом
источник

a

antuan in Rust Beginners
лол
источник

/

/bin/cat in Rust Beginners
Box может принимать dyn
источник

/

/bin/cat in Rust Beginners
И весит как Sized
источник

a

antuan in Rust Beginners
видимо, в impl<G> T<G> for Foo надо воткнуть Result с обработкой ошибки "unimplemnted"
источник

/

/bin/cat in Rust Beginners
В дефолт реализацию?
источник

a

antuan in Rust Beginners
Ага
источник

a

antuan in Rust Beginners
Ну это уже детали. Ещё раз спасибо
источник

/

/bin/cat in Rust Beginners
Так лучше получить по шапке на этапе компиляции
источник

/

/bin/cat in Rust Beginners
Из-за отсутствия impl
источник