@@ -101,7 +101,7 @@ pub enum Kind {
101101} 
102102
103103fn  parse_req_with_deprecated ( 
104-     name :  & str , 
104+     name :  InternedString , 
105105    req :  & str , 
106106    extra :  Option < ( PackageId ,  & Config ) > , 
107107)  -> CargoResult < VersionReq >  { 
@@ -163,12 +163,13 @@ impl ser::Serialize for Kind {
163163impl  Dependency  { 
164164    /// Attempt to create a `Dependency` from an entry in the manifest. 
165165pub  fn  parse ( 
166-         name :  & str , 
166+         name :  impl   Into < InternedString > , 
167167        version :  Option < & str > , 
168168        source_id :  SourceId , 
169169        inside :  PackageId , 
170170        config :  & Config , 
171171    )  -> CargoResult < Dependency >  { 
172+         let  name = name. into ( ) ; 
172173        let  arg = Some ( ( inside,  config) ) ; 
173174        let  ( specified_req,  version_req)  = match  version { 
174175            Some ( v)  => ( true ,  parse_req_with_deprecated ( name,  v,  arg) ?) , 
@@ -187,10 +188,11 @@ impl Dependency {
187188
188189    /// Attempt to create a `Dependency` from an entry in the manifest. 
189190pub  fn  parse_no_deprecated ( 
190-         name :  & str , 
191+         name :  impl   Into < InternedString > , 
191192        version :  Option < & str > , 
192193        source_id :  SourceId , 
193194    )  -> CargoResult < Dependency >  { 
195+         let  name = name. into ( ) ; 
194196        let  ( specified_req,  version_req)  = match  version { 
195197            Some ( v)  => ( true ,  parse_req_with_deprecated ( name,  v,  None ) ?) , 
196198            None  => ( false ,  VersionReq :: any ( ) ) , 
@@ -206,11 +208,11 @@ impl Dependency {
206208        Ok ( ret) 
207209    } 
208210
209-     pub  fn  new_override ( name :  & str ,  source_id :  SourceId )  -> Dependency  { 
211+     pub  fn  new_override ( name :  InternedString ,  source_id :  SourceId )  -> Dependency  { 
210212        assert ! ( !name. is_empty( ) ) ; 
211213        Dependency  { 
212214            inner :  Rc :: new ( Inner  { 
213-                 name :   InternedString :: new ( name ) , 
215+                 name, 
214216                source_id, 
215217                registry_id :  None , 
216218                req :  VersionReq :: any ( ) , 
@@ -338,12 +340,9 @@ impl Dependency {
338340    /// Sets the list of features requested for the package. 
339341pub  fn  set_features ( 
340342        & mut  self , 
341-         features :  impl  IntoIterator < Item  = impl  AsRef < str > > , 
343+         features :  impl  IntoIterator < Item  = impl  Into < InternedString > > , 
342344    )  -> & mut  Dependency  { 
343-         Rc :: make_mut ( & mut  self . inner ) . features  = features
344-             . into_iter ( ) 
345-             . map ( |s| InternedString :: new ( s. as_ref ( ) ) ) 
346-             . collect ( ) ; 
345+         Rc :: make_mut ( & mut  self . inner ) . features  = features. into_iter ( ) . map ( |s| s. into ( ) ) . collect ( ) ; 
347346        self 
348347    } 
349348
@@ -376,8 +375,11 @@ impl Dependency {
376375        self 
377376    } 
378377
379-     pub  fn  set_explicit_name_in_toml ( & mut  self ,  name :  & str )  -> & mut  Dependency  { 
380-         Rc :: make_mut ( & mut  self . inner ) . explicit_name_in_toml  = Some ( InternedString :: new ( name) ) ; 
378+     pub  fn  set_explicit_name_in_toml ( 
379+         & mut  self , 
380+         name :  impl  Into < InternedString > , 
381+     )  -> & mut  Dependency  { 
382+         Rc :: make_mut ( & mut  self . inner ) . explicit_name_in_toml  = Some ( name. into ( ) ) ; 
381383        self 
382384    } 
383385
0 commit comments