@@ -7,7 +7,6 @@ use semver::ReqParseError;
7
7
use semver:: VersionReq ;
8
8
use serde:: ser;
9
9
use serde:: Serialize ;
10
- use url:: Url ;
11
10
12
11
use crate :: core:: interning:: InternedString ;
13
12
use crate :: core:: { PackageId , SourceId , Summary } ;
@@ -69,14 +68,15 @@ struct SerializedDependency<'a> {
69
68
target : Option < & ' a Platform > ,
70
69
/// The registry URL this dependency is from.
71
70
/// If None, then it comes from the default registry (crates.io).
72
- registry : Option < Url > ,
71
+ registry : Option < & ' a str > ,
73
72
}
74
73
75
74
impl ser:: Serialize for Dependency {
76
75
fn serialize < S > ( & self , s : S ) -> Result < S :: Ok , S :: Error >
77
76
where
78
77
S : ser:: Serializer ,
79
78
{
79
+ let registry_id = self . registry_id ( ) ;
80
80
SerializedDependency {
81
81
name : & * self . package_name ( ) ,
82
82
source : self . source_id ( ) ,
@@ -87,7 +87,7 @@ impl ser::Serialize for Dependency {
87
87
features : self . features ( ) ,
88
88
target : self . platform ( ) ,
89
89
rename : self . explicit_name_in_toml ( ) . map ( |s| s. as_str ( ) ) ,
90
- registry : self . registry_id ( ) . map ( |sid| sid. url ( ) . clone ( ) ) ,
90
+ registry : registry_id. as_ref ( ) . map ( |sid| sid. url ( ) . as_str ( ) ) ,
91
91
}
92
92
. serialize ( s)
93
93
}
0 commit comments