diff options
-rw-r--r-- | crates/base_db/src/fixture.rs | 6 | ||||
-rw-r--r-- | crates/base_db/src/input.rs | 4 | ||||
-rw-r--r-- | crates/hir/src/code_model.rs | 4 | ||||
-rw-r--r-- | crates/project_model/src/lib.rs | 5 |
4 files changed, 10 insertions, 9 deletions
diff --git a/crates/base_db/src/fixture.rs b/crates/base_db/src/fixture.rs index 31560bc09..72f1fd667 100644 --- a/crates/base_db/src/fixture.rs +++ b/crates/base_db/src/fixture.rs | |||
@@ -154,15 +154,15 @@ impl ChangeFixture { | |||
154 | assert!(meta.path.starts_with(&source_root_prefix)); | 154 | assert!(meta.path.starts_with(&source_root_prefix)); |
155 | 155 | ||
156 | if let Some(krate) = meta.krate { | 156 | if let Some(krate) = meta.krate { |
157 | let crate_name = CrateName::normalize_dashes(&krate); | ||
157 | let crate_id = crate_graph.add_crate_root( | 158 | let crate_id = crate_graph.add_crate_root( |
158 | file_id, | 159 | file_id, |
159 | meta.edition, | 160 | meta.edition, |
160 | Some(krate.clone()), | 161 | Some(crate_name.clone()), |
161 | meta.cfg, | 162 | meta.cfg, |
162 | meta.env, | 163 | meta.env, |
163 | Default::default(), | 164 | Default::default(), |
164 | ); | 165 | ); |
165 | let crate_name = CrateName::normalize_dashes(&krate); | ||
166 | let prev = crates.insert(crate_name.clone(), crate_id); | 166 | let prev = crates.insert(crate_name.clone(), crate_id); |
167 | assert!(prev.is_none()); | 167 | assert!(prev.is_none()); |
168 | for dep in meta.deps { | 168 | for dep in meta.deps { |
@@ -187,7 +187,7 @@ impl ChangeFixture { | |||
187 | crate_graph.add_crate_root( | 187 | crate_graph.add_crate_root( |
188 | crate_root, | 188 | crate_root, |
189 | Edition::Edition2018, | 189 | Edition::Edition2018, |
190 | Some("test".to_string()), | 190 | Some(CrateName::new("test").unwrap()), |
191 | default_cfg, | 191 | default_cfg, |
192 | Env::default(), | 192 | Env::default(), |
193 | Default::default(), | 193 | Default::default(), |
diff --git a/crates/base_db/src/input.rs b/crates/base_db/src/input.rs index 9a61f1d56..251a7b245 100644 --- a/crates/base_db/src/input.rs +++ b/crates/base_db/src/input.rs | |||
@@ -130,7 +130,7 @@ pub struct CrateData { | |||
130 | /// The name to display to the end user. | 130 | /// The name to display to the end user. |
131 | /// This actual crate name can be different in a particular dependent crate | 131 | /// This actual crate name can be different in a particular dependent crate |
132 | /// or may even be missing for some cases, such as a dummy crate for the code snippet. | 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 | pub cfg_options: CfgOptions, | 134 | pub cfg_options: CfgOptions, |
135 | pub env: Env, | 135 | pub env: Env, |
136 | pub dependencies: Vec<Dependency>, | 136 | pub dependencies: Vec<Dependency>, |
@@ -159,7 +159,7 @@ impl CrateGraph { | |||
159 | &mut self, | 159 | &mut self, |
160 | file_id: FileId, | 160 | file_id: FileId, |
161 | edition: Edition, | 161 | edition: Edition, |
162 | display_name: Option<String>, | 162 | display_name: Option<CrateName>, |
163 | cfg_options: CfgOptions, | 163 | cfg_options: CfgOptions, |
164 | env: Env, | 164 | env: Env, |
165 | proc_macro: Vec<(SmolStr, Arc<dyn tt::TokenExpander>)>, | 165 | proc_macro: Vec<(SmolStr, Arc<dyn tt::TokenExpander>)>, |
diff --git a/crates/hir/src/code_model.rs b/crates/hir/src/code_model.rs index 5721a66c4..f3388da32 100644 --- a/crates/hir/src/code_model.rs +++ b/crates/hir/src/code_model.rs | |||
@@ -2,7 +2,7 @@ | |||
2 | use std::{iter, sync::Arc}; | 2 | use std::{iter, sync::Arc}; |
3 | 3 | ||
4 | use arrayvec::ArrayVec; | 4 | use arrayvec::ArrayVec; |
5 | use base_db::{CrateId, Edition, FileId}; | 5 | use base_db::{CrateId, CrateName, Edition, FileId}; |
6 | use either::Either; | 6 | use either::Either; |
7 | use hir_def::{ | 7 | use hir_def::{ |
8 | adt::ReprKind, | 8 | adt::ReprKind, |
@@ -98,7 +98,7 @@ impl Crate { | |||
98 | db.crate_graph()[self.id].edition | 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 | db.crate_graph()[self.id].display_name.clone() | 102 | db.crate_graph()[self.id].display_name.clone() |
103 | } | 103 | } |
104 | 104 | ||
diff --git a/crates/project_model/src/lib.rs b/crates/project_model/src/lib.rs index 258f60e28..d1e7602fc 100644 --- a/crates/project_model/src/lib.rs +++ b/crates/project_model/src/lib.rs | |||
@@ -411,7 +411,7 @@ impl ProjectWorkspace { | |||
411 | let crate_id = crate_graph.add_crate_root( | 411 | let crate_id = crate_graph.add_crate_root( |
412 | file_id, | 412 | file_id, |
413 | edition, | 413 | edition, |
414 | Some(cargo[pkg].name.clone()), | 414 | Some(CrateName::normalize_dashes(&cargo[pkg].name)), |
415 | cfg_options, | 415 | cfg_options, |
416 | env, | 416 | env, |
417 | proc_macro.clone(), | 417 | proc_macro.clone(), |
@@ -546,7 +546,8 @@ fn sysroot_to_crate_graph( | |||
546 | 546 | ||
547 | let env = Env::default(); | 547 | let env = Env::default(); |
548 | let proc_macro = vec![]; | 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 | let crate_id = crate_graph.add_crate_root( | 551 | let crate_id = crate_graph.add_crate_root( |
551 | file_id, | 552 | file_id, |
552 | Edition::Edition2018, | 553 | Edition::Edition2018, |