Closed zsluedem closed 5 years ago
syntax = "proto3"; import "google/protobuf/empty.proto"; service TestService { rpc test(google.protobuf.Empty) returns (google.protobuf.Empty) {} }
build.rs
extern crate protoc_rust_grpc; fn main() { protoc_rust_grpc::run(protoc_rust_grpc::Args { out_dir: "src", includes: &["protobuf"], input: &["protobuf/test.proto"], rust_protobuf: true, ..Default::default() }).expect("protoc-rust-grpc"); }
would generate
pub trait TestService { fn test(&self, o: ::grpc::RequestOptions, p: super::empty::Empty) -> ::grpc::SingleResponse<super::empty::Empty>; } // client pub struct TestServiceClient { grpc_client: ::std::sync::Arc<::grpc::Client>, method_test: ::std::sync::Arc<::grpc::rt::MethodDescriptor<super::empty::Empty, super::empty::Empty>>, }
super::empty::Empty is not available.
super::empty::Empty
put
mod empty { pub use protobuf::well_known_types::Empty; }
in mod.rs in the same directory can solve the problem
mod.rs
31 There is a related issue. But it can not solve the problem.
build.rs
would generate
super::empty::Empty
is not available.