我想使用 dijkstra
函数来自 pathfinding
crate:
pub fn dijkstra<N, C, FN, IN, FS>(
start: &N,
neighbours: FN,
success: FS
) -> Option<(Vec<N>, C)>
where
N: Eq + Hash + Clone,
C: Zero + Ord + Copy,
FN: Fn(&N) -> IN,
IN: IntoIterator<Item = (N, C)>,
FS: Fn(&N) -> bool,
要使用它,我需要从 num_traits
创建中实现 Zero
trait。但是,我如何导入 Zero
?一个明显的方法是将 extern crate num_traits;
添加到我的创建并适当修复我的 Cargo.toml
。但这样做,我必须关注依赖项的依赖项,这是不好的。我能否以没有显式依赖于num_traits
创建的方式来实现Zero
呢?
use pathfinding::num_traits::Zero;
num_traits
模块。在这里最好的做法可能是在路径规划存储库中提出这个建议。 - E net4