Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/project-model/src/project_json.rs')
| -rw-r--r-- | crates/project-model/src/project_json.rs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/crates/project-model/src/project_json.rs b/crates/project-model/src/project_json.rs index 4b2448e47f..4dc24c4d56 100644 --- a/crates/project-model/src/project_json.rs +++ b/crates/project-model/src/project_json.rs @@ -52,6 +52,7 @@ use std::path::PathBuf; use base_db::{CrateDisplayName, CrateId, CrateName, Dependency, Edition}; +use la_arena::RawIdx; use paths::{AbsPath, AbsPathBuf}; use rustc_hash::FxHashMap; use serde::{de, Deserialize}; @@ -135,7 +136,10 @@ impl ProjectJson { .deps .into_iter() .map(|dep_data| { - Dependency::new(dep_data.name, CrateId(dep_data.krate as u32)) + Dependency::new( + dep_data.name, + CrateId::from_raw(RawIdx::from(dep_data.krate as u32)), + ) }) .collect::<Vec<_>>(), cfg: crate_data.cfg, @@ -162,7 +166,10 @@ impl ProjectJson { /// Returns an iterator over the crates in the project. pub fn crates(&self) -> impl Iterator<Item = (CrateId, &Crate)> + '_ { - self.crates.iter().enumerate().map(|(idx, krate)| (CrateId(idx as u32), krate)) + self.crates + .iter() + .enumerate() + .map(|(idx, krate)| (CrateId::from_raw(RawIdx::from(idx as u32)), krate)) } /// Returns the path to the project's root folder. |