diff --git a/crates/dap/src/transport.rs b/crates/dap/src/transport.rs index 50ffb4b7820517f380909ae2ecad160a31afdd54..fcf46626db7476da3b5ef5464eca30916cfb804c 100644 --- a/crates/dap/src/transport.rs +++ b/crates/dap/src/transport.rs @@ -649,7 +649,7 @@ impl Drop for TcpTransport { } pub struct StdioTransport { - process: Mutex>, + process: Mutex, _stderr_task: Option>, } @@ -684,7 +684,7 @@ impl StdioTransport { )) }); - let process = Mutex::new(Some(process)); + let process = Mutex::new(process); Ok(Self { process, @@ -699,9 +699,7 @@ impl Transport for StdioTransport { } fn kill(&mut self) { - if let Some(process) = &mut *self.process.lock() { - process.kill(); - } + self.process.lock().kill(); } fn connect( @@ -713,8 +711,7 @@ impl Transport for StdioTransport { )>, > { let result = util::maybe!({ - let mut guard = self.process.lock(); - let process = guard.as_mut().context("oops")?; + let mut process = self.process.lock(); Ok(( Box::new(process.stdin.take().context("Cannot reconnect")?) as _, Box::new(process.stdout.take().context("Cannot reconnect")?) as _, @@ -730,9 +727,7 @@ impl Transport for StdioTransport { impl Drop for StdioTransport { fn drop(&mut self) { - if let Some(process) = &mut *self.process.lock() { - process.kill(); - } + self.process.lock().kill(); } }