mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-02 22:54:58 +00:00
Simplify Arena to use a generic index
This commit is contained in:
parent
988f1dda6b
commit
f840fcb2f5
17 changed files with 179 additions and 189 deletions
|
@ -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<Package, PackageData>,
|
||||
targets: Arena<Target, TargetData>,
|
||||
packages: Arena<PackageData>,
|
||||
targets: Arena<TargetData>,
|
||||
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<PackageData>;
|
||||
|
||||
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
|
||||
pub struct Target(RawId);
|
||||
impl_arena_id!(Target);
|
||||
pub type Target = Idx<TargetData>;
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct PackageData {
|
||||
|
|
|
@ -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<SysrootCrate, SysrootCrateData>,
|
||||
crates: Arena<SysrootCrateData>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct SysrootCrate(RawId);
|
||||
impl_arena_id!(SysrootCrate);
|
||||
pub type SysrootCrate = Idx<SysrootCrateData>;
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct SysrootCrateData {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue