Я храню Box
в HashMap
. Я хотел бы получить эти значения и преобразовать их в ссылки на упакованный тип. Мой код выглядит так:
use std::collections::HashMap;
trait A {}
trait B {
fn get(&self, key: &'static str) -> Option<&A>;
}
struct C {
map: HashMap<&'static str, Box<A>>,
}
impl B for C {
fn get(&self, key: &'static str) -> Option<&A> {
return self.map.get(key)
}
}
Я получаю ошибку:
expected trait A, found struct `std::boxed::Box`
Как правильно преобразовать Option<&Box<&A>>
в Option<&A>
?