summaryrefslogtreecommitdiff
path: root/src/project.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/project.rs')
-rw-r--r--src/project.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/project.rs b/src/project.rs
index 00fc304..93f941d 100644
--- a/src/project.rs
+++ b/src/project.rs
@@ -31,10 +31,12 @@ impl RustAnalyzerProject {
/// Write rust-project.json to disk
pub fn write_to_disk(&self) -> Result<(), std::io::Error> {
- std::fs::write(
- "./rust-project.json",
- serde_json::to_vec(&self).expect("Failed to serialize to JSON"),
- )?;
+ // Using the capacity 2^14 = 16384 since the file length in bytes is higher than 2^13.
+ // The final length is not known exactly because it depends on the user's sysroot path,
+ // the current number of exercises etc.
+ let mut buf = Vec::with_capacity(16384);
+ serde_json::to_writer(&mut buf, &self).expect("Failed to serialize to JSON");
+ std::fs::write("rust-project.json", buf)?;
Ok(())
}