// cargo test --test test_handler_wrappers --features "client server" mod common; use std::sync::Arc; use common::handlers::TestServer; use rmcp::ServerHandler; #[test] fn test_wrapped_server_handlers() { // This test asserts that, when T: ServerHandler, both Box and Arc also implement ServerHandler. fn accepts_server_handler(_handler: H) {} accepts_server_handler(Box::new(TestServer::new())); accepts_server_handler(Arc::new(TestServer::new())); } #[cfg(feature = "client")] #[test] fn test_wrapped_client_handlers() { use common::handlers::TestClientHandler; use rmcp::ClientHandler; // This test asserts that, when T: ClientHandler, both Box and Arc also implement ClientHandler. fn accepts_client_handler(_handler: H) {} let client = TestClientHandler::new(false, false); accepts_client_handler(Box::new(client.clone())); accepts_client_handler(Arc::new(client)); }