Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/project-model/src/toolchain_info.rs')
-rw-r--r--crates/project-model/src/toolchain_info.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/crates/project-model/src/toolchain_info.rs b/crates/project-model/src/toolchain_info.rs
new file mode 100644
index 0000000000..ad6f3fae8e
--- /dev/null
+++ b/crates/project-model/src/toolchain_info.rs
@@ -0,0 +1,13 @@
+pub mod rustc_cfg;
+pub mod target_data_layout;
+pub mod target_triple;
+
+use crate::{ManifestPath, Sysroot};
+
+pub enum QueryConfig<'a> {
+ /// Directly invoke `rustc` to query the desired information.
+ Rustc(&'a Sysroot),
+ /// Attempt to use cargo to query the desired information, honoring cargo configurations.
+ /// If this fails, falls back to invoking `rustc` directly.
+ Cargo(&'a Sysroot, &'a ManifestPath),
+}