From 11ef6bfbae6ecf951546affb78ba383456798563 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Mon, 18 Jul 2022 17:36:40 +0200 Subject: [PATCH] Avoid unnecessarily emitting fake fs events for dirs that exist --- crates/project/src/fs.rs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/crates/project/src/fs.rs b/crates/project/src/fs.rs index e6d49863c1..397d5ea63a 100644 --- a/crates/project/src/fs.rs +++ b/crates/project/src/fs.rs @@ -554,12 +554,14 @@ impl Fs for FakeFs { state.next_inode += 1; state .write_path(&cur_path, |entry| { - entry.or_insert(Arc::new(Mutex::new(FakeFsEntry::Dir { - inode, - mtime: SystemTime::now(), - entries: Default::default(), - }))); - created_dirs.push(cur_path.clone()); + entry.or_insert_with(|| { + created_dirs.push(cur_path.clone()); + Arc::new(Mutex::new(FakeFsEntry::Dir { + inode, + mtime: SystemTime::now(), + entries: Default::default(), + })) + }); Ok(()) }) .await?;