Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/load-cargo/src/lib.rs')
-rw-r--r--crates/load-cargo/src/lib.rs15
1 files changed, 7 insertions, 8 deletions
diff --git a/crates/load-cargo/src/lib.rs b/crates/load-cargo/src/lib.rs
index 8c5592da63..830d19a709 100644
--- a/crates/load-cargo/src/lib.rs
+++ b/crates/load-cargo/src/lib.rs
@@ -309,6 +309,10 @@ fn load_crate_graph(
vfs: &mut vfs::Vfs,
receiver: &Receiver<vfs::loader::Message>,
) -> AnalysisHost {
+ let (ProjectWorkspace::Cargo { toolchain, target_layout, .. }
+ | ProjectWorkspace::Json { toolchain, target_layout, .. }
+ | ProjectWorkspace::DetachedFiles { toolchain, target_layout, .. }) = ws;
+
let lru_cap = std::env::var("RA_LRU_CAP").ok().and_then(|it| it.parse::<usize>().ok());
let mut host = AnalysisHost::new(lru_cap);
let mut analysis_change = Change::new();
@@ -344,14 +348,9 @@ fn load_crate_graph(
let num_crates = crate_graph.len();
analysis_change.set_crate_graph(crate_graph);
analysis_change.set_proc_macros(proc_macros);
- if let ProjectWorkspace::Cargo { toolchain, target_layout, .. }
- | ProjectWorkspace::Json { toolchain, target_layout, .. } = ws
- {
- analysis_change.set_target_data_layouts(
- iter::repeat(target_layout.clone()).take(num_crates).collect(),
- );
- analysis_change.set_toolchains(iter::repeat(toolchain.clone()).take(num_crates).collect());
- }
+ analysis_change
+ .set_target_data_layouts(iter::repeat(target_layout.clone()).take(num_crates).collect());
+ analysis_change.set_toolchains(iter::repeat(toolchain.clone()).take(num_crates).collect());
host.apply_change(analysis_change);
host