1
1
use std:: collections:: HashMap ;
2
+ use std:: path:: PathBuf ;
2
3
3
4
use serde:: ser;
4
5
use serde:: Serialize ;
@@ -41,9 +42,9 @@ fn metadata_no_deps(ws: &Workspace<'_>, _opt: &OutputMetadataOptions) -> CargoRe
41
42
packages : ws. members ( ) . cloned ( ) . collect ( ) ,
42
43
workspace_members : ws. members ( ) . map ( |pkg| pkg. package_id ( ) ) . collect ( ) ,
43
44
resolve : None ,
44
- target_directory : ws. target_dir ( ) . display ( ) . to_string ( ) ,
45
+ target_directory : ws. target_dir ( ) . clone ( ) . into_path_unlocked ( ) ,
45
46
version : VERSION ,
46
- workspace_root : ws. root ( ) . display ( ) . to_string ( ) ,
47
+ workspace_root : ws. root ( ) . to_path_buf ( ) ,
47
48
} )
48
49
}
49
50
@@ -69,9 +70,9 @@ fn metadata_full(ws: &Workspace<'_>, opt: &OutputMetadataOptions) -> CargoResult
69
70
resolve : ( packages, resolve) ,
70
71
root : ws. current_opt ( ) . map ( |pkg| pkg. package_id ( ) ) ,
71
72
} ) ,
72
- target_directory : ws. target_dir ( ) . display ( ) . to_string ( ) ,
73
+ target_directory : ws. target_dir ( ) . clone ( ) . into_path_unlocked ( ) ,
73
74
version : VERSION ,
74
- workspace_root : ws. root ( ) . display ( ) . to_string ( ) ,
75
+ workspace_root : ws. root ( ) . to_path_buf ( ) ,
75
76
} )
76
77
}
77
78
@@ -80,9 +81,9 @@ pub struct ExportInfo {
80
81
packages : Vec < Package > ,
81
82
workspace_members : Vec < PackageId > ,
82
83
resolve : Option < MetadataResolve > ,
83
- target_directory : String ,
84
+ target_directory : PathBuf ,
84
85
version : u32 ,
85
- workspace_root : String ,
86
+ workspace_root : PathBuf ,
86
87
}
87
88
88
89
/// Newtype wrapper to provide a custom `Serialize` implementation.
0 commit comments