[INFO] cloning repository https://github.com/thy1037/reqwest_demo
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/thy1037/reqwest_demo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fthy1037%2Freqwest_demo", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fthy1037%2Freqwest_demo'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3db724fe53fa4d11a4df43e4108713c4caf03fcf
[INFO] checking thy1037/reqwest_demo against try#e983148bd5f0f0db270bfb72149f5e892e68b67f for pr-150322
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fthy1037%2Freqwest_demo" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/thy1037/reqwest_demo
[INFO] finished tweaking git repo https://github.com/thy1037/reqwest_demo
[INFO] tweaked toml for git repo https://github.com/thy1037/reqwest_demo written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/thy1037/reqwest_demo on toolchain e983148bd5f0f0db270bfb72149f5e892e68b67f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e983148bd5f0f0db270bfb72149f5e892e68b67f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/thy1037/reqwest_demo already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e983148bd5f0f0db270bfb72149f5e892e68b67f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking thy1037/reqwest_demo against try#e983148bd5f0f0db270bfb72149f5e892e68b67f for pr-150322
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fthy1037%2Freqwest_demo" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/thy1037/reqwest_demo
[INFO] finished tweaking git repo https://github.com/thy1037/reqwest_demo
[INFO] tweaked toml for git repo https://github.com/thy1037/reqwest_demo written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/thy1037/reqwest_demo on toolchain e983148bd5f0f0db270bfb72149f5e892e68b67f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e983148bd5f0f0db270bfb72149f5e892e68b67f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/thy1037/reqwest_demo already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e983148bd5f0f0db270bfb72149f5e892e68b67f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded system-configuration v0.6.0
[INFO] [stderr]   Downloaded openssl-sys v0.9.101
[INFO] [stderr]   Downloaded reqwest v0.11.25
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+e983148bd5f0f0db270bfb72149f5e892e68b67f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 52ccad99646aa3ac41d86931d0df51cd63aa163aca334e6ac0c659afe0817aa0
[INFO] running `Command { std: "docker" "start" "-a" "52ccad99646aa3ac41d86931d0df51cd63aa163aca334e6ac0c659afe0817aa0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "52ccad99646aa3ac41d86931d0df51cd63aa163aca334e6ac0c659afe0817aa0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "52ccad99646aa3ac41d86931d0df51cd63aa163aca334e6ac0c659afe0817aa0", kill_on_drop: false }`
[INFO] [stdout] 52ccad99646aa3ac41d86931d0df51cd63aa163aca334e6ac0c659afe0817aa0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+e983148bd5f0f0db270bfb72149f5e892e68b67f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 55f854c53878939e5fbf61fd2b93d506fa00d7c226ed23ca46c236549056f2d8
[INFO] running `Command { std: "docker" "start" "-a" "55f854c53878939e5fbf61fd2b93d506fa00d7c226ed23ca46c236549056f2d8", kill_on_drop: false }`
[INFO] [stderr]    Compiling openssl-sys v0.9.101
[INFO] [stderr]    Compiling openssl v0.10.64
[INFO] [stderr]     Checking bitflags v2.4.2
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking futures-task v0.3.30
[INFO] [stderr]     Checking indexmap v2.2.5
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]    Compiling serde_json v1.0.114
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]    Compiling native-tls v0.2.11
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking tokio v1.36.0
[INFO] [stderr]     Checking tokio-util v0.7.10
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking h2 v0.3.24
[INFO] [stderr]     Checking hyper v0.14.28
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.25
[INFO] [stderr]     Checking reqwest_demo v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0038]: the trait `Invoke` is not dyn compatible
[INFO] [stdout]   --> src/main.rs:36:31
[INFO] [stdout]    |
[INFO] [stdout] 36 | async fn process(backend: Arc<dyn Invoke + 'static>, msg: String) -> Result<OutCome, &'static str> {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^ `Invoke` is not dyn compatible
[INFO] [stdout]    |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]   --> src/platform/invoke.rs:5:33
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub trait Invoke: Send + Sync + Copy {
[INFO] [stdout]    |           ------                ^^^^ ...because it requires `Self: Sized`
[INFO] [stdout]    |           |
[INFO] [stdout]    |           this trait is not dyn compatible...
[INFO] [stdout]    = help: the following types implement `Invoke`:
[INFO] [stdout]              platform::baidu::Baidu
[INFO] [stdout]              platform::qq::Qq
[INFO] [stdout]            consider defining an enum where each variant holds one of these types,
[INFO] [stdout]            implementing `Invoke` for this new enum and using it instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `Invoke` is not dyn compatible
[INFO] [stdout]   --> src/main.rs:37:15
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let rsp = backend.to_owned()
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^ `Invoke` is not dyn compatible
[INFO] [stdout]    |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]   --> src/platform/invoke.rs:5:33
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub trait Invoke: Send + Sync + Copy {
[INFO] [stdout]    |           ------                ^^^^ ...because it requires `Self: Sized`
[INFO] [stdout]    |           |
[INFO] [stdout]    |           this trait is not dyn compatible...
[INFO] [stdout]    = help: the following types implement `Invoke`:
[INFO] [stdout]              platform::baidu::Baidu
[INFO] [stdout]              platform::qq::Qq
[INFO] [stdout]            consider defining an enum where each variant holds one of these types,
[INFO] [stdout]            implementing `Invoke` for this new enum and using it instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `Invoke` is not dyn compatible
[INFO] [stdout]   --> src/main.rs:37:15
[INFO] [stdout]    |
[INFO] [stdout] 37 |       let rsp = backend.to_owned()
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 38 | |         .request_builder(&msg)
[INFO] [stdout]    | |______________________________^ `Invoke` is not dyn compatible
[INFO] [stdout]    |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]   --> src/platform/invoke.rs:5:33
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub trait Invoke: Send + Sync + Copy {
[INFO] [stdout]    |           ------                ^^^^ ...because it requires `Self: Sized`
[INFO] [stdout]    |           |
[INFO] [stdout]    |           this trait is not dyn compatible...
[INFO] [stdout]    = help: the following types implement `Invoke`:
[INFO] [stdout]              platform::baidu::Baidu
[INFO] [stdout]              platform::qq::Qq
[INFO] [stdout]            consider defining an enum where each variant holds one of these types,
[INFO] [stdout]            implementing `Invoke` for this new enum and using it instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `Invoke` is not dyn compatible
[INFO] [stdout]   --> src/main.rs:49:20
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 Ok(backend.outcome(&out))
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^ `Invoke` is not dyn compatible
[INFO] [stdout]    |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]   --> src/platform/invoke.rs:5:33
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub trait Invoke: Send + Sync + Copy {
[INFO] [stdout]    |           ------                ^^^^ ...because it requires `Self: Sized`
[INFO] [stdout]    |           |
[INFO] [stdout]    |           this trait is not dyn compatible...
[INFO] [stdout]    = help: the following types implement `Invoke`:
[INFO] [stdout]              platform::baidu::Baidu
[INFO] [stdout]              platform::qq::Qq
[INFO] [stdout]            consider defining an enum where each variant holds one of these types,
[INFO] [stdout]            implementing `Invoke` for this new enum and using it instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `Invoke` is not dyn compatible
[INFO] [stdout]   --> src/main.rs:13:37
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let mut backends: Vec::<Arc<dyn Invoke>> = Vec::new();
[INFO] [stdout]    |                                     ^^^^^^ `Invoke` is not dyn compatible
[INFO] [stdout]    |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]   --> src/platform/invoke.rs:5:33
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub trait Invoke: Send + Sync + Copy {
[INFO] [stdout]    |           ------                ^^^^ ...because it requires `Self: Sized`
[INFO] [stdout]    |           |
[INFO] [stdout]    |           this trait is not dyn compatible...
[INFO] [stdout]    = help: the following types implement `Invoke`:
[INFO] [stdout]              platform::baidu::Baidu
[INFO] [stdout]              platform::qq::Qq
[INFO] [stdout]            consider defining an enum where each variant holds one of these types,
[INFO] [stdout]            implementing `Invoke` for this new enum and using it instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `Invoke` is not dyn compatible
[INFO] [stdout]   --> src/main.rs:20:43
[INFO] [stdout]    |
[INFO] [stdout] 20 |         handles.push(tokio::spawn(process(backend, input)))
[INFO] [stdout]    |                                           ^^^^^^^ `Invoke` is not dyn compatible
[INFO] [stdout]    |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]   --> src/platform/invoke.rs:5:33
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub trait Invoke: Send + Sync + Copy {
[INFO] [stdout]    |           ------                ^^^^ ...because it requires `Self: Sized`
[INFO] [stdout]    |           |
[INFO] [stdout]    |           this trait is not dyn compatible...
[INFO] [stdout]    = help: the following types implement `Invoke`:
[INFO] [stdout]              platform::baidu::Baidu
[INFO] [stdout]              platform::qq::Qq
[INFO] [stdout]            consider defining an enum where each variant holds one of these types,
[INFO] [stdout]            implementing `Invoke` for this new enum and using it instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `Invoke` is not dyn compatible
[INFO] [stdout]   --> src/main.rs:19:20
[INFO] [stdout]    |
[INFO] [stdout] 19 |     for backend in backends {
[INFO] [stdout]    |                    ^^^^^^^^ `Invoke` is not dyn compatible
[INFO] [stdout]    |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]   --> src/platform/invoke.rs:5:33
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub trait Invoke: Send + Sync + Copy {
[INFO] [stdout]    |           ------                ^^^^ ...because it requires `Self: Sized`
[INFO] [stdout]    |           |
[INFO] [stdout]    |           this trait is not dyn compatible...
[INFO] [stdout]    = help: the following types implement `Invoke`:
[INFO] [stdout]              platform::baidu::Baidu
[INFO] [stdout]              platform::qq::Qq
[INFO] [stdout]            consider defining an enum where each variant holds one of these types,
[INFO] [stdout]            implementing `Invoke` for this new enum and using it instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0038`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `reqwest_demo` (bin "reqwest_demo") due to 7 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0038]: the trait `Invoke` is not dyn compatible
[INFO] [stdout]   --> src/main.rs:36:31
[INFO] [stdout]    |
[INFO] [stdout] 36 | async fn process(backend: Arc<dyn Invoke + 'static>, msg: String) -> Result<OutCome, &'static str> {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^ `Invoke` is not dyn compatible
[INFO] [stdout]    |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]   --> src/platform/invoke.rs:5:33
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub trait Invoke: Send + Sync + Copy {
[INFO] [stdout]    |           ------                ^^^^ ...because it requires `Self: Sized`
[INFO] [stdout]    |           |
[INFO] [stdout]    |           this trait is not dyn compatible...
[INFO] [stdout]    = help: the following types implement `Invoke`:
[INFO] [stdout]              platform::baidu::Baidu
[INFO] [stdout]              platform::qq::Qq
[INFO] [stdout]            consider defining an enum where each variant holds one of these types,
[INFO] [stdout]            implementing `Invoke` for this new enum and using it instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `Invoke` is not dyn compatible
[INFO] [stdout]   --> src/main.rs:37:15
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let rsp = backend.to_owned()
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^ `Invoke` is not dyn compatible
[INFO] [stdout]    |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]   --> src/platform/invoke.rs:5:33
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub trait Invoke: Send + Sync + Copy {
[INFO] [stdout]    |           ------                ^^^^ ...because it requires `Self: Sized`
[INFO] [stdout]    |           |
[INFO] [stdout]    |           this trait is not dyn compatible...
[INFO] [stdout]    = help: the following types implement `Invoke`:
[INFO] [stdout]              platform::baidu::Baidu
[INFO] [stdout]              platform::qq::Qq
[INFO] [stdout]            consider defining an enum where each variant holds one of these types,
[INFO] [stdout]            implementing `Invoke` for this new enum and using it instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `Invoke` is not dyn compatible
[INFO] [stdout]   --> src/main.rs:37:15
[INFO] [stdout]    |
[INFO] [stdout] 37 |       let rsp = backend.to_owned()
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 38 | |         .request_builder(&msg)
[INFO] [stdout]    | |______________________________^ `Invoke` is not dyn compatible
[INFO] [stdout]    |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]   --> src/platform/invoke.rs:5:33
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub trait Invoke: Send + Sync + Copy {
[INFO] [stdout]    |           ------                ^^^^ ...because it requires `Self: Sized`
[INFO] [stdout]    |           |
[INFO] [stdout]    |           this trait is not dyn compatible...
[INFO] [stdout]    = help: the following types implement `Invoke`:
[INFO] [stdout]              platform::baidu::Baidu
[INFO] [stdout]              platform::qq::Qq
[INFO] [stdout]            consider defining an enum where each variant holds one of these types,
[INFO] [stdout]            implementing `Invoke` for this new enum and using it instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `Invoke` is not dyn compatible
[INFO] [stdout]   --> src/main.rs:49:20
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 Ok(backend.outcome(&out))
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^ `Invoke` is not dyn compatible
[INFO] [stdout]    |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]   --> src/platform/invoke.rs:5:33
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub trait Invoke: Send + Sync + Copy {
[INFO] [stdout]    |           ------                ^^^^ ...because it requires `Self: Sized`
[INFO] [stdout]    |           |
[INFO] [stdout]    |           this trait is not dyn compatible...
[INFO] [stdout]    = help: the following types implement `Invoke`:
[INFO] [stdout]              platform::baidu::Baidu
[INFO] [stdout]              platform::qq::Qq
[INFO] [stdout]            consider defining an enum where each variant holds one of these types,
[INFO] [stdout]            implementing `Invoke` for this new enum and using it instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `Invoke` is not dyn compatible
[INFO] [stdout]   --> src/main.rs:13:37
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let mut backends: Vec::<Arc<dyn Invoke>> = Vec::new();
[INFO] [stdout]    |                                     ^^^^^^ `Invoke` is not dyn compatible
[INFO] [stdout]    |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]   --> src/platform/invoke.rs:5:33
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub trait Invoke: Send + Sync + Copy {
[INFO] [stdout]    |           ------                ^^^^ ...because it requires `Self: Sized`
[INFO] [stdout]    |           |
[INFO] [stdout]    |           this trait is not dyn compatible...
[INFO] [stdout]    = help: the following types implement `Invoke`:
[INFO] [stdout]              platform::baidu::Baidu
[INFO] [stdout]              platform::qq::Qq
[INFO] [stdout]            consider defining an enum where each variant holds one of these types,
[INFO] [stdout]            implementing `Invoke` for this new enum and using it instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `Invoke` is not dyn compatible
[INFO] [stdout]   --> src/main.rs:20:43
[INFO] [stdout]    |
[INFO] [stdout] 20 |         handles.push(tokio::spawn(process(backend, input)))
[INFO] [stdout]    |                                           ^^^^^^^ `Invoke` is not dyn compatible
[INFO] [stdout]    |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]   --> src/platform/invoke.rs:5:33
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub trait Invoke: Send + Sync + Copy {
[INFO] [stdout]    |           ------                ^^^^ ...because it requires `Self: Sized`
[INFO] [stdout]    |           |
[INFO] [stdout]    |           this trait is not dyn compatible...
[INFO] [stdout]    = help: the following types implement `Invoke`:
[INFO] [stdout]              platform::baidu::Baidu
[INFO] [stdout]              platform::qq::Qq
[INFO] [stdout]            consider defining an enum where each variant holds one of these types,
[INFO] [stdout]            implementing `Invoke` for this new enum and using it instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `Invoke` is not dyn compatible
[INFO] [stdout]   --> src/main.rs:19:20
[INFO] [stdout]    |
[INFO] [stdout] 19 |     for backend in backends {
[INFO] [stdout]    |                    ^^^^^^^^ `Invoke` is not dyn compatible
[INFO] [stdout]    |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]   --> src/platform/invoke.rs:5:33
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub trait Invoke: Send + Sync + Copy {
[INFO] [stdout]    |           ------                ^^^^ ...because it requires `Self: Sized`
[INFO] [stdout]    |           |
[INFO] [stdout]    |           this trait is not dyn compatible...
[INFO] [stdout]    = help: the following types implement `Invoke`:
[INFO] [stdout]              platform::baidu::Baidu
[INFO] [stdout]              platform::qq::Qq
[INFO] [stdout]            consider defining an enum where each variant holds one of these types,
[INFO] [stdout]            implementing `Invoke` for this new enum and using it instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0038`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `reqwest_demo` (bin "reqwest_demo" test) due to 7 previous errors
[INFO] running `Command { std: "docker" "inspect" "55f854c53878939e5fbf61fd2b93d506fa00d7c226ed23ca46c236549056f2d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "55f854c53878939e5fbf61fd2b93d506fa00d7c226ed23ca46c236549056f2d8", kill_on_drop: false }`
[INFO] [stdout] 55f854c53878939e5fbf61fd2b93d506fa00d7c226ed23ca46c236549056f2d8
