From d0a8f6a3eb5094af36a72ca01b290a494dfd7b16 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Fri, 10 Jul 2020 15:27:34 +0200 Subject: Automatically reload project info on Cargo.toml changes --- crates/ra_project_model/src/cargo_workspace.rs | 8 ++++---- crates/ra_project_model/src/lib.rs | 2 +- crates/ra_project_model/src/sysroot.rs | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) (limited to 'crates/ra_project_model/src') diff --git a/crates/ra_project_model/src/cargo_workspace.rs b/crates/ra_project_model/src/cargo_workspace.rs index 04f7eb741..6d1154056 100644 --- a/crates/ra_project_model/src/cargo_workspace.rs +++ b/crates/ra_project_model/src/cargo_workspace.rs @@ -24,7 +24,7 @@ use rustc_hash::FxHashMap; /// /// We use absolute paths here, `cargo metadata` guarantees to always produce /// abs paths. -#[derive(Debug, Clone)] +#[derive(Debug, Clone, Eq, PartialEq)] pub struct CargoWorkspace { packages: Arena, targets: Arena, @@ -68,7 +68,7 @@ pub type Package = Idx; pub type Target = Idx; -#[derive(Debug, Clone)] +#[derive(Debug, Clone, Eq, PartialEq)] pub struct PackageData { pub version: String, pub name: String, @@ -83,13 +83,13 @@ pub struct PackageData { pub proc_macro_dylib_path: Option, } -#[derive(Debug, Clone)] +#[derive(Debug, Clone, Eq, PartialEq)] pub struct PackageDependency { pub pkg: Package, pub name: String, } -#[derive(Debug, Clone)] +#[derive(Debug, Clone, Eq, PartialEq)] pub struct TargetData { pub package: Package, pub name: String, diff --git a/crates/ra_project_model/src/lib.rs b/crates/ra_project_model/src/lib.rs index 5d1f871c4..b9c5424bf 100644 --- a/crates/ra_project_model/src/lib.rs +++ b/crates/ra_project_model/src/lib.rs @@ -24,7 +24,7 @@ pub use crate::{ }; pub use ra_proc_macro::ProcMacroClient; -#[derive(Debug, Clone)] +#[derive(Debug, Clone, Eq, PartialEq)] pub enum ProjectWorkspace { /// Project workspace was discovered by running `cargo metadata` and `rustc --print sysroot`. Cargo { cargo: CargoWorkspace, sysroot: Sysroot }, diff --git a/crates/ra_project_model/src/sysroot.rs b/crates/ra_project_model/src/sysroot.rs index fc1673ede..68d134da4 100644 --- a/crates/ra_project_model/src/sysroot.rs +++ b/crates/ra_project_model/src/sysroot.rs @@ -3,19 +3,19 @@ use std::{convert::TryFrom, env, ops, path::Path, process::Command}; use anyhow::{bail, format_err, Result}; +use paths::{AbsPath, AbsPathBuf}; use ra_arena::{Arena, Idx}; use crate::output; -use paths::{AbsPath, AbsPathBuf}; -#[derive(Default, Debug, Clone)] +#[derive(Default, Debug, Clone, Eq, PartialEq)] pub struct Sysroot { crates: Arena, } pub type SysrootCrate = Idx; -#[derive(Debug, Clone)] +#[derive(Debug, Clone, Eq, PartialEq)] pub struct SysrootCrateData { pub name: String, pub root: AbsPathBuf, -- cgit v1.2.3