google-api-proto icon indicating copy to clipboard operation
google-api-proto copied to clipboard

Bump prost, prost-build, prost-types, tonic, and tonic-build

Open bouzuya opened this issue 1 year ago • 2 comments

I couldn't compile the `examples`. Please fix this.

  • Plan A: Remove examples/
  • Plan B: Replace google-authz deps from examples/ with any crates
    • ...
  • Plan C: Update google-authz
    • [ ] https://github.com/mechiru/gcemeta Bump hyper from 0.14 to 1.4
    • [ ] https://github.com/mechiru/google-authz Bump hyper from 0.14 to 1.4
    • [ ] Fix examples/

→ I temporarily deleted examples/ directory.

$ cargo test
   Compiling examples v0.1.0 (/Users/bouzuya/ghq/github.com/mechiru/google-api-proto/examples)
warning: use of deprecated type alias `toml_edit::Document`: Replaced with `DocumentMut`
 --> xtask/src/manifest.rs:7:38
  |
7 | use toml_edit::{table, value, Array, Document};
  |                                      ^^^^^^^^
  |
  = note: `#[warn(deprecated)]` on by default

warning: use of deprecated type alias `toml_edit::Document`: Replaced with `DocumentMut`
  --> xtask/src/manifest.rs:11:15
   |
11 |     document: Document,
   |               ^^^^^^^^

warning: use of deprecated type alias `toml_edit::Document`: Replaced with `DocumentMut`
  --> xtask/src/manifest.rs:18:37
   |
18 |         let document = file.parse::<Document>()?;
   |                                     ^^^^^^^^

warning: `xtask` (bin "xtask" test) generated 3 warnings
error[E0277]: the trait bound `Channel: tonic::codegen::Service<http::request::Request<_>>` is not satisfied
  --> examples/src/spanner.rs:20:36
   |
20 |     let channel = GoogleAuthz::new(channel).await;
   |                   ---------------- ^^^^^^^ the trait `tonic::codegen::Service<http::request::Request<_>>` is not implemented for `Channel`
   |                   |
   |                   required by a bound introduced by this call
   |
   = help: the trait `tonic::codegen::Service<request::Request<http_body_util::combinators::box_body::UnsyncBoxBody<tonic::codegen::Bytes, tonic::Status>>>` is implemented for `Channel`
   = help: for that trait implementation, expected `request::Request<http_body_util::combinators::box_body::UnsyncBoxBody<tonic::codegen::Bytes, tonic::Status>>`, found `http::request::Request<_>`
note: required by a bound in `google_authz::GoogleAuthz::<()>::new`
  --> /Users/bouzuya/.cargo/registry/src/index.crates.io-6f17d22bba15001f/google-authz-1.0.0-alpha.5/src/service.rs:80:12
   |
78 |     pub async fn new<S, B>(service: S) -> GoogleAuthz<S>
   |                  --- required by a bound in this associated function
79 |     where
80 |         S: tower_service::Service<Request<B>>,
   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `GoogleAuthz::<()>::new`

error[E0277]: the trait bound `Channel: tonic::codegen::Service<http::request::Request<_>>` is not satisfied
  --> examples/src/pubsub.rs:14:36
   |
14 |     let channel = GoogleAuthz::new(channel).await;
   |                   ---------------- ^^^^^^^ the trait `tonic::codegen::Service<http::request::Request<_>>` is not implemented for `Channel`
   |                   |
   |                   required by a bound introduced by this call
   |
   = help: the trait `tonic::codegen::Service<request::Request<http_body_util::combinators::box_body::UnsyncBoxBody<tonic::codegen::Bytes, tonic::Status>>>` is implemented for `Channel`
   = help: for that trait implementation, expected `request::Request<http_body_util::combinators::box_body::UnsyncBoxBody<tonic::codegen::Bytes, tonic::Status>>`, found `http::request::Request<_>`
note: required by a bound in `google_authz::GoogleAuthz::<()>::new`
  --> /Users/bouzuya/.cargo/registry/src/index.crates.io-6f17d22bba15001f/google-authz-1.0.0-alpha.5/src/service.rs:80:12
   |
78 |     pub async fn new<S, B>(service: S) -> GoogleAuthz<S>
   |                  --- required by a bound in this associated function
79 |     where
80 |         S: tower_service::Service<Request<B>>,
   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `GoogleAuthz::<()>::new`

error[E0277]: the trait bound `Channel: tonic::codegen::Service<http::request::Request<_>>` is not satisfied
  --> examples/src/spanner.rs:20:19
   |
20 |     let channel = GoogleAuthz::new(channel).await;
   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `tonic::codegen::Service<http::request::Request<_>>` is not implemented for `Channel`
   |
   = help: the trait `tonic::codegen::Service<request::Request<http_body_util::combinators::box_body::UnsyncBoxBody<tonic::codegen::Bytes, tonic::Status>>>` is implemented for `Channel`
   = help: for that trait implementation, expected `request::Request<http_body_util::combinators::box_body::UnsyncBoxBody<tonic::codegen::Bytes, tonic::Status>>`, found `http::request::Request<_>`
note: required by a bound in `google_authz::GoogleAuthz::<()>::new`
  --> /Users/bouzuya/.cargo/registry/src/index.crates.io-6f17d22bba15001f/google-authz-1.0.0-alpha.5/src/service.rs:80:12
   |
78 |     pub async fn new<S, B>(service: S) -> GoogleAuthz<S>
   |                  --- required by a bound in this associated function
79 |     where
80 |         S: tower_service::Service<Request<B>>,
   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `GoogleAuthz::<()>::new`

error[E0277]: the trait bound `Channel: tonic::codegen::Service<http::request::Request<_>>` is not satisfied
  --> examples/src/pubsub.rs:14:19
   |
14 |     let channel = GoogleAuthz::new(channel).await;
   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `tonic::codegen::Service<http::request::Request<_>>` is not implemented for `Channel`
   |
   = help: the trait `tonic::codegen::Service<request::Request<http_body_util::combinators::box_body::UnsyncBoxBody<tonic::codegen::Bytes, tonic::Status>>>` is implemented for `Channel`
   = help: for that trait implementation, expected `request::Request<http_body_util::combinators::box_body::UnsyncBoxBody<tonic::codegen::Bytes, tonic::Status>>`, found `http::request::Request<_>`
note: required by a bound in `google_authz::GoogleAuthz::<()>::new`
  --> /Users/bouzuya/.cargo/registry/src/index.crates.io-6f17d22bba15001f/google-authz-1.0.0-alpha.5/src/service.rs:80:12
   |
78 |     pub async fn new<S, B>(service: S) -> GoogleAuthz<S>
   |                  --- required by a bound in this associated function
79 |     where
80 |         S: tower_service::Service<Request<B>>,
   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `GoogleAuthz::<()>::new`

error[E0277]: the trait bound `Channel: tonic::codegen::Service<http::request::Request<_>>` is not satisfied
  --> examples/src/spanner.rs:20:45
   |
20 |     let channel = GoogleAuthz::new(channel).await;
   |                                             ^^^^^ the trait `tonic::codegen::Service<http::request::Request<_>>` is not implemented for `Channel`
   |
   = help: the trait `tonic::codegen::Service<request::Request<http_body_util::combinators::box_body::UnsyncBoxBody<tonic::codegen::Bytes, tonic::Status>>>` is implemented for `Channel`
   = help: for that trait implementation, expected `request::Request<http_body_util::combinators::box_body::UnsyncBoxBody<tonic::codegen::Bytes, tonic::Status>>`, found `http::request::Request<_>`
note: required by a bound in `google_authz::GoogleAuthz::<()>::new`
  --> /Users/bouzuya/.cargo/registry/src/index.crates.io-6f17d22bba15001f/google-authz-1.0.0-alpha.5/src/service.rs:80:12
   |
78 |     pub async fn new<S, B>(service: S) -> GoogleAuthz<S>
   |                  --- required by a bound in this associated function
79 |     where
80 |         S: tower_service::Service<Request<B>>,
   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `GoogleAuthz::<()>::new`

error[E0277]: the trait bound `Channel: tonic::codegen::Service<http::request::Request<_>>` is not satisfied
  --> examples/src/pubsub.rs:14:45
   |
14 |     let channel = GoogleAuthz::new(channel).await;
   |                                             ^^^^^ the trait `tonic::codegen::Service<http::request::Request<_>>` is not implemented for `Channel`
   |
   = help: the trait `tonic::codegen::Service<request::Request<http_body_util::combinators::box_body::UnsyncBoxBody<tonic::codegen::Bytes, tonic::Status>>>` is implemented for `Channel`
   = help: for that trait implementation, expected `request::Request<http_body_util::combinators::box_body::UnsyncBoxBody<tonic::codegen::Bytes, tonic::Status>>`, found `http::request::Request<_>`
note: required by a bound in `google_authz::GoogleAuthz::<()>::new`
  --> /Users/bouzuya/.cargo/registry/src/index.crates.io-6f17d22bba15001f/google-authz-1.0.0-alpha.5/src/service.rs:80:12
   |
78 |     pub async fn new<S, B>(service: S) -> GoogleAuthz<S>
   |                  --- required by a bound in this associated function
79 |     where
80 |         S: tower_service::Service<Request<B>>,
   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `GoogleAuthz::<()>::new`

error[E0277]: the trait bound `google_authz::GoogleAuthz<Channel>: tonic::codegen::Service<request::Request<http_body_util::combinators::box_body::UnsyncBoxBody<tonic::codegen::Bytes, tonic::Status>>>` is not satisfied
  --> examples/src/pubsub.rs:16:22
   |
16 |     let mut client = PublisherClient::new(channel);
   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `tonic::codegen::Service<request::Request<http_body_util::combinators::box_body::UnsyncBoxBody<tonic::codegen::Bytes, tonic::Status>>>` is not implemented for `google_authz::GoogleAuthz<Channel>`, which is required by `google_authz::GoogleAuthz<Channel>: GrpcService<http_body_util::combinators::box_body::UnsyncBoxBody<tonic::codegen::Bytes, tonic::Status>>`
   |
   = help: the trait `tonic::codegen::Service<http::request::Request<B>>` is implemented for `google_authz::GoogleAuthz<S>`
   = note: required for `google_authz::GoogleAuthz<Channel>` to implement `GrpcService<http_body_util::combinators::box_body::UnsyncBoxBody<tonic::codegen::Bytes, tonic::Status>>`

error[E0277]: the trait bound `google_authz::GoogleAuthz<Channel>: tonic::codegen::Service<request::Request<http_body_util::combinators::box_body::UnsyncBoxBody<tonic::codegen::Bytes, tonic::Status>>>` is not satisfied
  --> examples/src/spanner.rs:22:22
   |
22 |     let mut client = DatabaseAdminClient::new(channel);
   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `tonic::codegen::Service<request::Request<http_body_util::combinators::box_body::UnsyncBoxBody<tonic::codegen::Bytes, tonic::Status>>>` is not implemented for `google_authz::GoogleAuthz<Channel>`, which is required by `google_authz::GoogleAuthz<Channel>: GrpcService<http_body_util::combinators::box_body::UnsyncBoxBody<tonic::codegen::Bytes, tonic::Status>>`
   |
   = help: the trait `tonic::codegen::Service<http::request::Request<B>>` is implemented for `google_authz::GoogleAuthz<S>`
   = note: required for `google_authz::GoogleAuthz<Channel>` to implement `GrpcService<http_body_util::combinators::box_body::UnsyncBoxBody<tonic::codegen::Bytes, tonic::Status>>`

error[E0599]: the method `list_topics` exists for struct `PublisherClient<GoogleAuthz<Channel>>`, but its trait bounds were not satisfied
  --> examples/src/pubsub.rs:18:10
   |
17 |       let response = client
   |  ____________________-
18 | |         .list_topics(Request::new(ListTopicsRequest {
   | |         -^^^^^^^^^^^ method cannot be called on `PublisherClient<GoogleAuthz<Channel>>` due to unsatisfied trait bounds
   | |_________|
   | 
   |
  ::: /Users/bouzuya/.cargo/registry/src/index.crates.io-6f17d22bba15001f/google-authz-1.0.0-alpha.5/src/service.rs:72:1
   |
72 |   pub struct GoogleAuthz<S> {
   |   ------------------------- doesn't satisfy `_: Service<Request<UnsyncBoxBody<Bytes, Status>>>`
   |
   = note: the following trait bounds were not satisfied:
           `google_authz::GoogleAuthz<Channel>: tonic::codegen::Service<request::Request<http_body_util::combinators::box_body::UnsyncBoxBody<tonic::codegen::Bytes, tonic::Status>>>`

error[E0599]: the method `list_databases` exists for struct `DatabaseAdminClient<GoogleAuthz<Channel>>`, but its trait bounds were not satisfied
  --> examples/src/spanner.rs:24:10
   |
23 |       let response = client
   |  ____________________-
24 | |         .list_databases(Request::new(ListDatabasesRequest {
   | |         -^^^^^^^^^^^^^^ method cannot be called on `DatabaseAdminClient<GoogleAuthz<Channel>>` due to unsatisfied trait bounds
   | |_________|
   | 
   |
  ::: /Users/bouzuya/.cargo/registry/src/index.crates.io-6f17d22bba15001f/google-authz-1.0.0-alpha.5/src/service.rs:72:1
   |
72 |   pub struct GoogleAuthz<S> {
   |   ------------------------- doesn't satisfy `_: Service<Request<UnsyncBoxBody<Bytes, Status>>>`
   |
   = note: the following trait bounds were not satisfied:
           `google_authz::GoogleAuthz<Channel>: tonic::codegen::Service<request::Request<http_body_util::combinators::box_body::UnsyncBoxBody<tonic::codegen::Bytes, tonic::Status>>>`

Some errors have detailed explanations: E0277, E0599.
For more information about an error, try `rustc --explain E0277`.
error: could not compile `examples` (bin "pubsub" test) due to 5 previous errors
warning: build failed, waiting for other jobs to finish...
error: could not compile `examples` (bin "spanner" test) due to 5 previous errors

bouzuya avatar Jul 10 '24 14:07 bouzuya

@mechiru Anything we can do to help this move forward? Thanks!

fenollp avatar Jul 11 '24 15:07 fenollp

@mechiru Hiya! Any news? Thanks

fenollp avatar Aug 09 '24 12:08 fenollp

@mechiru Friendly ping :)

fenollp avatar Aug 26 '24 09:08 fenollp

@bouzuya Thank you for your contribution 👍 @fenollp I will check tonight. Please wait a moment 😅

mechiru avatar Aug 26 '24 09:08 mechiru