[INFO] fetching crate actix-protobuf 0.10.0...
[INFO] checking actix-protobuf-0.10.0 against master#30f74ff0dc4d66debc8b50724c446f817e5f75f4 for pr-121848-1
[INFO] extracting crate actix-protobuf 0.10.0 into /workspace/builds/worker-6-tc1/source
[INFO] validating manifest of crates.io crate actix-protobuf 0.10.0 on toolchain 30f74ff0dc4d66debc8b50724c446f817e5f75f4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate actix-protobuf 0.10.0
[INFO] finished tweaking crates.io crate actix-protobuf 0.10.0
[INFO] tweaked toml for crates.io crate actix-protobuf 0.10.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" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "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" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded prost v0.12.3
[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" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 845efc068dac044f578bf8c727fca8ab22326c559b420ee7ccfa01e746df446a
[INFO] running `Command { std: "docker" "start" "-a" "845efc068dac044f578bf8c727fca8ab22326c559b420ee7ccfa01e746df446a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "845efc068dac044f578bf8c727fca8ab22326c559b420ee7ccfa01e746df446a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "845efc068dac044f578bf8c727fca8ab22326c559b420ee7ccfa01e746df446a", kill_on_drop: false }`
[INFO] [stdout] 845efc068dac044f578bf8c727fca8ab22326c559b420ee7ccfa01e746df446a
[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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ff8150738f5694fe3cd251d3b8a028ad4282acfeea7725942b3d99d6ab69171d
[INFO] running `Command { std: "docker" "start" "-a" "ff8150738f5694fe3cd251d3b8a028ad4282acfeea7725942b3d99d6ab69171d", kill_on_drop: false }`
[INFO] [stderr]     Checking tokio v1.37.0
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]     Checking futures-task v0.3.30
[INFO] [stderr]     Checking time v0.3.34
[INFO] [stderr]     Checking prost v0.12.3
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking actix-router v0.5.2
[INFO] [stderr]     Checking serde_json v1.0.115
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking actix-rt v2.9.0
[INFO] [stderr]     Checking tokio-util v0.7.10
[INFO] [stderr]     Checking actix-server v2.3.0
[INFO] [stderr]     Checking actix-codec v0.5.2
[INFO] [stderr]     Checking actix-http v3.6.0
[INFO] [stderr]     Checking actix-web v4.5.1
[INFO] [stderr]     Checking actix-protobuf v0.10.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0433]: failed to resolve: could not find `test` in `actix_web`
[INFO] [stdout]    --> src/lib.rs:302:18
[INFO] [stdout]     |
[INFO] [stdout] 302 |     #[actix_web::test]
[INFO] [stdout]     |                  ^^^^ could not find `test` in `actix_web`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/actix-web-4.5.1/src/lib.rs:133:19
[INFO] [stdout]     |
[INFO] [stdout] 133 | codegen_reexport!(test);
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout]     = note: the item is gated behind the `macros` feature
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `test` in `actix_web`
[INFO] [stdout]    --> src/lib.rs:314:18
[INFO] [stdout]     |
[INFO] [stdout] 314 |     #[actix_web::test]
[INFO] [stdout]     |                  ^^^^ could not find `test` in `actix_web`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/actix-web-4.5.1/src/lib.rs:133:19
[INFO] [stdout]     |
[INFO] [stdout] 133 | codegen_reexport!(test);
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout]     = note: the item is gated behind the `macros` feature
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Message` in this scope
[INFO] [stdout]    --> src/lib.rs:294:36
[INFO] [stdout]     |
[INFO] [stdout] 294 |     #[derive(Clone, PartialEq, Eq, Message)]
[INFO] [stdout]     |                                    ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Message` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/lib.rs:278:9
[INFO] [stdout]     |
[INFO] [stdout] 278 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `prost` in this scope
[INFO] [stdout]    --> src/lib.rs:296:11
[INFO] [stdout]     |
[INFO] [stdout] 296 |         #[prost(int32, tag = "1")]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `prost` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `prost` in this scope
[INFO] [stdout]    --> src/lib.rs:298:11
[INFO] [stdout]     |
[INFO] [stdout] 298 |         #[prost(string, tag = "2")]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `prost` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MyObject: prost::Message` is not satisfied
[INFO] [stdout]    --> src/lib.rs:304:33
[INFO] [stdout]     |
[INFO] [stdout] 304 |           let protobuf = ProtoBuf(MyObject {
[INFO] [stdout]     |  ________________________--------_^
[INFO] [stdout]     | |                        |
[INFO] [stdout]     | |                        required by a bound introduced by this call
[INFO] [stdout] 305 | |             number: 9,
[INFO] [stdout] 306 | |             name: "test".to_owned(),
[INFO] [stdout] 307 | |         });
[INFO] [stdout]     | |_________^ the trait `prost::Message` is not implemented for `MyObject`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `prost::Message`:
[INFO] [stdout]               bool
[INFO] [stdout]               i32
[INFO] [stdout]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[INFO] [stdout]               f32
[INFO] [stdout]               f64
[INFO] [stdout]               Box<M>
[INFO] [stdout]             and 4 others
[INFO] [stdout] note: required by a bound in `ProtoBuf`
[INFO] [stdout]    --> src/lib.rs:75:24
[INFO] [stdout]     |
[INFO] [stdout] 75  | pub struct ProtoBuf<T: Message>(pub T);
[INFO] [stdout]     |                        ^^^^^^^ required by this bound in `ProtoBuf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MyObject: prost::Message` is not satisfied
[INFO] [stdout]    --> src/lib.rs:304:24
[INFO] [stdout]     |
[INFO] [stdout] 304 |           let protobuf = ProtoBuf(MyObject {
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 305 | |             number: 9,
[INFO] [stdout] 306 | |             name: "test".to_owned(),
[INFO] [stdout] 307 | |         });
[INFO] [stdout]     | |__________^ the trait `prost::Message` is not implemented for `MyObject`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `prost::Message`:
[INFO] [stdout]               bool
[INFO] [stdout]               i32
[INFO] [stdout]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[INFO] [stdout]               f32
[INFO] [stdout]               f64
[INFO] [stdout]               Box<M>
[INFO] [stdout]             and 4 others
[INFO] [stdout] note: required by a bound in `ProtoBuf`
[INFO] [stdout]    --> src/lib.rs:75:24
[INFO] [stdout]     |
[INFO] [stdout] 75  | pub struct ProtoBuf<T: Message>(pub T);
[INFO] [stdout]     |                        ^^^^^^^ required by this bound in `ProtoBuf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `respond_to` exists for struct `ProtoBuf<MyObject>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/lib.rs:309:29
[INFO] [stdout]     |
[INFO] [stdout] 75  | pub struct ProtoBuf<T: Message>(pub T);
[INFO] [stdout]     | ------------------------------- method `respond_to` not found for this struct because it doesn't satisfy `ProtoBuf<MyObject>: actix_web::Responder`
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub struct MyObject {
[INFO] [stdout]     |     ------------------- doesn't satisfy `MyObject: Default` or `MyObject: prost::Message`
[INFO] [stdout] ...
[INFO] [stdout] 309 |         let resp = protobuf.respond_to(&req);
[INFO] [stdout]     |                             ^^^^^^^^^^ method cannot be called on `ProtoBuf<MyObject>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: the following trait bounds were not satisfied:
[INFO] [stdout]       `MyObject: Default`
[INFO] [stdout]       `MyObject: prost::Message`
[INFO] [stdout]    --> src/lib.rs:150:9
[INFO] [stdout]     |
[INFO] [stdout] 150 | impl<T: Message + Default> Responder for ProtoBuf<T> {
[INFO] [stdout]     |         ^^^^^^^   ^^^^^^^  ---------     -----------
[INFO] [stdout]     |         |         |
[INFO] [stdout]     |         |         unsatisfied trait bound introduced here
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `prost::Message` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/prost-0.12.3/src/message.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout] 16  | pub trait Message: Debug + Send + Sync {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider annotating `MyObject` with `#[derive(Default)]`
[INFO] [stdout]     |
[INFO] [stdout] 295 +     #[derive(Default)]
[INFO] [stdout] 296 |     pub struct MyObject {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `new` exists for struct `ProtoBufMessage<MyObject>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/lib.rs:317:53
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct ProtoBufMessage<T: Message + Default> {
[INFO] [stdout]     | ------------------------------------------------ function or associated item `new` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub struct MyObject {
[INFO] [stdout]     |     ------------------- doesn't satisfy `MyObject: Debug`, `MyObject: Default` or `MyObject: prost::Message`
[INFO] [stdout] ...
[INFO] [stdout] 317 |         let protobuf = ProtoBufMessage::<MyObject>::new(&req, &mut pl).await;
[INFO] [stdout]     |                                                     ^^^ function or associated item cannot be called on `ProtoBufMessage<MyObject>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `ProtoBufMessage<MyObject>`, consider using `ProtoBufMessage::<T>::new` which returns `ProtoBufMessage<_>`
[INFO] [stdout]    --> src/lib.rs:174:5
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn new(req: &HttpRequest, payload: &mut Payload) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: the following trait bounds were not satisfied:
[INFO] [stdout]       `MyObject: Default`
[INFO] [stdout]       `MyObject: prost::Message`
[INFO] [stdout]    --> src/lib.rs:172:9
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl<T: Message + Default> ProtoBufMessage<T> {
[INFO] [stdout]     |         ^^^^^^^   ^^^^^^^  ------------------
[INFO] [stdout]     |         |         |
[INFO] [stdout]     |         |         unsatisfied trait bound introduced here
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `MyObject: Debug`
[INFO] [stdout]             which is required by `MyObject: prost::Message`
[INFO] [stdout] note: the trait `prost::Message` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/prost-0.12.3/src/message.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout] 16  | pub trait Message: Debug + Send + Sync {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider annotating `MyObject` with `#[derive(Debug, Default)]`
[INFO] [stdout]     |
[INFO] [stdout] 295 +     #[derive(Debug, Default)]
[INFO] [stdout] 296 |     pub struct MyObject {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MyObject: prost::Message` is not satisfied
[INFO] [stdout]    --> src/lib.rs:317:24
[INFO] [stdout]     |
[INFO] [stdout] 317 |         let protobuf = ProtoBufMessage::<MyObject>::new(&req, &mut pl).await;
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `prost::Message` is not implemented for `MyObject`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `prost::Message`:
[INFO] [stdout]               bool
[INFO] [stdout]               i32
[INFO] [stdout]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[INFO] [stdout]               f32
[INFO] [stdout]               f64
[INFO] [stdout]               Box<M>
[INFO] [stdout]             and 4 others
[INFO] [stdout] note: required by a bound in `ProtoBufMessage`
[INFO] [stdout]    --> src/lib.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct ProtoBufMessage<T: Message + Default> {
[INFO] [stdout]     |                               ^^^^^^^ required by this bound in `ProtoBufMessage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MyObject: Default` is not satisfied
[INFO] [stdout]    --> src/lib.rs:317:24
[INFO] [stdout]     |
[INFO] [stdout] 317 |         let protobuf = ProtoBufMessage::<MyObject>::new(&req, &mut pl).await;
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `MyObject`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ProtoBufMessage`
[INFO] [stdout]    --> src/lib.rs:164:41
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct ProtoBufMessage<T: Message + Default> {
[INFO] [stdout]     |                                         ^^^^^^^ required by this bound in `ProtoBufMessage`
[INFO] [stdout] help: consider annotating `MyObject` with `#[derive(Default)]`
[INFO] [stdout]     |
[INFO] [stdout] 295 +     #[derive(Default)]
[INFO] [stdout] 296 |     pub struct MyObject {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `new` exists for struct `ProtoBufMessage<MyObject>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/lib.rs:323:53
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct ProtoBufMessage<T: Message + Default> {
[INFO] [stdout]     | ------------------------------------------------ function or associated item `new` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub struct MyObject {
[INFO] [stdout]     |     ------------------- doesn't satisfy `MyObject: Debug`, `MyObject: Default` or `MyObject: prost::Message`
[INFO] [stdout] ...
[INFO] [stdout] 323 |         let protobuf = ProtoBufMessage::<MyObject>::new(&req, &mut pl).await;
[INFO] [stdout]     |                                                     ^^^ function or associated item cannot be called on `ProtoBufMessage<MyObject>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `ProtoBufMessage<MyObject>`, consider using `ProtoBufMessage::<T>::new` which returns `ProtoBufMessage<_>`
[INFO] [stdout]    --> src/lib.rs:174:5
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn new(req: &HttpRequest, payload: &mut Payload) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: the following trait bounds were not satisfied:
[INFO] [stdout]       `MyObject: Default`
[INFO] [stdout]       `MyObject: prost::Message`
[INFO] [stdout]    --> src/lib.rs:172:9
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl<T: Message + Default> ProtoBufMessage<T> {
[INFO] [stdout]     |         ^^^^^^^   ^^^^^^^  ------------------
[INFO] [stdout]     |         |         |
[INFO] [stdout]     |         |         unsatisfied trait bound introduced here
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `MyObject: Debug`
[INFO] [stdout]             which is required by `MyObject: prost::Message`
[INFO] [stdout] note: the trait `prost::Message` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/prost-0.12.3/src/message.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout] 16  | pub trait Message: Debug + Send + Sync {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider annotating `MyObject` with `#[derive(Debug, Default)]`
[INFO] [stdout]     |
[INFO] [stdout] 295 +     #[derive(Debug, Default)]
[INFO] [stdout] 296 |     pub struct MyObject {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MyObject: prost::Message` is not satisfied
[INFO] [stdout]    --> src/lib.rs:323:24
[INFO] [stdout]     |
[INFO] [stdout] 323 |         let protobuf = ProtoBufMessage::<MyObject>::new(&req, &mut pl).await;
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `prost::Message` is not implemented for `MyObject`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `prost::Message`:
[INFO] [stdout]               bool
[INFO] [stdout]               i32
[INFO] [stdout]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[INFO] [stdout]               f32
[INFO] [stdout]               f64
[INFO] [stdout]               Box<M>
[INFO] [stdout]             and 4 others
[INFO] [stdout] note: required by a bound in `ProtoBufMessage`
[INFO] [stdout]    --> src/lib.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct ProtoBufMessage<T: Message + Default> {
[INFO] [stdout]     |                               ^^^^^^^ required by this bound in `ProtoBufMessage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MyObject: Default` is not satisfied
[INFO] [stdout]    --> src/lib.rs:323:24
[INFO] [stdout]     |
[INFO] [stdout] 323 |         let protobuf = ProtoBufMessage::<MyObject>::new(&req, &mut pl).await;
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `MyObject`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ProtoBufMessage`
[INFO] [stdout]    --> src/lib.rs:164:41
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct ProtoBufMessage<T: Message + Default> {
[INFO] [stdout]     |                                         ^^^^^^^ required by this bound in `ProtoBufMessage`
[INFO] [stdout] help: consider annotating `MyObject` with `#[derive(Default)]`
[INFO] [stdout]     |
[INFO] [stdout] 295 +     #[derive(Default)]
[INFO] [stdout] 296 |     pub struct MyObject {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `new` exists for struct `ProtoBufMessage<MyObject>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/lib.rs:330:53
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct ProtoBufMessage<T: Message + Default> {
[INFO] [stdout]     | ------------------------------------------------ function or associated item `new` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub struct MyObject {
[INFO] [stdout]     |     ------------------- doesn't satisfy `MyObject: Debug`, `MyObject: Default` or `MyObject: prost::Message`
[INFO] [stdout] ...
[INFO] [stdout] 330 |         let protobuf = ProtoBufMessage::<MyObject>::new(&req, &mut pl)
[INFO] [stdout]     |                                                     ^^^ function or associated item cannot be called on `ProtoBufMessage<MyObject>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `ProtoBufMessage<MyObject>`, consider using `ProtoBufMessage::<T>::new` which returns `ProtoBufMessage<_>`
[INFO] [stdout]    --> src/lib.rs:174:5
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn new(req: &HttpRequest, payload: &mut Payload) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: the following trait bounds were not satisfied:
[INFO] [stdout]       `MyObject: Default`
[INFO] [stdout]       `MyObject: prost::Message`
[INFO] [stdout]    --> src/lib.rs:172:9
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl<T: Message + Default> ProtoBufMessage<T> {
[INFO] [stdout]     |         ^^^^^^^   ^^^^^^^  ------------------
[INFO] [stdout]     |         |         |
[INFO] [stdout]     |         |         unsatisfied trait bound introduced here
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `MyObject: Debug`
[INFO] [stdout]             which is required by `MyObject: prost::Message`
[INFO] [stdout] note: the trait `prost::Message` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/prost-0.12.3/src/message.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout] 16  | pub trait Message: Debug + Send + Sync {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider annotating `MyObject` with `#[derive(Debug, Default)]`
[INFO] [stdout]     |
[INFO] [stdout] 295 +     #[derive(Debug, Default)]
[INFO] [stdout] 296 |     pub struct MyObject {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MyObject: prost::Message` is not satisfied
[INFO] [stdout]    --> src/lib.rs:330:24
[INFO] [stdout]     |
[INFO] [stdout] 330 |         let protobuf = ProtoBufMessage::<MyObject>::new(&req, &mut pl)
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `prost::Message` is not implemented for `MyObject`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `prost::Message`:
[INFO] [stdout]               bool
[INFO] [stdout]               i32
[INFO] [stdout]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[INFO] [stdout]               f32
[INFO] [stdout]               f64
[INFO] [stdout]               Box<M>
[INFO] [stdout]             and 4 others
[INFO] [stdout] note: required by a bound in `ProtoBufMessage`
[INFO] [stdout]    --> src/lib.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct ProtoBufMessage<T: Message + Default> {
[INFO] [stdout]     |                               ^^^^^^^ required by this bound in `ProtoBufMessage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MyObject: Default` is not satisfied
[INFO] [stdout]    --> src/lib.rs:330:24
[INFO] [stdout]     |
[INFO] [stdout] 330 |         let protobuf = ProtoBufMessage::<MyObject>::new(&req, &mut pl)
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `MyObject`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ProtoBufMessage`
[INFO] [stdout]    --> src/lib.rs:164:41
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct ProtoBufMessage<T: Message + Default> {
[INFO] [stdout]     |                                         ^^^^^^^ required by this bound in `ProtoBufMessage`
[INFO] [stdout] help: consider annotating `MyObject` with `#[derive(Default)]`
[INFO] [stdout]     |
[INFO] [stdout] 295 +     #[derive(Default)]
[INFO] [stdout] 296 |     pub struct MyObject {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 17 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `actix-protobuf` (lib test) due to 18 previous errors
[INFO] running `Command { std: "docker" "inspect" "ff8150738f5694fe3cd251d3b8a028ad4282acfeea7725942b3d99d6ab69171d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ff8150738f5694fe3cd251d3b8a028ad4282acfeea7725942b3d99d6ab69171d", kill_on_drop: false }`
[INFO] [stdout] ff8150738f5694fe3cd251d3b8a028ad4282acfeea7725942b3d99d6ab69171d
