Hide the implementation of Task (#22009)

The `Option<T>` within `Ready` is confusing and using `None` for it can
cause crashes. There was actually one instance of this!

Release Notes:

- N/A
This commit is contained in:
Michael Sloan 2024-12-14 02:52:22 -07:00 committed by GitHub
parent 1ac60289fe
commit c5fe6ef100
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 28 additions and 16 deletions

View file

@ -1651,7 +1651,7 @@ impl Workspace {
F: 'static + FnOnce(&mut Workspace, &mut ViewContext<Workspace>) -> T,
{
if self.project.read(cx).is_local() {
Task::Ready(Some(Ok(callback(self, cx))))
Task::ready(Ok(callback(self, cx)))
} else {
let env = self.project.read(cx).cli_environment(cx);
let task = Self::new_local(Vec::new(), self.app_state.clone(), None, env, cx);