我正在将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>
的正确方法是什么?
答案 0 :(得分:3)
您可以取消引用该框并为其创建引用:
+---------------+
| candidates |
+---------------+
| [1, 2]|
| [2, 3]|
| [2, 4]|
| [3, 4]|
| [1, 3]|
| [1, 5]|
| [3, 5]|
|and so on... |
+---------------+