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 {
154
154
assert ! ( meta. path. starts_with( & source_root_prefix) ) ;
155
155
156
156
if let Some ( krate) = meta. krate {
157
+ let crate_name = CrateName :: normalize_dashes ( & krate) ;
157
158
let crate_id = crate_graph. add_crate_root (
158
159
file_id,
159
160
meta. edition ,
160
- Some ( krate . clone ( ) ) ,
161
+ Some ( crate_name . clone ( ) ) ,
161
162
meta. cfg ,
162
163
meta. env ,
163
164
Default :: default ( ) ,
164
165
) ;
165
- let crate_name = CrateName :: normalize_dashes ( & krate) ;
166
166
let prev = crates. insert ( crate_name. clone ( ) , crate_id) ;
167
167
assert ! ( prev. is_none( ) ) ;
168
168
for dep in meta. deps {
@@ -187,7 +187,7 @@ impl ChangeFixture {
187
187
crate_graph. add_crate_root (
188
188
crate_root,
189
189
Edition :: Edition2018 ,
190
- Some ( "test" . to_string ( ) ) ,
190
+ Some ( CrateName :: new ( "test" ) . unwrap ( ) ) ,
191
191
default_cfg,
192
192
Env :: default ( ) ,
193
193
Default :: default ( ) ,
Original file line number Diff line number Diff line change @@ -130,7 +130,7 @@ pub struct CrateData {
130
130
/// The name to display to the end user.
131
131
/// This actual crate name can be different in a particular dependent crate
132
132
/// 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 > ,
134
134
pub cfg_options : CfgOptions ,
135
135
pub env : Env ,
136
136
pub dependencies : Vec < Dependency > ,
@@ -159,7 +159,7 @@ impl CrateGraph {
159
159
& mut self ,
160
160
file_id : FileId ,
161
161
edition : Edition ,
162
- display_name : Option < String > ,
162
+ display_name : Option < CrateName > ,
163
163
cfg_options : CfgOptions ,
164
164
env : Env ,
165
165
proc_macro : Vec < ( SmolStr , Arc < dyn tt:: TokenExpander > ) > ,
Original file line number Diff line number Diff line change 2
2
use std:: { iter, sync:: Arc } ;
3
3
4
4
use arrayvec:: ArrayVec ;
5
- use base_db:: { CrateId , Edition , FileId } ;
5
+ use base_db:: { CrateId , CrateName , Edition , FileId } ;
6
6
use either:: Either ;
7
7
use hir_def:: {
8
8
adt:: ReprKind ,
@@ -98,7 +98,7 @@ impl Crate {
98
98
db. crate_graph ( ) [ self . id ] . edition
99
99
}
100
100
101
- pub fn display_name ( self , db : & dyn HirDatabase ) -> Option < String > {
101
+ pub fn display_name ( self , db : & dyn HirDatabase ) -> Option < CrateName > {
102
102
db. crate_graph ( ) [ self . id ] . display_name . clone ( )
103
103
}
104
104
Original file line number Diff line number Diff line change @@ -411,7 +411,7 @@ impl ProjectWorkspace {
411
411
let crate_id = crate_graph. add_crate_root (
412
412
file_id,
413
413
edition,
414
- Some ( cargo[ pkg] . name . clone ( ) ) ,
414
+ Some ( CrateName :: normalize_dashes ( & cargo[ pkg] . name ) ) ,
415
415
cfg_options,
416
416
env,
417
417
proc_macro. clone ( ) ,
@@ -546,7 +546,8 @@ fn sysroot_to_crate_graph(
546
546
547
547
let env = Env :: default ( ) ;
548
548
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" ) ;
550
551
let crate_id = crate_graph. add_crate_root (
551
552
file_id,
552
553
Edition :: Edition2018 ,
You can’t perform that action at this time.
0 commit comments