Вопросы по теме 'trait-objects'

Можно ли передать Arc‹RwLock‹&Fn()›› в функцию без использования параметра типа?
Мне нужно передать Arc<RwLock<&Fn()>> функции: use std::sync::{Arc, RwLock}; fn main() { let closure = || println!("Hello World"); let wrapped_closure = Arc::new(RwLock::new(&closure)); execute(wrapped_closure);...
347 просмотров
schedule 07.06.2024

Почему добавление универсального типа к трейту влияет на время жизни трейт-объектов и связанных типов?
У меня есть следующий код: trait T<GT> { type AT; fn foo(&self); } struct AbstractT<GT, AT> { t: Box<dyn T<GT, AT = AT>>, } impl<GT, AT> T<GT> for AbstractT<GT, AT> { type AT = AT;...
60 просмотров

Структура с полем признака, но необязательная
Скажем, у меня есть структура, реализация которой записывает где-то , то есть во что-то, что реализует черту std::io::Write . Однако я не хочу, чтобы структура владела этим. Следующий код работает: fn main() { let mut out =...
52 просмотров
schedule 29.05.2022