From c9942632254e52fef39821868c1cd00460bdd785 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Fri, 8 Apr 2022 14:14:45 +0200 Subject: [PATCH] Don't insert an empty vector in `Project::buffer_snapshots` Other code paths rely on at least a version always being there, so we should enforce that invariant everywhere. --- crates/project/src/project.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/project/src/project.rs b/crates/project/src/project.rs index ef0531c36a..409e49e9fb 100644 --- a/crates/project/src/project.rs +++ b/crates/project/src/project.rs @@ -1216,7 +1216,7 @@ impl Project { let file = File::from_dyn(buffer.file())?; let abs_path = file.as_local()?.abs_path(cx); let uri = lsp::Url::from_file_path(abs_path).unwrap(); - let buffer_snapshots = self.buffer_snapshots.entry(buffer.remote_id()).or_default(); + let buffer_snapshots = self.buffer_snapshots.get_mut(&buffer.remote_id())?; let (version, prev_snapshot) = buffer_snapshots.last()?; let next_snapshot = buffer.text_snapshot(); let next_version = version + 1;