From 7cd9b1dd7a91fb3b1e400fd4b47333c9699381f7 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Mon, 19 Aug 2019 15:41:18 +0300 Subject: don't load sysroot in most heavy tests --- crates/ra_project_model/src/lib.rs | 12 ++++++++---- crates/ra_project_model/src/sysroot.rs | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) (limited to 'crates/ra_project_model') diff --git a/crates/ra_project_model/src/lib.rs b/crates/ra_project_model/src/lib.rs index 55b94b911..676dc4941 100644 --- a/crates/ra_project_model/src/lib.rs +++ b/crates/ra_project_model/src/lib.rs @@ -57,6 +57,10 @@ impl PackageRoot { impl ProjectWorkspace { pub fn discover(path: &Path) -> Result { + ProjectWorkspace::discover_with_sysroot(path, true) + } + + pub fn discover_with_sysroot(path: &Path, with_sysroot: bool) -> Result { match find_rust_project_json(path) { Some(json_path) => { let file = File::open(json_path)?; @@ -65,10 +69,10 @@ impl ProjectWorkspace { } None => { let cargo_toml = find_cargo_toml(path)?; - Ok(ProjectWorkspace::Cargo { - cargo: CargoWorkspace::from_cargo_metadata(&cargo_toml)?, - sysroot: Sysroot::discover(&cargo_toml)?, - }) + let cargo = CargoWorkspace::from_cargo_metadata(&cargo_toml)?; + let sysroot = + if with_sysroot { Sysroot::discover(&cargo_toml)? } else { Sysroot::default() }; + Ok(ProjectWorkspace::Cargo { cargo, sysroot }) } } } diff --git a/crates/ra_project_model/src/sysroot.rs b/crates/ra_project_model/src/sysroot.rs index 3f34d51cc..2a7927f7e 100644 --- a/crates/ra_project_model/src/sysroot.rs +++ b/crates/ra_project_model/src/sysroot.rs @@ -7,7 +7,7 @@ use ra_arena::{impl_arena_id, Arena, RawId}; use crate::Result; -#[derive(Debug, Clone)] +#[derive(Default, Debug, Clone)] pub struct Sysroot { crates: Arena, } -- cgit v1.2.3