diff --git a/zed/src/worktree.rs b/zed/src/worktree.rs index 18f057dbab0a5e818813422270689d238fcb7bfc..d24c1b412eb8596dd30088a21f8eb2b1d5b497df 100644 --- a/zed/src/worktree.rs +++ b/zed/src/worktree.rs @@ -459,7 +459,9 @@ impl Worktree { let receipt = envelope.receipt(); let worktree_id = envelope.payload.worktree_id; let buffer_id = envelope.payload.buffer_id; - let save = buffer.update(cx, |buffer, cx| buffer.save(cx))?; + let save = cx.spawn(|_, mut cx| async move { + buffer.update(&mut cx, |buffer, cx| buffer.save(cx))?.await + }); cx.background() .spawn(log_async_errors(async move {