aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_project_model/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_project_model/src/lib.rs')
-rw-r--r--crates/ra_project_model/src/lib.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/crates/ra_project_model/src/lib.rs b/crates/ra_project_model/src/lib.rs
index 647a1f365..8e81396d4 100644
--- a/crates/ra_project_model/src/lib.rs
+++ b/crates/ra_project_model/src/lib.rs
@@ -112,8 +112,7 @@ impl ProjectWorkspace {
112 roots 112 roots
113 } 113 }
114 ProjectWorkspace::Cargo { cargo, sysroot } => { 114 ProjectWorkspace::Cargo { cargo, sysroot } => {
115 let mut roots = 115 let mut roots = Vec::with_capacity(cargo.packages().len() + sysroot.crates().len());
116 Vec::with_capacity(cargo.packages().count() + sysroot.crates().count());
117 for pkg in cargo.packages() { 116 for pkg in cargo.packages() {
118 let root = pkg.root(&cargo).to_path_buf(); 117 let root = pkg.root(&cargo).to_path_buf();
119 let member = pkg.is_member(&cargo); 118 let member = pkg.is_member(&cargo);
@@ -127,10 +126,12 @@ impl ProjectWorkspace {
127 } 126 }
128 } 127 }
129 128
130 pub fn count(&self) -> usize { 129 pub fn n_packages(&self) -> usize {
131 match self { 130 match self {
132 ProjectWorkspace::Json { project } => project.crates.len(), 131 ProjectWorkspace::Json { project } => project.crates.len(),
133 ProjectWorkspace::Cargo { cargo, .. } => cargo.packages().count(), 132 ProjectWorkspace::Cargo { cargo, sysroot } => {
133 cargo.packages().len() + sysroot.crates().len()
134 }
134 } 135 }
135 } 136 }
136 137