Chcę użyć funkcji dijkstra
z pathfinding
skrzyni:Jak używać skrzyni z innej skrzynki bez jawnego definiowania nowej zależności w moim projekcie?
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,
Aby z niej skorzystać trzeba wdrożyć Zero
cechę z num_traits
skrzyni. Ale jak mogę zaimportować Zero
? Oczywistym sposobem jest dodanie do mojej skrzyni extern crate num_traits;
i poprawienie odpowiednio mojego Cargo.toml
. Ale robiąc to, muszę obserwować zależność zależności, która nie jest dobra.
Czy mogę jakoś wdrożyć Zero
bez wyraźnej zależności od skrzyni num_traits
, jak poniżej?
use pathfinding::num_traits::Zero;
Niektóre skrzynie rzeczywiście odsłonić wewnętrzny moduł 'num_traits' publicznie. Być może najlepszą rzeczą do zrobienia jest zaproponowanie tego w repozytorium ścieżek. –
@ E_net4: Program pathfinding w wersji 0.1.12 został zwolniony z proponowaną zmianą. Dzięki. –