trait_object.rs
Rust•マスター
Explorer
C40
C++40
C#40
Dart40
Go40
Java40
JavaScript40
Kotlin40
Objective-C40
Perl40
PHP40
Python40
R40
Ruby40
Rust
初級10
中級10
上級10
エキスパート5
マスター5
async_channel.rs
lifetime_bounds.rs
trait_object.rs
macro_recursive.rs
unsafe_transmute.rs
Shell40
Swift40
TypeScript40
trait_object.rs
Click to focus
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
trait Handler: Send + Sync {↵
fn handle(&self, req: Request) -> BoxFuture<'_, Response>;↵
}↵
struct Router {↵
handlers: Arc<RwLock<HashMap<String, Box<dyn Handler>>>>,↵
}↵
impl Router {↵
async fn route(&self, path: &str, req: Request) -> Response {↵
let handlers = self.handlers.read().await;↵
handlers.get(path)↵
.map(|h| h.handle(req))↵
.unwrap_or_else(|| Box::pin(async { Response::NotFound }))↵
.await↵
}↵
}
0WPM•0%•0:00•0/456(0%)|Ln 1, Col 1
UTF-8•Rust