From f840fcb2f525c13809d6a736e434155edf075a06 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Thu, 19 Mar 2020 16:00:11 +0100 Subject: Simplify Arena to use a generic index --- crates/ra_project_model/src/cargo_workspace.rs | 14 +++++--------- crates/ra_project_model/src/sysroot.rs | 8 +++----- 2 files changed, 8 insertions(+), 14 deletions(-) (limited to 'crates/ra_project_model') diff --git a/crates/ra_project_model/src/cargo_workspace.rs b/crates/ra_project_model/src/cargo_workspace.rs index 43dbd096a..c2857dbfc 100644 --- a/crates/ra_project_model/src/cargo_workspace.rs +++ b/crates/ra_project_model/src/cargo_workspace.rs @@ -7,7 +7,7 @@ use std::{ use anyhow::{Context, Result}; use cargo_metadata::{CargoOpt, Message, MetadataCommand, PackageId}; -use ra_arena::{impl_arena_id, Arena, RawId}; +use ra_arena::{Arena, Idx}; use ra_cargo_watch::run_cargo; use ra_db::Edition; use rustc_hash::FxHashMap; @@ -22,8 +22,8 @@ use serde::Deserialize; /// concepts. #[derive(Debug, Clone)] pub struct CargoWorkspace { - packages: Arena, - targets: Arena, + packages: Arena, + targets: Arena, workspace_root: PathBuf, } @@ -69,13 +69,9 @@ impl Default for CargoFeatures { } } -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] -pub struct Package(RawId); -impl_arena_id!(Package); +pub type Package = Idx; -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] -pub struct Target(RawId); -impl_arena_id!(Target); +pub type Target = Idx; #[derive(Debug, Clone)] pub struct PackageData { diff --git a/crates/ra_project_model/src/sysroot.rs b/crates/ra_project_model/src/sysroot.rs index 4ac4fa14d..55ff5ad80 100644 --- a/crates/ra_project_model/src/sysroot.rs +++ b/crates/ra_project_model/src/sysroot.rs @@ -7,16 +7,14 @@ use std::{ process::{Command, Output}, }; -use ra_arena::{impl_arena_id, Arena, RawId}; +use ra_arena::{Arena, Idx}; #[derive(Default, Debug, Clone)] pub struct Sysroot { - crates: Arena, + crates: Arena, } -#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] -pub struct SysrootCrate(RawId); -impl_arena_id!(SysrootCrate); +pub type SysrootCrate = Idx; #[derive(Debug, Clone)] pub struct SysrootCrateData { -- cgit v1.2.3