Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/project-model/src/workspace.rs')
-rw-r--r--crates/project-model/src/workspace.rs39
1 files changed, 18 insertions, 21 deletions
diff --git a/crates/project-model/src/workspace.rs b/crates/project-model/src/workspace.rs
index 5b36e10fd6..e0d2105c8d 100644
--- a/crates/project-model/src/workspace.rs
+++ b/crates/project-model/src/workspace.rs
@@ -8,7 +8,7 @@ use anyhow::Context;
use base_db::{
CrateBuilderId, CrateDisplayName, CrateGraphBuilder, CrateName, CrateOrigin,
CrateWorkspaceData, DependencyBuilder, Env, LangCrateOrigin, ProcMacroLoadingError,
- ProcMacroPaths, TargetLayoutLoadResult,
+ ProcMacroPaths, target::TargetLoadResult,
};
use cfg::{CfgAtom, CfgDiff, CfgOptions};
use intern::{Symbol, sym};
@@ -30,7 +30,7 @@ use crate::{
env::{cargo_config_env, inject_cargo_env, inject_cargo_package_env, inject_rustc_tool_env},
project_json::{Crate, CrateArrayIdx},
sysroot::RustLibSrcWorkspace,
- toolchain_info::{QueryConfig, rustc_cfg, target_data_layout, target_tuple, version},
+ toolchain_info::{QueryConfig, rustc_cfg, target_data, target_tuple, version},
utf8_stdout,
};
use tracing::{debug, error, info};
@@ -63,7 +63,7 @@ pub struct ProjectWorkspace {
/// The toolchain version used by this workspace.
pub toolchain: Option<Version>,
/// The target data layout queried for workspace.
- pub target_layout: TargetLayoutLoadResult,
+ pub target: TargetLoadResult,
/// A set of cfg overrides for this workspace.
pub cfg_overrides: CfgOverrides,
/// Additional includes to add for the VFS.
@@ -115,7 +115,7 @@ impl fmt::Debug for ProjectWorkspace {
sysroot,
rustc_cfg,
toolchain,
- target_layout,
+ target: target_layout,
cfg_overrides,
extra_includes,
set_test,
@@ -157,7 +157,6 @@ impl fmt::Debug for ProjectWorkspace {
.field("file", &file)
.field("cargo_script", &cargo_script.is_some())
.field("n_sysroot_crates", &sysroot.num_packages())
- .field("cargo_script", &cargo_script.is_some())
.field("n_rustc_cfg", &rustc_cfg.len())
.field("toolchain", &toolchain)
.field("data_layout", &target_layout)
@@ -310,8 +309,8 @@ impl ProjectWorkspace {
let rustc_cfg = s.spawn(|| {
rustc_cfg::get(toolchain_config, targets.first().map(Deref::deref), extra_env)
});
- let data_layout = s.spawn(|| {
- target_data_layout::get(
+ let target_data = s.spawn(|| {
+ target_data::get(
toolchain_config,
targets.first().map(Deref::deref),
extra_env,
@@ -393,7 +392,7 @@ impl ProjectWorkspace {
s.spawn(move || cargo_config_env(cargo_toml, &config_file));
thread::Result::Ok((
rustc_cfg.join()?,
- data_layout.join()?,
+ target_data.join()?,
rustc_dir.join()?,
loaded_sysroot.join()?,
cargo_metadata.join()?,
@@ -443,7 +442,7 @@ impl ProjectWorkspace {
rustc_cfg,
cfg_overrides: cfg_overrides.clone(),
toolchain,
- target_layout: data_layout.map(Arc::from).map_err(|it| Arc::from(it.to_string())),
+ target: data_layout.map_err(|it| it.to_string().into()),
extra_includes: extra_includes.clone(),
set_test: *set_test,
})
@@ -481,11 +480,7 @@ impl ProjectWorkspace {
rustc_cfg::get(query_config, targets.first().map(Deref::deref), &config.extra_env)
});
let data_layout = s.spawn(|| {
- target_data_layout::get(
- query_config,
- targets.first().map(Deref::deref),
- &config.extra_env,
- )
+ target_data::get(query_config, targets.first().map(Deref::deref), &config.extra_env)
});
let loaded_sysroot = s.spawn(|| {
if let Some(sysroot_project) = sysroot_project {
@@ -514,7 +509,7 @@ impl ProjectWorkspace {
thread::Result::Ok((rustc_cfg.join()?, data_layout.join()?, loaded_sysroot.join()?))
});
- let (rustc_cfg, target_layout, loaded_sysroot) = match join {
+ let (rustc_cfg, target_data, loaded_sysroot) = match join {
Ok(it) => it,
Err(e) => std::panic::resume_unwind(e),
};
@@ -528,7 +523,7 @@ impl ProjectWorkspace {
sysroot,
rustc_cfg,
toolchain,
- target_layout: target_layout.map(Arc::from).map_err(|it| Arc::from(it.to_string())),
+ target: target_data.map_err(|it| it.to_string().into()),
cfg_overrides: config.cfg_overrides.clone(),
extra_includes: config.extra_includes.clone(),
set_test: config.set_test,
@@ -552,7 +547,7 @@ impl ProjectWorkspace {
let targets = target_tuple::get(query_config, config.target.as_deref(), &config.extra_env)
.unwrap_or_default();
let rustc_cfg = rustc_cfg::get(query_config, None, &config.extra_env);
- let data_layout = target_data_layout::get(query_config, None, &config.extra_env);
+ let target_data = target_data::get(query_config, None, &config.extra_env);
let target_dir = config
.target_dir
.clone()
@@ -611,7 +606,7 @@ impl ProjectWorkspace {
sysroot,
rustc_cfg,
toolchain,
- target_layout: data_layout.map(Arc::from).map_err(|it| Arc::from(it.to_string())),
+ target: target_data.map_err(|it| it.to_string().into()),
cfg_overrides: config.cfg_overrides.clone(),
extra_includes: config.extra_includes.clone(),
set_test: config.set_test,
@@ -943,7 +938,7 @@ impl ProjectWorkspace {
let Self { kind, sysroot, cfg_overrides, rustc_cfg, .. } = self;
let crate_ws_data = Arc::new(CrateWorkspaceData {
toolchain: self.toolchain.clone(),
- data_layout: self.target_layout.clone(),
+ target: self.target.clone(),
});
let (crate_graph, proc_macros) = match kind {
ProjectWorkspaceKind::Json(project) => project_json_to_crate_graph(
@@ -1001,13 +996,15 @@ impl ProjectWorkspace {
}
pub fn eq_ignore_build_data(&self, other: &Self) -> bool {
- let Self { kind, sysroot, rustc_cfg, toolchain, target_layout, cfg_overrides, .. } = self;
+ let Self {
+ kind, sysroot, rustc_cfg, toolchain, target: target_layout, cfg_overrides, ..
+ } = self;
let Self {
kind: o_kind,
sysroot: o_sysroot,
rustc_cfg: o_rustc_cfg,
toolchain: o_toolchain,
- target_layout: o_target_layout,
+ target: o_target_layout,
cfg_overrides: o_cfg_overrides,
..
} = other;