@@ -7,7 +7,7 @@ use crate::core::resolver::features::{FeaturesFor, ResolvedFeatures};
7
7
use crate :: core:: resolver:: { HasDevUnits , ResolveOpts } ;
8
8
use crate :: core:: { Dependency , PackageId , PackageSet , Resolve , SourceId , Workspace } ;
9
9
use crate :: ops:: { self , Packages } ;
10
- use crate :: util:: errors:: CargoResult ;
10
+ use crate :: util:: errors:: { CargoResult , CargoResultExt } ;
11
11
use std:: collections:: { HashMap , HashSet } ;
12
12
use std:: env;
13
13
use std:: fs;
@@ -52,7 +52,8 @@ pub fn resolve_std<'cfg>(
52
52
53
53
// If rust-src contains a "vendor" directory, then patch in all the crates it contains.
54
54
let vendor_path = src_path. join ( "vendor" ) ;
55
- let vendor_dir = fs:: read_dir ( vendor_path) ?;
55
+ let vendor_dir = fs:: read_dir ( & vendor_path)
56
+ . chain_err ( || format ! ( "could not read vendor path {}" , vendor_path. display( ) ) ) ?;
56
57
let patches = vendor_dir
57
58
. into_iter ( )
58
59
. map ( |entry| {
@@ -74,7 +75,8 @@ pub fn resolve_std<'cfg>(
74
75
let dep = Dependency :: parse_no_deprecated ( & name, None , source_path) ?;
75
76
Ok ( dep)
76
77
} )
77
- . collect :: < CargoResult < Vec < _ > > > ( ) ?;
78
+ . collect :: < CargoResult < Vec < _ > > > ( )
79
+ . chain_err ( || "failed to generate vendor patches" ) ?;
78
80
79
81
let crates_io_url = crate :: sources:: CRATES_IO_INDEX . parse ( ) . unwrap ( ) ;
80
82
let mut patch = HashMap :: new ( ) ;
0 commit comments