From a41f55ab9dfe77fca920b3c2e89343c7ce963225 Mon Sep 17 00:00:00 2001 From: Juan Alvarez Date: Mon, 13 Jan 2020 08:42:14 -0600 Subject: [PATCH] fix(build): Remove default impl for Server traits (#229) BREAKING CHANGE: remove default implementations for server traits. --- examples/src/multiplex/server.rs | 22 ++++++++++++++++++++++ examples/src/tls_client_auth/server.rs | 22 ++++++++++++++++++++++ tonic-build/src/server.rs | 16 ++++------------ 3 files changed, 48 insertions(+), 12 deletions(-) diff --git a/examples/src/multiplex/server.rs b/examples/src/multiplex/server.rs index 4af338b..d45fb8d 100644 --- a/examples/src/multiplex/server.rs +++ b/examples/src/multiplex/server.rs @@ -68,5 +68,27 @@ impl Echo for MyEcho { } type ServerStreamingEchoStream = ResponseStream; + + async fn server_streaming_echo( + &self, + _: Request, + ) -> Result, Status> { + Err(Status::unimplemented("Not yet implemented")) + } + + async fn client_streaming_echo( + &self, + _: Request>, + ) -> Result, Status> { + Err(Status::unimplemented("Not yet implemented")) + } + type BidirectionalStreamingEchoStream = ResponseStream; + + async fn bidirectional_streaming_echo( + &self, + _: Request>, + ) -> Result, Status> { + Err(Status::unimplemented("Not yet implemented")) + } } diff --git a/examples/src/tls_client_auth/server.rs b/examples/src/tls_client_auth/server.rs index e7e25ba..43061aa 100644 --- a/examples/src/tls_client_auth/server.rs +++ b/examples/src/tls_client_auth/server.rs @@ -26,7 +26,29 @@ impl pb::echo_server::Echo for EchoServer { } type ServerStreamingEchoStream = ResponseStream; + + async fn server_streaming_echo( + &self, + _: Request, + ) -> Result, Status> { + Err(Status::unimplemented("Not yet implemented")) + } + + async fn client_streaming_echo( + &self, + _: Request>, + ) -> Result, Status> { + Err(Status::unimplemented("Not yet implemented")) + } + type BidirectionalStreamingEchoStream = ResponseStream; + + async fn bidirectional_streaming_echo( + &self, + _: Request>, + ) -> Result, Status> { + Err(Status::unimplemented("Not yet implemented")) + } } #[tokio::main] diff --git a/tonic-build/src/server.rs b/tonic-build/src/server.rs index cb8f52f..81fa052 100644 --- a/tonic-build/src/server.rs +++ b/tonic-build/src/server.rs @@ -108,18 +108,14 @@ fn generate_trait_methods(service: &Service, proto_path: &str) -> TokenStream { quote! { #method_doc async fn #name(&self, request: tonic::Request<#req_message>) - -> Result, tonic::Status> { - Err(tonic::Status::unimplemented("Not yet implemented")) - } + -> Result, tonic::Status>; } } (true, false) => { quote! { #method_doc async fn #name(&self, request: tonic::Request>) - -> Result, tonic::Status> { - Err(tonic::Status::unimplemented("Not yet implemented")) - } + -> Result, tonic::Status>; } } (false, true) => { @@ -135,9 +131,7 @@ fn generate_trait_methods(service: &Service, proto_path: &str) -> TokenStream { #method_doc async fn #name(&self, request: tonic::Request<#req_message>) - -> Result, tonic::Status> { - Err(tonic::Status::unimplemented("Not yet implemented")) - } + -> Result, tonic::Status>; } } (true, true) => { @@ -153,9 +147,7 @@ fn generate_trait_methods(service: &Service, proto_path: &str) -> TokenStream { #method_doc async fn #name(&self, request: tonic::Request>) - -> Result, tonic::Status> { - Err(tonic::Status::unimplemented("Not yet implemented")) - } + -> Result, tonic::Status>; } } };