From 88241946e3144fede5c86f98d00bb723c1cc2761 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Wed, 7 Sep 2022 18:05:27 +0200 Subject: compiler crash……… MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/src/main.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'server/src/main.rs') diff --git a/server/src/main.rs b/server/src/main.rs index ff34ad0..b4121b9 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -1,5 +1,3 @@ -#![feature(async_closure)] - pub mod protocol; pub mod room; @@ -11,6 +9,7 @@ use room::Room; use std::convert::Infallible; use std::sync::Arc; use warp::hyper::Server; +use warp::ws::WebSocket; use warp::{Filter, Rejection, Reply}; type Rooms = Arc>; @@ -73,7 +72,7 @@ async fn handle_rejection(err: Rejection) -> Result { } fn signaling_connect(rname: String, rooms: Rooms, ws: warp::ws::Ws) -> impl Reply { - ws.on_upgrade(async move |sock| { + async fn inner(sock: WebSocket, rname: String, rooms: Rooms) { let room = match rooms.get(&rname) { Some(r) => r, None => { @@ -85,5 +84,6 @@ fn signaling_connect(rname: String, rooms: Rooms, ws: warp::ws::Ws) -> impl Repl if room.should_remove().await { rooms.remove(&rname); } - }) + } + ws.on_upgrade(move |sock| inner(sock, rname, rooms)) } -- cgit v1.2.3-70-g09d2