File tree Expand file tree Collapse file tree 4 files changed +10
-9
lines changed Expand file tree Collapse file tree 4 files changed +10
-9
lines changed Original file line number Diff line number Diff line change @@ -154,15 +154,15 @@ impl ChangeFixture {
154154 assert ! ( meta. path. starts_with( & source_root_prefix) ) ;
155155
156156 if let Some ( krate) = meta. krate {
157+ let crate_name = CrateName :: normalize_dashes ( & krate) ;
157158 let crate_id = crate_graph. add_crate_root (
158159 file_id,
159160 meta. edition ,
160- Some ( krate . clone ( ) ) ,
161+ Some ( crate_name . clone ( ) ) ,
161162 meta. cfg ,
162163 meta. env ,
163164 Default :: default ( ) ,
164165 ) ;
165- let crate_name = CrateName :: normalize_dashes ( & krate) ;
166166 let prev = crates. insert ( crate_name. clone ( ) , crate_id) ;
167167 assert ! ( prev. is_none( ) ) ;
168168 for dep in meta. deps {
@@ -187,7 +187,7 @@ impl ChangeFixture {
187187 crate_graph. add_crate_root (
188188 crate_root,
189189 Edition :: Edition2018 ,
190- Some ( "test" . to_string ( ) ) ,
190+ Some ( CrateName :: new ( "test" ) . unwrap ( ) ) ,
191191 default_cfg,
192192 Env :: default ( ) ,
193193 Default :: default ( ) ,
Original file line number Diff line number Diff line change @@ -130,7 +130,7 @@ pub struct CrateData {
130130 /// The name to display to the end user.
131131 /// This actual crate name can be different in a particular dependent crate
132132 /// or may even be missing for some cases, such as a dummy crate for the code snippet.
133- pub display_name : Option < String > ,
133+ pub display_name : Option < CrateName > ,
134134 pub cfg_options : CfgOptions ,
135135 pub env : Env ,
136136 pub dependencies : Vec < Dependency > ,
@@ -159,7 +159,7 @@ impl CrateGraph {
159159 & mut self ,
160160 file_id : FileId ,
161161 edition : Edition ,
162- display_name : Option < String > ,
162+ display_name : Option < CrateName > ,
163163 cfg_options : CfgOptions ,
164164 env : Env ,
165165 proc_macro : Vec < ( SmolStr , Arc < dyn tt:: TokenExpander > ) > ,
Original file line number Diff line number Diff line change 22use std:: { iter, sync:: Arc } ;
33
44use arrayvec:: ArrayVec ;
5- use base_db:: { CrateId , Edition , FileId } ;
5+ use base_db:: { CrateId , CrateName , Edition , FileId } ;
66use either:: Either ;
77use hir_def:: {
88 adt:: ReprKind ,
@@ -98,7 +98,7 @@ impl Crate {
9898 db. crate_graph ( ) [ self . id ] . edition
9999 }
100100
101- pub fn display_name ( self , db : & dyn HirDatabase ) -> Option < String > {
101+ pub fn display_name ( self , db : & dyn HirDatabase ) -> Option < CrateName > {
102102 db. crate_graph ( ) [ self . id ] . display_name . clone ( )
103103 }
104104
Original file line number Diff line number Diff line change @@ -411,7 +411,7 @@ impl ProjectWorkspace {
411411 let crate_id = crate_graph. add_crate_root (
412412 file_id,
413413 edition,
414- Some ( cargo[ pkg] . name . clone ( ) ) ,
414+ Some ( CrateName :: normalize_dashes ( & cargo[ pkg] . name ) ) ,
415415 cfg_options,
416416 env,
417417 proc_macro. clone ( ) ,
@@ -546,7 +546,8 @@ fn sysroot_to_crate_graph(
546546
547547 let env = Env :: default ( ) ;
548548 let proc_macro = vec ! [ ] ;
549- let name = sysroot[ krate] . name . clone ( ) ;
549+ let name = CrateName :: new ( & sysroot[ krate] . name )
550+ . expect ( "Sysroot crates' names do not contain dashes" ) ;
550551 let crate_id = crate_graph. add_crate_root (
551552 file_id,
552553 Edition :: Edition2018 ,
You can’t perform that action at this time.
0 commit comments