about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDdystopia <alexanderbabak@proton.me>2023-04-25 11:10:08 +0200
committerDdystopia <alexanderbabak@proton.me>2023-05-02 17:06:31 +0200
commitfc888b583d3dd06ea89a3558350dda9440c82f61 (patch)
tree9892783e050308778d41af2a42bf61a038227ae4
parenta48e0e14e15abf47feae17e54d149eb443729375 (diff)
downloadrust-fc888b583d3dd06ea89a3558350dda9440c82f61.tar.gz
rust-fc888b583d3dd06ea89a3558350dda9440c82f61.zip
Add `target_directory` path to `CargoWorkspace`
-rw-r--r--crates/project-model/src/cargo_workspace.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/crates/project-model/src/cargo_workspace.rs b/crates/project-model/src/cargo_workspace.rs
index fb98d61963c..e821cae00ac 100644
--- a/crates/project-model/src/cargo_workspace.rs
+++ b/crates/project-model/src/cargo_workspace.rs
@@ -32,6 +32,7 @@ pub struct CargoWorkspace {
     packages: Arena<PackageData>,
     targets: Arena<TargetData>,
     workspace_root: AbsPathBuf,
+    target_directory: AbsPathBuf,
 }
 
 impl ops::Index<Package> for CargoWorkspace {
@@ -414,7 +415,10 @@ impl CargoWorkspace {
         let workspace_root =
             AbsPathBuf::assert(PathBuf::from(meta.workspace_root.into_os_string()));
 
-        CargoWorkspace { packages, targets, workspace_root }
+        let target_directory =
+            AbsPathBuf::assert(PathBuf::from(meta.target_directory.into_os_string()));
+
+        CargoWorkspace { packages, targets, workspace_root, target_directory }
     }
 
     pub fn packages(&self) -> impl Iterator<Item = Package> + ExactSizeIterator + '_ {
@@ -432,6 +436,10 @@ impl CargoWorkspace {
         &self.workspace_root
     }
 
+    pub fn target_directory(&self) -> &AbsPath {
+        &self.target_directory
+    }
+
     pub fn package_flag(&self, package: &PackageData) -> String {
         if self.is_unique(&package.name) {
             package.name.clone()