[INFO] fetching crate spanner-rs 0.3.0...
[INFO] testing spanner-rs-0.3.0 against 1.75.0 for beta-1.76-1
[INFO] extracting crate spanner-rs 0.3.0 into /workspace/builds/worker-6-tc1/source
[INFO] validating manifest of crates.io crate spanner-rs 0.3.0 on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate spanner-rs 0.3.0
[INFO] finished tweaking crates.io crate spanner-rs 0.3.0
[INFO] tweaked toml for crates.io crate spanner-rs 0.3.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded gcp_auth v0.7.6
[INFO] [stderr]   Downloaded bollard-stubs v1.41.0
[INFO] [stderr]   Downloaded bb8 v0.8.1
[INFO] [stderr]   Downloaded testcontainers v0.14.0
[INFO] [stderr]   Downloaded google-api-proto v1.455.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a6e87cc1ce9f793dd98263f2557838c61d8417dd260d5ee18b818e1dbc8f8b9b
[INFO] running `Command { std: "docker" "start" "-a" "a6e87cc1ce9f793dd98263f2557838c61d8417dd260d5ee18b818e1dbc8f8b9b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a6e87cc1ce9f793dd98263f2557838c61d8417dd260d5ee18b818e1dbc8f8b9b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a6e87cc1ce9f793dd98263f2557838c61d8417dd260d5ee18b818e1dbc8f8b9b", kill_on_drop: false }`
[INFO] [stdout] a6e87cc1ce9f793dd98263f2557838c61d8417dd260d5ee18b818e1dbc8f8b9b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9e42f443b3fc7b571f61f76648f2c9909504f4244b2751fe99399f57fffcc6f1
[INFO] running `Command { std: "docker" "start" "-a" "9e42f443b3fc7b571f61f76648f2c9909504f4244b2751fe99399f57fffcc6f1", kill_on_drop: false }`
[INFO] [stderr]    Compiling parking_lot_core v0.9.9
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling smallvec v1.11.2
[INFO] [stderr]    Compiling futures-task v0.3.30
[INFO] [stderr]    Compiling lock_api v0.4.11
[INFO] [stderr]    Compiling libc v0.2.151
[INFO] [stderr]    Compiling either v1.9.0
[INFO] [stderr]    Compiling rustversion v1.0.14
[INFO] [stderr]    Compiling anyhow v1.0.79
[INFO] [stderr]    Compiling serde v1.0.194
[INFO] [stderr]    Compiling syn v2.0.48
[INFO] [stderr]    Compiling socket2 v0.5.5
[INFO] [stderr]    Compiling mio v0.8.10
[INFO] [stderr]    Compiling getrandom v0.2.11
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling async-trait v0.1.77
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling futures-util v0.3.30
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling base64 v0.21.5
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling rustls v0.20.9
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling tower-layer v0.3.2
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stderr]    Compiling rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling darling_core v0.14.4
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling sync_wrapper v0.1.2
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling matchit v0.7.3
[INFO] [stderr]    Compiling rustix v0.38.28
[INFO] [stderr]    Compiling rustls-native-certs v0.6.3
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling linux-raw-sys v0.4.12
[INFO] [stderr]    Compiling serde_json v1.0.111
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling home v0.5.9
[INFO] [stderr]    Compiling time-core v0.1.2
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.59
[INFO] [stderr]    Compiling dyn-clone v1.0.16
[INFO] [stderr]    Compiling axum-core v0.3.4
[INFO] [stderr]    Compiling axum v0.6.20
[INFO] [stderr]    Compiling prost-derive v0.11.9
[INFO] [stderr]    Compiling ring v0.17.7
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling chrono v0.4.31
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]    Compiling darling_macro v0.14.4
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]    Compiling darling v0.14.4
[INFO] [stderr]    Compiling derive_builder_core v0.11.2
[INFO] [stderr]    Compiling prost v0.11.9
[INFO] [stderr]    Compiling bigdecimal v0.3.1
[INFO] [stderr]    Compiling prost-types v0.11.9
[INFO] [stderr]    Compiling derive_builder_macro v0.11.2
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling serde_derive v1.0.194
[INFO] [stderr]    Compiling pin-project-internal v1.1.3
[INFO] [stderr]    Compiling prost-derive v0.12.3
[INFO] [stderr]    Compiling async-stream-impl v0.3.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.56
[INFO] [stderr]    Compiling derive_builder v0.11.2
[INFO] [stderr]    Compiling async-stream v0.3.5
[INFO] [stderr]    Compiling tokio v1.35.1
[INFO] [stderr]    Compiling webpki v0.22.4
[INFO] [stderr]    Compiling sct v0.7.1
[INFO] [stderr]    Compiling thiserror v1.0.56
[INFO] [stderr]    Compiling pin-project v1.1.3
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling prost v0.12.3
[INFO] [stderr]    Compiling tracing-futures v0.2.5
[INFO] [stderr]    Compiling prost-types v0.12.3
[INFO] [stderr]    Compiling tokio-util v0.7.10
[INFO] [stderr]    Compiling tokio-io-timeout v1.2.0
[INFO] [stderr]    Compiling tokio-stream v0.1.14
[INFO] [stderr]    Compiling tokio-rustls v0.23.4
[INFO] [stderr]    Compiling bb8 v0.8.1
[INFO] [stderr]    Compiling h2 v0.3.22
[INFO] [stderr]    Compiling tower v0.4.13
[INFO] [stderr]    Compiling deranged v0.3.11
[INFO] [stderr]    Compiling time v0.3.31
[INFO] [stderr]    Compiling hyper v0.14.28
[INFO] [stderr]    Compiling hyper-timeout v0.4.1
[INFO] [stderr]    Compiling hyper-rustls v0.23.2
[INFO] [stderr]    Compiling gcp_auth v0.7.6
[INFO] [stderr]    Compiling tonic v0.10.2
[INFO] [stderr]    Compiling tonic v0.8.3
[INFO] [stderr]    Compiling google-api-proto v1.455.0
[INFO] [stderr]    Compiling spanner-rs v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0277]: expected a `FnMut(http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>)` closure, found `AuthFilter`
[INFO] [stdout]   --> src/connection/grpc.rs:57:19
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let spanner = SpannerClient::new(channel);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^ expected an `FnMut(http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>)` closure, found `AuthFilter`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FnMut<(http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>,)>` is not implemented for `AuthFilter`
[INFO] [stdout]    = note: required for `AuthFilter` to implement `AsyncPredicate<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>`
[INFO] [stdout]    = note: required for `AsyncFilter<Channel, AuthFilter>` to implement `tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `Either<AsyncFilter<Channel, AuthFilter>, Channel>` to implement `tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>`
[INFO] [stdout]    = note: required for `Either<AsyncFilter<Channel, AuthFilter>, Channel>` to implement `tonic::client::service::GrpcService<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Channel: tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>` is not satisfied
[INFO] [stdout]   --> src/connection/grpc.rs:57:19
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let spanner = SpannerClient::new(channel);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^ the trait `tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>` is not implemented for `Channel`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::Status>>>` is implemented for `Channel`
[INFO] [stdout]    = help: for that trait implementation, expected `tonic::Status`, found `tonic::status::Status`
[INFO] [stdout]    = note: required for `Either<AsyncFilter<Channel, AuthFilter>, Channel>` to implement `tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>`
[INFO] [stdout]    = note: required for `Either<AsyncFilter<Channel, AuthFilter>, Channel>` to implement `tonic::client::service::GrpcService<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `create_session` exists for struct `SpannerClient<Either<AsyncFilter<Channel, AuthFilter>, Channel>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/connection/grpc.rs:67:14
[INFO] [stdout]    |
[INFO] [stdout] 65 |           let response = self
[INFO] [stdout]    |  ________________________-
[INFO] [stdout] 66 | |             .spanner
[INFO] [stdout] 67 | |             .create_session(Request::new(CreateSessionRequest {
[INFO] [stdout]    | |             -^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/auth.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 |   pub(crate) struct AuthFilter {
[INFO] [stdout]    |   ----------------------------
[INFO] [stdout]    |   |
[INFO] [stdout]    |   doesn't satisfy `<_ as FnOnce<(Request<UnsyncBoxBody<Bytes, Status>>,)>>::Output = _`
[INFO] [stdout]    |   doesn't satisfy `_: AsyncPredicate<Request<UnsyncBoxBody<Bytes, Status>>>`
[INFO] [stdout]    |   doesn't satisfy `_: FnMut<(Request<UnsyncBoxBody<Bytes, Status>>,)>`
[INFO] [stdout]    |   doesn't satisfy `_: FnOnce<(Request<UnsyncBoxBody<Bytes, Status>>,)>`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/filter/mod.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 |   pub struct AsyncFilter<T, U> {
[INFO] [stdout]    |   ---------------------------- doesn't satisfy `_: Service<Request<UnsyncBoxBody<Bytes, Status>>>`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/either.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 |   pub enum Either<A, B> {
[INFO] [stdout]    |   ---------------------
[INFO] [stdout]    |   |
[INFO] [stdout]    |   doesn't satisfy `<_ as Service<Request<UnsyncBoxBody<Bytes, Status>>>>::Response = Response<_>`
[INFO] [stdout]    |   doesn't satisfy `_: GrpcService<UnsyncBoxBody<Bytes, Status>>`
[INFO] [stdout]    |   doesn't satisfy `_: Service<Request<UnsyncBoxBody<Bytes, Status>>>`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tonic-0.8.3/src/transport/channel/mod.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 |   pub struct Channel {
[INFO] [stdout]    |   ------------------
[INFO] [stdout]    |   |
[INFO] [stdout]    |   doesn't satisfy `<_ as Service<Request<UnsyncBoxBody<Bytes, Status>>>>::Response = Response<Body>`
[INFO] [stdout]    |   doesn't satisfy `_: Service<Request<UnsyncBoxBody<Bytes, Status>>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Either<AsyncFilter<Channel, AuthFilter>, Channel>: tonic::client::service::GrpcService<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>`
[INFO] [stdout]            `<Either<AsyncFilter<Channel, AuthFilter>, Channel> as tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>>::Response = http::Response<_>`
[INFO] [stdout]            `Either<AsyncFilter<Channel, AuthFilter>, Channel>: tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>`
[INFO] [stdout]            `AuthFilter: AsyncPredicate<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>`
[INFO] [stdout]            `<AuthFilter as FnOnce<(http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>,)>>::Output = _`
[INFO] [stdout]            `AuthFilter: FnMut<(http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>,)>`
[INFO] [stdout]            `AuthFilter: FnOnce<(http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>,)>`
[INFO] [stdout]            which is required by `AuthFilter: FnMut<(http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>,)>`
[INFO] [stdout]            `<Channel as tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>>::Response = http::Response<tonic::transport::Body>`
[INFO] [stdout]            `AsyncFilter<Channel, AuthFilter>: tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>`
[INFO] [stdout]            `Channel: tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>`
[INFO] [stdout] note: the traits `AsyncPredicate`, `FnMut`,  and `FnOnce` must be implemented
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/filter/predicate.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub trait AsyncPredicate<Request> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   --> /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:163:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `delete_session` exists for struct `SpannerClient<Either<AsyncFilter<Channel, AuthFilter>, Channel>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/connection/grpc.rs:76:14
[INFO] [stdout]    |
[INFO] [stdout] 75 | /         self.spanner
[INFO] [stdout] 76 | |             .delete_session(Request::new(DeleteSessionRequest {
[INFO] [stdout]    | |             -^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/auth.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 |   pub(crate) struct AuthFilter {
[INFO] [stdout]    |   ----------------------------
[INFO] [stdout]    |   |
[INFO] [stdout]    |   doesn't satisfy `<_ as FnOnce<(Request<UnsyncBoxBody<Bytes, Status>>,)>>::Output = _`
[INFO] [stdout]    |   doesn't satisfy `_: AsyncPredicate<Request<UnsyncBoxBody<Bytes, Status>>>`
[INFO] [stdout]    |   doesn't satisfy `_: FnMut<(Request<UnsyncBoxBody<Bytes, Status>>,)>`
[INFO] [stdout]    |   doesn't satisfy `_: FnOnce<(Request<UnsyncBoxBody<Bytes, Status>>,)>`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/filter/mod.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 |   pub struct AsyncFilter<T, U> {
[INFO] [stdout]    |   ---------------------------- doesn't satisfy `_: Service<Request<UnsyncBoxBody<Bytes, Status>>>`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/either.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 |   pub enum Either<A, B> {
[INFO] [stdout]    |   ---------------------
[INFO] [stdout]    |   |
[INFO] [stdout]    |   doesn't satisfy `<_ as Service<Request<UnsyncBoxBody<Bytes, Status>>>>::Response = Response<_>`
[INFO] [stdout]    |   doesn't satisfy `_: GrpcService<UnsyncBoxBody<Bytes, Status>>`
[INFO] [stdout]    |   doesn't satisfy `_: Service<Request<UnsyncBoxBody<Bytes, Status>>>`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tonic-0.8.3/src/transport/channel/mod.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 |   pub struct Channel {
[INFO] [stdout]    |   ------------------
[INFO] [stdout]    |   |
[INFO] [stdout]    |   doesn't satisfy `<_ as Service<Request<UnsyncBoxBody<Bytes, Status>>>>::Response = Response<Body>`
[INFO] [stdout]    |   doesn't satisfy `_: Service<Request<UnsyncBoxBody<Bytes, Status>>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Either<AsyncFilter<Channel, AuthFilter>, Channel>: tonic::client::service::GrpcService<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>`
[INFO] [stdout]            `<Either<AsyncFilter<Channel, AuthFilter>, Channel> as tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>>::Response = http::Response<_>`
[INFO] [stdout]            `Either<AsyncFilter<Channel, AuthFilter>, Channel>: tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>`
[INFO] [stdout]            `AuthFilter: AsyncPredicate<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>`
[INFO] [stdout]            `<AuthFilter as FnOnce<(http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>,)>>::Output = _`
[INFO] [stdout]            `AuthFilter: FnMut<(http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>,)>`
[INFO] [stdout]            `AuthFilter: FnOnce<(http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>,)>`
[INFO] [stdout]            which is required by `AuthFilter: FnMut<(http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>,)>`
[INFO] [stdout]            `<Channel as tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>>::Response = http::Response<tonic::transport::Body>`
[INFO] [stdout]            `AsyncFilter<Channel, AuthFilter>: tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>`
[INFO] [stdout]            `Channel: tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>`
[INFO] [stdout] note: the traits `AsyncPredicate`, `FnMut`,  and `FnOnce` must be implemented
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/filter/predicate.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub trait AsyncPredicate<Request> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   --> /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:163:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `commit` exists for struct `SpannerClient<Either<AsyncFilter<Channel, AuthFilter>, Channel>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/connection/grpc.rs:85:14
[INFO] [stdout]    |
[INFO] [stdout] 84 | /         self.spanner
[INFO] [stdout] 85 | |             .commit(Request::new(CommitRequest {
[INFO] [stdout]    | |             -^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/auth.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 |   pub(crate) struct AuthFilter {
[INFO] [stdout]    |   ----------------------------
[INFO] [stdout]    |   |
[INFO] [stdout]    |   doesn't satisfy `<_ as FnOnce<(Request<UnsyncBoxBody<Bytes, Status>>,)>>::Output = _`
[INFO] [stdout]    |   doesn't satisfy `_: AsyncPredicate<Request<UnsyncBoxBody<Bytes, Status>>>`
[INFO] [stdout]    |   doesn't satisfy `_: FnMut<(Request<UnsyncBoxBody<Bytes, Status>>,)>`
[INFO] [stdout]    |   doesn't satisfy `_: FnOnce<(Request<UnsyncBoxBody<Bytes, Status>>,)>`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/filter/mod.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 |   pub struct AsyncFilter<T, U> {
[INFO] [stdout]    |   ---------------------------- doesn't satisfy `_: Service<Request<UnsyncBoxBody<Bytes, Status>>>`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/either.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 |   pub enum Either<A, B> {
[INFO] [stdout]    |   ---------------------
[INFO] [stdout]    |   |
[INFO] [stdout]    |   doesn't satisfy `<_ as Service<Request<UnsyncBoxBody<Bytes, Status>>>>::Response = Response<_>`
[INFO] [stdout]    |   doesn't satisfy `_: GrpcService<UnsyncBoxBody<Bytes, Status>>`
[INFO] [stdout]    |   doesn't satisfy `_: Service<Request<UnsyncBoxBody<Bytes, Status>>>`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tonic-0.8.3/src/transport/channel/mod.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 |   pub struct Channel {
[INFO] [stdout]    |   ------------------
[INFO] [stdout]    |   |
[INFO] [stdout]    |   doesn't satisfy `<_ as Service<Request<UnsyncBoxBody<Bytes, Status>>>>::Response = Response<Body>`
[INFO] [stdout]    |   doesn't satisfy `_: Service<Request<UnsyncBoxBody<Bytes, Status>>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Either<AsyncFilter<Channel, AuthFilter>, Channel>: tonic::client::service::GrpcService<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>`
[INFO] [stdout]            `<Either<AsyncFilter<Channel, AuthFilter>, Channel> as tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>>::Response = http::Response<_>`
[INFO] [stdout]            `Either<AsyncFilter<Channel, AuthFilter>, Channel>: tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>`
[INFO] [stdout]            `AuthFilter: AsyncPredicate<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>`
[INFO] [stdout]            `<AuthFilter as FnOnce<(http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>,)>>::Output = _`
[INFO] [stdout]            `AuthFilter: FnMut<(http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>,)>`
[INFO] [stdout]            `AuthFilter: FnOnce<(http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>,)>`
[INFO] [stdout]            which is required by `AuthFilter: FnMut<(http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>,)>`
[INFO] [stdout]            `<Channel as tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>>::Response = http::Response<tonic::transport::Body>`
[INFO] [stdout]            `AsyncFilter<Channel, AuthFilter>: tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>`
[INFO] [stdout]            `Channel: tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>`
[INFO] [stdout] note: the traits `AsyncPredicate`, `FnMut`,  and `FnOnce` must be implemented
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/filter/predicate.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub trait AsyncPredicate<Request> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   --> /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:163:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `rollback` exists for struct `SpannerClient<Either<AsyncFilter<Channel, AuthFilter>, Channel>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/connection/grpc.rs:100:14
[INFO] [stdout]     |
[INFO] [stdout] 99  | /         self.spanner
[INFO] [stdout] 100 | |             .rollback(Request::new(RollbackRequest {
[INFO] [stdout]     | |             -^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     | 
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/auth.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout] 35  |   pub(crate) struct AuthFilter {
[INFO] [stdout]     |   ----------------------------
[INFO] [stdout]     |   |
[INFO] [stdout]     |   doesn't satisfy `<_ as FnOnce<(Request<UnsyncBoxBody<Bytes, Status>>,)>>::Output = _`
[INFO] [stdout]     |   doesn't satisfy `_: AsyncPredicate<Request<UnsyncBoxBody<Bytes, Status>>>`
[INFO] [stdout]     |   doesn't satisfy `_: FnMut<(Request<UnsyncBoxBody<Bytes, Status>>,)>`
[INFO] [stdout]     |   doesn't satisfy `_: FnOnce<(Request<UnsyncBoxBody<Bytes, Status>>,)>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/filter/mod.rs:55:1
[INFO] [stdout]     |
[INFO] [stdout] 55  |   pub struct AsyncFilter<T, U> {
[INFO] [stdout]     |   ---------------------------- doesn't satisfy `_: Service<Request<UnsyncBoxBody<Bytes, Status>>>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/either.rs:22:1
[INFO] [stdout]     |
[INFO] [stdout] 22  |   pub enum Either<A, B> {
[INFO] [stdout]     |   ---------------------
[INFO] [stdout]     |   |
[INFO] [stdout]     |   doesn't satisfy `<_ as Service<Request<UnsyncBoxBody<Bytes, Status>>>>::Response = Response<_>`
[INFO] [stdout]     |   doesn't satisfy `_: GrpcService<UnsyncBoxBody<Bytes, Status>>`
[INFO] [stdout]     |   doesn't satisfy `_: Service<Request<UnsyncBoxBody<Bytes, Status>>>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tonic-0.8.3/src/transport/channel/mod.rs:69:1
[INFO] [stdout]     |
[INFO] [stdout] 69  |   pub struct Channel {
[INFO] [stdout]     |   ------------------
[INFO] [stdout]     |   |
[INFO] [stdout]     |   doesn't satisfy `<_ as Service<Request<UnsyncBoxBody<Bytes, Status>>>>::Response = Response<Body>`
[INFO] [stdout]     |   doesn't satisfy `_: Service<Request<UnsyncBoxBody<Bytes, Status>>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Either<AsyncFilter<Channel, AuthFilter>, Channel>: tonic::client::service::GrpcService<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>`
[INFO] [stdout]             `<Either<AsyncFilter<Channel, AuthFilter>, Channel> as tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>>::Response = http::Response<_>`
[INFO] [stdout]             `Either<AsyncFilter<Channel, AuthFilter>, Channel>: tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>`
[INFO] [stdout]             `AuthFilter: AsyncPredicate<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>`
[INFO] [stdout]             `<AuthFilter as FnOnce<(http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>,)>>::Output = _`
[INFO] [stdout]             `AuthFilter: FnMut<(http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>,)>`
[INFO] [stdout]             `AuthFilter: FnOnce<(http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>,)>`
[INFO] [stdout]             which is required by `AuthFilter: FnMut<(http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>,)>`
[INFO] [stdout]             `<Channel as tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>>::Response = http::Response<tonic::transport::Body>`
[INFO] [stdout]             `AsyncFilter<Channel, AuthFilter>: tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>`
[INFO] [stdout]             `Channel: tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>`
[INFO] [stdout] note: the traits `AsyncPredicate`, `FnMut`,  and `FnOnce` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/filter/predicate.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout] 5   | pub trait AsyncPredicate<Request> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    --> /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:163:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `execute_sql` exists for struct `SpannerClient<Either<AsyncFilter<Channel, AuthFilter>, Channel>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/connection/grpc.rs:127:14
[INFO] [stdout]     |
[INFO] [stdout] 126 | /         self.spanner
[INFO] [stdout] 127 | |             .execute_sql(Request::new(ExecuteSqlRequest {
[INFO] [stdout]     | |             -^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     | 
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/auth.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout] 35  |   pub(crate) struct AuthFilter {
[INFO] [stdout]     |   ----------------------------
[INFO] [stdout]     |   |
[INFO] [stdout]     |   doesn't satisfy `<_ as FnOnce<(Request<UnsyncBoxBody<Bytes, Status>>,)>>::Output = _`
[INFO] [stdout]     |   doesn't satisfy `_: AsyncPredicate<Request<UnsyncBoxBody<Bytes, Status>>>`
[INFO] [stdout]     |   doesn't satisfy `_: FnMut<(Request<UnsyncBoxBody<Bytes, Status>>,)>`
[INFO] [stdout]     |   doesn't satisfy `_: FnOnce<(Request<UnsyncBoxBody<Bytes, Status>>,)>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/filter/mod.rs:55:1
[INFO] [stdout]     |
[INFO] [stdout] 55  |   pub struct AsyncFilter<T, U> {
[INFO] [stdout]     |   ---------------------------- doesn't satisfy `_: Service<Request<UnsyncBoxBody<Bytes, Status>>>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/either.rs:22:1
[INFO] [stdout]     |
[INFO] [stdout] 22  |   pub enum Either<A, B> {
[INFO] [stdout]     |   ---------------------
[INFO] [stdout]     |   |
[INFO] [stdout]     |   doesn't satisfy `<_ as Service<Request<UnsyncBoxBody<Bytes, Status>>>>::Response = Response<_>`
[INFO] [stdout]     |   doesn't satisfy `_: GrpcService<UnsyncBoxBody<Bytes, Status>>`
[INFO] [stdout]     |   doesn't satisfy `_: Service<Request<UnsyncBoxBody<Bytes, Status>>>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tonic-0.8.3/src/transport/channel/mod.rs:69:1
[INFO] [stdout]     |
[INFO] [stdout] 69  |   pub struct Channel {
[INFO] [stdout]     |   ------------------
[INFO] [stdout]     |   |
[INFO] [stdout]     |   doesn't satisfy `<_ as Service<Request<UnsyncBoxBody<Bytes, Status>>>>::Response = Response<Body>`
[INFO] [stdout]     |   doesn't satisfy `_: Service<Request<UnsyncBoxBody<Bytes, Status>>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Either<AsyncFilter<Channel, AuthFilter>, Channel>: tonic::client::service::GrpcService<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>`
[INFO] [stdout]             `<Either<AsyncFilter<Channel, AuthFilter>, Channel> as tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>>::Response = http::Response<_>`
[INFO] [stdout]             `Either<AsyncFilter<Channel, AuthFilter>, Channel>: tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>`
[INFO] [stdout]             `AuthFilter: AsyncPredicate<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>`
[INFO] [stdout]             `<AuthFilter as FnOnce<(http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>,)>>::Output = _`
[INFO] [stdout]             `AuthFilter: FnMut<(http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>,)>`
[INFO] [stdout]             `AuthFilter: FnOnce<(http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>,)>`
[INFO] [stdout]             which is required by `AuthFilter: FnMut<(http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>,)>`
[INFO] [stdout]             `<Channel as tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>>::Response = http::Response<tonic::transport::Body>`
[INFO] [stdout]             `AsyncFilter<Channel, AuthFilter>: tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>`
[INFO] [stdout]             `Channel: tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>`
[INFO] [stdout] note: the traits `AsyncPredicate`, `FnMut`,  and `FnOnce` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/filter/predicate.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout] 5   | pub trait AsyncPredicate<Request> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    --> /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:163:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/connection/grpc.rs:131:30
[INFO] [stdout]      |
[INFO] [stdout] 131  |                 params: Some(prost_types::Struct { fields: params }),
[INFO] [stdout]      |                         ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `prost_types::protobuf::Struct`, found `prost_types::Struct`
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         arguments to this enum variant are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note: `prost_types::Struct` and `prost_types::protobuf::Struct` have similar names, but are actually distinct types
[INFO] [stdout] note: `prost_types::Struct` is defined in crate `prost_types`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/prost-types-0.11.9/src/protobuf.rs:2110:1
[INFO] [stdout]      |
[INFO] [stdout] 2110 | pub struct Struct {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `prost_types::protobuf::Struct` is defined in crate `prost_types`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/prost-types-0.12.3/src/protobuf.rs:2110:1
[INFO] [stdout]      |
[INFO] [stdout] 2110 | pub struct Struct {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: perhaps two different versions of crate `prost_types` are being used?
[INFO] [stdout] help: the type constructed contains `prost_types::Struct` due to the type of the argument passed
[INFO] [stdout]     --> src/connection/grpc.rs:131:25
[INFO] [stdout]      |
[INFO] [stdout] 131  |                 params: Some(prost_types::Struct { fields: params }),
[INFO] [stdout]      |                         ^^^^^--------------------------------------^
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              this argument influences the type of `Some`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]     --> /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/option.rs:577:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing fields `data_boost_enabled` and `directed_read_options` in initializer of `ExecuteSqlRequest`
[INFO] [stdout]    --> src/connection/grpc.rs:127:39
[INFO] [stdout]     |
[INFO] [stdout] 127 |             .execute_sql(Request::new(ExecuteSqlRequest {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^ missing `data_boost_enabled` and `directed_read_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `execute_batch_dml` exists for struct `SpannerClient<Either<AsyncFilter<Channel, AuthFilter>, Channel>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/connection/grpc.rs:159:14
[INFO] [stdout]     |
[INFO] [stdout] 157 |           let response = self
[INFO] [stdout]     |  ________________________-
[INFO] [stdout] 158 | |             .spanner
[INFO] [stdout] 159 | |             .execute_batch_dml(Request::new(ExecuteBatchDmlRequest {
[INFO] [stdout]     | |             -^^^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     | 
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/auth.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout] 35  |   pub(crate) struct AuthFilter {
[INFO] [stdout]     |   ----------------------------
[INFO] [stdout]     |   |
[INFO] [stdout]     |   doesn't satisfy `<_ as FnOnce<(Request<UnsyncBoxBody<Bytes, Status>>,)>>::Output = _`
[INFO] [stdout]     |   doesn't satisfy `_: AsyncPredicate<Request<UnsyncBoxBody<Bytes, Status>>>`
[INFO] [stdout]     |   doesn't satisfy `_: FnMut<(Request<UnsyncBoxBody<Bytes, Status>>,)>`
[INFO] [stdout]     |   doesn't satisfy `_: FnOnce<(Request<UnsyncBoxBody<Bytes, Status>>,)>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/filter/mod.rs:55:1
[INFO] [stdout]     |
[INFO] [stdout] 55  |   pub struct AsyncFilter<T, U> {
[INFO] [stdout]     |   ---------------------------- doesn't satisfy `_: Service<Request<UnsyncBoxBody<Bytes, Status>>>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/either.rs:22:1
[INFO] [stdout]     |
[INFO] [stdout] 22  |   pub enum Either<A, B> {
[INFO] [stdout]     |   ---------------------
[INFO] [stdout]     |   |
[INFO] [stdout]     |   doesn't satisfy `<_ as Service<Request<UnsyncBoxBody<Bytes, Status>>>>::Response = Response<_>`
[INFO] [stdout]     |   doesn't satisfy `_: GrpcService<UnsyncBoxBody<Bytes, Status>>`
[INFO] [stdout]     |   doesn't satisfy `_: Service<Request<UnsyncBoxBody<Bytes, Status>>>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tonic-0.8.3/src/transport/channel/mod.rs:69:1
[INFO] [stdout]     |
[INFO] [stdout] 69  |   pub struct Channel {
[INFO] [stdout]     |   ------------------
[INFO] [stdout]     |   |
[INFO] [stdout]     |   doesn't satisfy `<_ as Service<Request<UnsyncBoxBody<Bytes, Status>>>>::Response = Response<Body>`
[INFO] [stdout]     |   doesn't satisfy `_: Service<Request<UnsyncBoxBody<Bytes, Status>>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Either<AsyncFilter<Channel, AuthFilter>, Channel>: tonic::client::service::GrpcService<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>`
[INFO] [stdout]             `<Either<AsyncFilter<Channel, AuthFilter>, Channel> as tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>>::Response = http::Response<_>`
[INFO] [stdout]             `Either<AsyncFilter<Channel, AuthFilter>, Channel>: tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>`
[INFO] [stdout]             `AuthFilter: AsyncPredicate<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>`
[INFO] [stdout]             `<AuthFilter as FnOnce<(http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>,)>>::Output = _`
[INFO] [stdout]             `AuthFilter: FnMut<(http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>,)>`
[INFO] [stdout]             `AuthFilter: FnOnce<(http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>,)>`
[INFO] [stdout]             which is required by `AuthFilter: FnMut<(http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>,)>`
[INFO] [stdout]             `<Channel as tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>>::Response = http::Response<tonic::transport::Body>`
[INFO] [stdout]             `AsyncFilter<Channel, AuthFilter>: tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>`
[INFO] [stdout]             `Channel: tower::Service<http::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::status::Status>>>`
[INFO] [stdout] note: the traits `AsyncPredicate`, `FnMut`,  and `FnOnce` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/filter/predicate.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout] 5   | pub trait AsyncPredicate<Request> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    --> /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:163:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/result_set.rs:181:62
[INFO] [stdout]      |
[INFO] [stdout] 181  |                     .map(|(value, tpe)| Value::try_from(tpe, value.clone()))
[INFO] [stdout]      |                                         ---------------      ^^^^^^^^^^^^^ expected `prost_types::Value`, found `prost_types::protobuf::Value`
[INFO] [stdout]      |                                         |
[INFO] [stdout]      |                                         arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note: `prost_types::protobuf::Value` and `prost_types::Value` have similar names, but are actually distinct types
[INFO] [stdout] note: `prost_types::protobuf::Value` is defined in crate `prost_types`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/prost-types-0.12.3/src/protobuf.rs:2126:1
[INFO] [stdout]      |
[INFO] [stdout] 2126 | pub struct Value {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `prost_types::Value` is defined in crate `prost_types`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/prost-types-0.11.9/src/protobuf.rs:2126:1
[INFO] [stdout]      |
[INFO] [stdout] 2126 | pub struct Value {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: perhaps two different versions of crate `prost_types` are being used?
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> src/value.rs:121:19
[INFO] [stdout]      |
[INFO] [stdout] 121  |     pub(crate) fn try_from(tpe: &Type, value: SpannerValue) -> Result<Self, crate::Error> {
[INFO] [stdout]      |                   ^^^^^^^^             -------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/statement.rs:28:26
[INFO] [stdout]      |
[INFO] [stdout] 28   |             params: Some(prost_types::Struct { fields: params }),
[INFO] [stdout]      |                     ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `prost_types::protobuf::Struct`, found `prost_types::Struct`
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     arguments to this enum variant are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note: `prost_types::Struct` and `prost_types::protobuf::Struct` have similar names, but are actually distinct types
[INFO] [stdout] note: `prost_types::Struct` is defined in crate `prost_types`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/prost-types-0.11.9/src/protobuf.rs:2110:1
[INFO] [stdout]      |
[INFO] [stdout] 2110 | pub struct Struct {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `prost_types::protobuf::Struct` is defined in crate `prost_types`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/prost-types-0.12.3/src/protobuf.rs:2110:1
[INFO] [stdout]      |
[INFO] [stdout] 2110 | pub struct Struct {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: perhaps two different versions of crate `prost_types` are being used?
[INFO] [stdout] help: the type constructed contains `prost_types::Struct` due to the type of the argument passed
[INFO] [stdout]     --> src/statement.rs:28:21
[INFO] [stdout]      |
[INFO] [stdout] 28   |             params: Some(prost_types::Struct { fields: params }),
[INFO] [stdout]      |                     ^^^^^--------------------------------------^
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          this argument influences the type of `Some`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]     --> /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/option.rs:577:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing field `read_lock_mode` in initializer of `google_api_proto::google::spanner::v1::transaction_options::ReadWrite`
[INFO] [stdout]    --> src/transaction.rs:111:29
[INFO] [stdout]     |
[INFO] [stdout] 111 | ...                   proto::transaction_options::ReadWrite {},
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `read_lock_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `google_api_proto::google::spanner::v1::TypeCode::from_i32`: Use the TryFrom<i32> implementation instead
[INFO] [stdout]    --> src/types.rs:218:32
[INFO] [stdout]     |
[INFO] [stdout] 218 |         match proto::TypeCode::from_i32(value.code) {
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 13 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0063, E0277, E0308, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0063`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `spanner-rs` (lib) due to 14 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "9e42f443b3fc7b571f61f76648f2c9909504f4244b2751fe99399f57fffcc6f1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9e42f443b3fc7b571f61f76648f2c9909504f4244b2751fe99399f57fffcc6f1", kill_on_drop: false }`
[INFO] [stdout] 9e42f443b3fc7b571f61f76648f2c9909504f4244b2751fe99399f57fffcc6f1
