@@ -7,7 +7,6 @@ use semver::ReqParseError;
77use semver:: VersionReq ;
88use serde:: ser;
99use serde:: Serialize ;
10- use url:: Url ;
1110
1211use crate :: core:: interning:: InternedString ;
1312use crate :: core:: { PackageId , SourceId , Summary } ;
@@ -69,14 +68,15 @@ struct SerializedDependency<'a> {
6968 target : Option < & ' a Platform > ,
7069 /// The registry URL this dependency is from.
7170 /// If None, then it comes from the default registry (crates.io).
72- registry : Option < Url > ,
71+ registry : Option < & ' a str > ,
7372}
7473
7574impl ser:: Serialize for Dependency {
7675 fn serialize < S > ( & self , s : S ) -> Result < S :: Ok , S :: Error >
7776 where
7877 S : ser:: Serializer ,
7978 {
79+ let registry_id = self . registry_id ( ) ;
8080 SerializedDependency {
8181 name : & * self . package_name ( ) ,
8282 source : self . source_id ( ) ,
@@ -87,7 +87,7 @@ impl ser::Serialize for Dependency {
8787 features : self . features ( ) ,
8888 target : self . platform ( ) ,
8989 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 ( ) ) ,
9191 }
9292 . serialize ( s)
9393 }
0 commit comments