diff --git a/ext/http/lib.rs b/ext/http/lib.rs index 8fd7015aae..31b76cf44a 100644 --- a/ext/http/lib.rs +++ b/ext/http/lib.rs @@ -14,7 +14,6 @@ use deno_core::futures::future::Pending; use deno_core::futures::future::RemoteHandle; use deno_core::futures::future::Shared; use deno_core::futures::never::Never; -use deno_core::futures::pin_mut; use deno_core::futures::ready; use deno_core::futures::stream::Peekable; use deno_core::futures::FutureExt; @@ -62,6 +61,7 @@ use std::io; use std::io::Write; use std::mem::replace; use std::mem::take; +use std::pin::pin; use std::pin::Pin; use std::rc::Rc; use std::sync::Arc; @@ -156,8 +156,8 @@ impl HttpConnResource { // A local task that polls the hyper connection future to completion. let task_fut = async move { - pin_mut!(shutdown_fut); - pin_mut!(conn_fut); + let conn_fut = pin!(conn_fut); + let shutdown_fut = pin!(shutdown_fut); let result = match select(conn_fut, shutdown_fut).await { Either::Left((result, _)) => result, Either::Right((_, mut conn_fut)) => { diff --git a/runtime/inspector_server.rs b/runtime/inspector_server.rs index a959bb8d43..e5f3a4f096 100644 --- a/runtime/inspector_server.rs +++ b/runtime/inspector_server.rs @@ -8,7 +8,6 @@ use deno_core::futures::channel::mpsc::UnboundedSender; use deno_core::futures::channel::oneshot; use deno_core::futures::future; use deno_core::futures::future::Future; -use deno_core::futures::pin_mut; use deno_core::futures::prelude::*; use deno_core::futures::select; use deno_core::futures::stream::StreamExt; @@ -25,6 +24,7 @@ use std::cell::RefCell; use std::collections::HashMap; use std::convert::Infallible; use std::net::SocketAddr; +use std::pin::pin; use std::process; use std::rc::Rc; use std::thread; @@ -226,7 +226,7 @@ async fn server( Rc::new(RefCell::new(HashMap::::new())); let inspector_map = Rc::clone(&inspector_map_); - let register_inspector_handler = register_inspector_rx + let mut register_inspector_handler = pin!(register_inspector_rx .map(|info| { eprintln!( "Debugger listening on {}", @@ -240,16 +240,16 @@ async fn server( panic!("Inspector UUID already in map"); } }) - .collect::<()>(); + .collect::<()>()); let inspector_map = Rc::clone(&inspector_map_); - let deregister_inspector_handler = future::poll_fn(|cx| { + let mut deregister_inspector_handler = pin!(future::poll_fn(|cx| { inspector_map .borrow_mut() .retain(|_, info| info.deregister_rx.poll_unpin(cx) == Poll::Pending); Poll::::Pending }) - .fuse(); + .fuse()); let json_version_response = json!({ "Browser": name, @@ -287,7 +287,7 @@ async fn server( }); // Create the server manually so it can use the Local Executor - let server_handler = hyper::server::Builder::new( + let mut server_handler = pin!(hyper::server::Builder::new( hyper::server::conn::AddrIncoming::bind(&host).unwrap_or_else(|e| { eprintln!("Cannot start inspector server: {e}."); process::exit(1); @@ -302,11 +302,7 @@ async fn server( eprintln!("Cannot start inspector server: {err}."); process::exit(1); }) - .fuse(); - - pin_mut!(register_inspector_handler); - pin_mut!(deregister_inspector_handler); - pin_mut!(server_handler); + .fuse()); select! { _ = register_inspector_handler => {},