@@ -25,7 +25,7 @@ impl<DP: DependencyProvider> CachingDependencyProvider<DP> {
2525impl < DP : DependencyProvider < M = String > > DependencyProvider for CachingDependencyProvider < DP > {
2626 // Caches dependencies if they were already queried
2727 fn get_dependencies (
28- & self ,
28+ & mut self ,
2929 package : & DP :: P ,
3030 version : & DP :: V ,
3131 ) -> Result < Dependencies < DP :: P , DP :: VS , DP :: M > , DP :: Err > {
@@ -51,13 +51,17 @@ impl<DP: DependencyProvider<M = String>> DependencyProvider for CachingDependenc
5151 }
5252 }
5353
54- fn choose_version ( & self , package : & DP :: P , ranges : & DP :: VS ) -> Result < Option < DP :: V > , DP :: Err > {
54+ fn choose_version (
55+ & mut self ,
56+ package : & DP :: P ,
57+ ranges : & DP :: VS ,
58+ ) -> Result < Option < DP :: V > , DP :: Err > {
5559 self . remote_dependencies . choose_version ( package, ranges)
5660 }
5761
5862 type Priority = DP :: Priority ;
5963
60- fn prioritize ( & self , package : & DP :: P , ranges : & DP :: VS ) -> Self :: Priority {
64+ fn prioritize ( & mut self , package : & DP :: P , ranges : & DP :: VS ) -> Self :: Priority {
6165 self . remote_dependencies . prioritize ( package, ranges)
6266 }
6367
@@ -76,9 +80,9 @@ fn main() {
7680 // Add dependencies as needed. Here only root package is added.
7781 remote_dependencies_provider. add_dependencies ( "root" , 1u32 , Vec :: new ( ) ) ;
7882
79- let caching_dependencies_provider =
83+ let mut caching_dependencies_provider =
8084 CachingDependencyProvider :: new ( remote_dependencies_provider) ;
8185
82- let solution = resolve ( & caching_dependencies_provider, "root" , 1u32 ) ;
86+ let solution = resolve ( & mut caching_dependencies_provider, "root" , 1u32 ) ;
8387 println ! ( "Solution: {:?}" , solution) ;
8488}
0 commit comments