[INFO] fetching crate simple-shutdown 0.1.0...
[INFO] testing simple-shutdown-0.1.0 against 1.75.0 for beta-1.76-1
[INFO] extracting crate simple-shutdown 0.1.0 into /workspace/builds/worker-4-tc1/source
[INFO] validating manifest of crates.io crate simple-shutdown 0.1.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 simple-shutdown 0.1.0
[INFO] finished tweaking crates.io crate simple-shutdown 0.1.0
[INFO] tweaked toml for crates.io crate simple-shutdown 0.1.0 written to /workspace/builds/worker-4-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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 2b45be171d3115407c13e95f91d9619a8d7223fc3d529a0c198fc52a4762a652
[INFO] running `Command { std: "docker" "start" "-a" "2b45be171d3115407c13e95f91d9619a8d7223fc3d529a0c198fc52a4762a652", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2b45be171d3115407c13e95f91d9619a8d7223fc3d529a0c198fc52a4762a652", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2b45be171d3115407c13e95f91d9619a8d7223fc3d529a0c198fc52a4762a652", kill_on_drop: false }`
[INFO] [stdout] 2b45be171d3115407c13e95f91d9619a8d7223fc3d529a0c198fc52a4762a652
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 0743b5fa3a95afba82160980cfdbb84f9289ec6e0736d388e0bd8061b7c437fe
[INFO] running `Command { std: "docker" "start" "-a" "0743b5fa3a95afba82160980cfdbb84f9289ec6e0736d388e0bd8061b7c437fe", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-core v0.3.30
[INFO] [stderr]    Compiling futures-task v0.3.30
[INFO] [stderr]    Compiling critical-section v1.1.2
[INFO] [stderr]    Compiling futures-util v0.3.30
[INFO] [stderr]    Compiling simple-shutdown v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 0.93s
[INFO] running `Command { std: "docker" "inspect" "0743b5fa3a95afba82160980cfdbb84f9289ec6e0736d388e0bd8061b7c437fe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0743b5fa3a95afba82160980cfdbb84f9289ec6e0736d388e0bd8061b7c437fe", kill_on_drop: false }`
[INFO] [stdout] 0743b5fa3a95afba82160980cfdbb84f9289ec6e0736d388e0bd8061b7c437fe
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9f76a2fb5812d0aa30bc7841627e33f4942d3f25c42e9a938970b99b4c59d88f
[INFO] running `Command { std: "docker" "start" "-a" "9f76a2fb5812d0aa30bc7841627e33f4942d3f25c42e9a938970b99b4c59d88f", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.48
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling tokio v1.35.1
[INFO] [stderr]    Compiling simple-shutdown v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0277]: the trait bound `&Runtime: spawn::Spawn` is not satisfied
[INFO] [stdout]   --> src/lib.rs:51:44
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let group = TaskGroup::with_static(&runtime, &STATE);
[INFO] [stdout]    |                     ---------------------- ^^^^^^^^ the trait `spawn::Spawn` is not implemented for `&Runtime`
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]   --> src/spawn.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | pub trait Spawn {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `group::TaskGroup::<S, &'static State>::with_static`
[INFO] [stdout]   --> src/group.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<S: Spawn> TaskGroup<S, &'static State> {
[INFO] [stdout]    |         ^^^^^ required by this bound in `TaskGroup::<S, &State>::with_static`
[INFO] [stdout] 34 |     /// Create a new task group using the provided spawner and state
[INFO] [stdout] 35 |     pub fn with_static(spawner: S, state: &'static State) -> Self {
[INFO] [stdout]    |            ----------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&Runtime: spawn::Spawn` is not satisfied
[INFO] [stdout]   --> src/lib.rs:51:21
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let group = TaskGroup::with_static(&runtime, &STATE);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `spawn::Spawn` is not implemented for `&Runtime`
[INFO] [stdout]    |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]   --> src/spawn.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | pub trait Spawn {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `group::TaskGroup`
[INFO] [stdout]   --> src/group.rs:17:25
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct TaskGroup<S: Spawn, C: Deref<Target = State>> {
[INFO] [stdout]    |                         ^^^^^ required by this bound in `TaskGroup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `spawn` exists for struct `TaskGroup<&Runtime, &State>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/lib.rs:55:19
[INFO] [stdout]    |
[INFO] [stdout] 55 |             group.spawn(async move {
[INFO] [stdout]    |             ------^^^^^ method cannot be called on `TaskGroup<&Runtime, &State>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/group.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct TaskGroup<S: Spawn, C: Deref<Target = State>> {
[INFO] [stdout]    | -------------------------------------------------------- method `spawn` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `&Runtime: spawn::Spawn` was not satisfied
[INFO] [stdout]   --> src/group.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<S: Spawn, C: 'static + Deref<Target = State> + Clone + Send> TaskGroup<S, C> {
[INFO] [stdout]    |         ^^^^^ unsatisfied trait bound introduced here             ---------------
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `spawn::Spawn` defines an item `spawn`, perhaps you need to implement it
[INFO] [stdout]   --> src/spawn.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | pub trait Spawn {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&Runtime: spawn::Spawn` is not satisfied
[INFO] [stdout]   --> src/lib.rs:76:44
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let group = TaskGroup::with_static(&runtime, &STATE);
[INFO] [stdout]    |                     ---------------------- ^^^^^^^^ the trait `spawn::Spawn` is not implemented for `&Runtime`
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]   --> src/spawn.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | pub trait Spawn {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `group::TaskGroup::<S, &'static State>::with_static`
[INFO] [stdout]   --> src/group.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<S: Spawn> TaskGroup<S, &'static State> {
[INFO] [stdout]    |         ^^^^^ required by this bound in `TaskGroup::<S, &State>::with_static`
[INFO] [stdout] 34 |     /// Create a new task group using the provided spawner and state
[INFO] [stdout] 35 |     pub fn with_static(spawner: S, state: &'static State) -> Self {
[INFO] [stdout]    |            ----------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&Runtime: spawn::Spawn` is not satisfied
[INFO] [stdout]   --> src/lib.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let group = TaskGroup::with_static(&runtime, &STATE);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `spawn::Spawn` is not implemented for `&Runtime`
[INFO] [stdout]    |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]   --> src/spawn.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | pub trait Spawn {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `group::TaskGroup`
[INFO] [stdout]   --> src/group.rs:17:25
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct TaskGroup<S: Spawn, C: Deref<Target = State>> {
[INFO] [stdout]    |                         ^^^^^ required by this bound in `TaskGroup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `spawn` exists for struct `TaskGroup<&Runtime, &State>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/lib.rs:79:19
[INFO] [stdout]    |
[INFO] [stdout] 79 |             group.spawn(async move {
[INFO] [stdout]    |             ------^^^^^ method cannot be called on `TaskGroup<&Runtime, &State>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/group.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct TaskGroup<S: Spawn, C: Deref<Target = State>> {
[INFO] [stdout]    | -------------------------------------------------------- method `spawn` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `&Runtime: spawn::Spawn` was not satisfied
[INFO] [stdout]   --> src/group.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<S: Spawn, C: 'static + Deref<Target = State> + Clone + Send> TaskGroup<S, C> {
[INFO] [stdout]    |         ^^^^^ unsatisfied trait bound introduced here             ---------------
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `spawn::Spawn` defines an item `spawn`, perhaps you need to implement it
[INFO] [stdout]   --> src/spawn.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | pub trait Spawn {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `done` exists for struct `TaskGroup<&Runtime, &State>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/lib.rs:86:27
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 _ = group.done() => panic!(),
[INFO] [stdout]    |                           ^^^^ method cannot be called on `TaskGroup<&Runtime, &State>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/group.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct TaskGroup<S: Spawn, C: Deref<Target = State>> {
[INFO] [stdout]    | -------------------------------------------------------- method `done` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `&Runtime: spawn::Spawn` was not satisfied
[INFO] [stdout]   --> src/group.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<S: Spawn, C: 'static + Deref<Target = State> + Clone + Send> TaskGroup<S, C> {
[INFO] [stdout]    |         ^^^^^ unsatisfied trait bound introduced here             ---------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&Runtime: spawn::Spawn` is not satisfied
[INFO] [stdout]   --> src/lib.rs:97:44
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let group = TaskGroup::with_static(&runtime, &STATE);
[INFO] [stdout]    |                     ---------------------- ^^^^^^^^ the trait `spawn::Spawn` is not implemented for `&Runtime`
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]   --> src/spawn.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | pub trait Spawn {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `group::TaskGroup::<S, &'static State>::with_static`
[INFO] [stdout]   --> src/group.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<S: Spawn> TaskGroup<S, &'static State> {
[INFO] [stdout]    |         ^^^^^ required by this bound in `TaskGroup::<S, &State>::with_static`
[INFO] [stdout] 34 |     /// Create a new task group using the provided spawner and state
[INFO] [stdout] 35 |     pub fn with_static(spawner: S, state: &'static State) -> Self {
[INFO] [stdout]    |            ----------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&Runtime: spawn::Spawn` is not satisfied
[INFO] [stdout]   --> src/lib.rs:97:21
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let group = TaskGroup::with_static(&runtime, &STATE);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `spawn::Spawn` is not implemented for `&Runtime`
[INFO] [stdout]    |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]   --> src/spawn.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | pub trait Spawn {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `group::TaskGroup`
[INFO] [stdout]   --> src/group.rs:17:25
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct TaskGroup<S: Spawn, C: Deref<Target = State>> {
[INFO] [stdout]    |                         ^^^^^ required by this bound in `TaskGroup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `spawn` exists for struct `TaskGroup<&Runtime, &State>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/lib.rs:101:23
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 group.spawn(async move {
[INFO] [stdout]     |                 ------^^^^^ method cannot be called on `TaskGroup<&Runtime, &State>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/group.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout] 17  | pub struct TaskGroup<S: Spawn, C: Deref<Target = State>> {
[INFO] [stdout]     | -------------------------------------------------------- method `spawn` not found for this struct
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `&Runtime: spawn::Spawn` was not satisfied
[INFO] [stdout]    --> src/group.rs:40:9
[INFO] [stdout]     |
[INFO] [stdout] 40  | impl<S: Spawn, C: 'static + Deref<Target = State> + Clone + Send> TaskGroup<S, C> {
[INFO] [stdout]     |         ^^^^^ unsatisfied trait bound introduced here             ---------------
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `spawn::Spawn` defines an item `spawn`, perhaps you need to implement it
[INFO] [stdout]    --> src/spawn.rs:3:1
[INFO] [stdout]     |
[INFO] [stdout] 3   | pub trait Spawn {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `done` exists for struct `TaskGroup<&Runtime, &State>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/lib.rs:107:27
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 _ = group.done() => {},
[INFO] [stdout]     |                           ^^^^ method cannot be called on `TaskGroup<&Runtime, &State>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/group.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout] 17  | pub struct TaskGroup<S: Spawn, C: Deref<Target = State>> {
[INFO] [stdout]     | -------------------------------------------------------- method `done` not found for this struct
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `&Runtime: spawn::Spawn` was not satisfied
[INFO] [stdout]    --> src/group.rs:40:9
[INFO] [stdout]     |
[INFO] [stdout] 40  | impl<S: Spawn, C: 'static + Deref<Target = State> + Clone + Send> TaskGroup<S, C> {
[INFO] [stdout]     |         ^^^^^ unsatisfied trait bound introduced here             ---------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&Runtime: spawn::Spawn` is not satisfied
[INFO] [stdout]    --> src/lib.rs:118:44
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let group = TaskGroup::with_static(&runtime, &STATE);
[INFO] [stdout]     |                     ---------------------- ^^^^^^^^ the trait `spawn::Spawn` is not implemented for `&Runtime`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/spawn.rs:3:1
[INFO] [stdout]     |
[INFO] [stdout] 3   | pub trait Spawn {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `group::TaskGroup::<S, &'static State>::with_static`
[INFO] [stdout]    --> src/group.rs:33:9
[INFO] [stdout]     |
[INFO] [stdout] 33  | impl<S: Spawn> TaskGroup<S, &'static State> {
[INFO] [stdout]     |         ^^^^^ required by this bound in `TaskGroup::<S, &State>::with_static`
[INFO] [stdout] 34  |     /// Create a new task group using the provided spawner and state
[INFO] [stdout] 35  |     pub fn with_static(spawner: S, state: &'static State) -> Self {
[INFO] [stdout]     |            ----------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&Runtime: spawn::Spawn` is not satisfied
[INFO] [stdout]    --> src/lib.rs:118:21
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let group = TaskGroup::with_static(&runtime, &STATE);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `spawn::Spawn` is not implemented for `&Runtime`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/spawn.rs:3:1
[INFO] [stdout]     |
[INFO] [stdout] 3   | pub trait Spawn {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `group::TaskGroup`
[INFO] [stdout]    --> src/group.rs:17:25
[INFO] [stdout]     |
[INFO] [stdout] 17  | pub struct TaskGroup<S: Spawn, C: Deref<Target = State>> {
[INFO] [stdout]     |                         ^^^^^ required by this bound in `TaskGroup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `spawn_with_shutdown` exists for struct `TaskGroup<&Runtime, &State>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/lib.rs:124:23
[INFO] [stdout]     |
[INFO] [stdout] 124 |                 group.spawn_with_shutdown(|shutdown| async move {
[INFO] [stdout]     |                 ------^^^^^^^^^^^^^^^^^^^ method cannot be called on `TaskGroup<&Runtime, &State>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/group.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout] 17  | pub struct TaskGroup<S: Spawn, C: Deref<Target = State>> {
[INFO] [stdout]     | -------------------------------------------------------- method `spawn_with_shutdown` not found for this struct
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `&Runtime: spawn::Spawn` was not satisfied
[INFO] [stdout]    --> src/group.rs:40:9
[INFO] [stdout]     |
[INFO] [stdout] 40  | impl<S: Spawn, C: 'static + Deref<Target = State> + Clone + Send> TaskGroup<S, C> {
[INFO] [stdout]     |         ^^^^^ unsatisfied trait bound introduced here             ---------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `shutdown` exists for struct `TaskGroup<&Runtime, &State>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/lib.rs:132:19
[INFO] [stdout]     |
[INFO] [stdout] 132 |             group.shutdown().await;
[INFO] [stdout]     |                   ^^^^^^^^ method cannot be called on `TaskGroup<&Runtime, &State>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/group.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout] 17  | pub struct TaskGroup<S: Spawn, C: Deref<Target = State>> {
[INFO] [stdout]     | -------------------------------------------------------- method `shutdown` not found for this struct
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `&Runtime: spawn::Spawn` was not satisfied
[INFO] [stdout]    --> src/group.rs:40:9
[INFO] [stdout]     |
[INFO] [stdout] 40  | impl<S: Spawn, C: 'static + Deref<Target = State> + Clone + Send> TaskGroup<S, C> {
[INFO] [stdout]     |         ^^^^^ unsatisfied trait bound introduced here             ---------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 15 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `simple-shutdown` (lib test) due to 16 previous errors
[INFO] running `Command { std: "docker" "inspect" "9f76a2fb5812d0aa30bc7841627e33f4942d3f25c42e9a938970b99b4c59d88f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9f76a2fb5812d0aa30bc7841627e33f4942d3f25c42e9a938970b99b4c59d88f", kill_on_drop: false }`
[INFO] [stdout] 9f76a2fb5812d0aa30bc7841627e33f4942d3f25c42e9a938970b99b4c59d88f
[INFO] testing simple-shutdown-0.1.0 against beta-2023-12-22 for beta-1.76-1
[INFO] extracting crate simple-shutdown 0.1.0 into /workspace/builds/worker-4-tc2/source
[INFO] validating manifest of crates.io crate simple-shutdown 0.1.0 on toolchain beta-2023-12-22
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-12-22" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate simple-shutdown 0.1.0
[INFO] finished tweaking crates.io crate simple-shutdown 0.1.0
[INFO] tweaked toml for crates.io crate simple-shutdown 0.1.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-12-22" "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" "+beta-2023-12-22" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-12-22" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3dfeda09e38e9080d08017976666705babe85ef19012276abe8e9181daf08ab1
[INFO] running `Command { std: "docker" "start" "-a" "3dfeda09e38e9080d08017976666705babe85ef19012276abe8e9181daf08ab1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3dfeda09e38e9080d08017976666705babe85ef19012276abe8e9181daf08ab1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3dfeda09e38e9080d08017976666705babe85ef19012276abe8e9181daf08ab1", kill_on_drop: false }`
[INFO] [stdout] 3dfeda09e38e9080d08017976666705babe85ef19012276abe8e9181daf08ab1
[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=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" "+beta-2023-12-22" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c0e1504a45312968d40587970defb54b889ec78eec7b9d8bc72a5086867e7330
[INFO] running `Command { std: "docker" "start" "-a" "c0e1504a45312968d40587970defb54b889ec78eec7b9d8bc72a5086867e7330", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-core v0.3.30
[INFO] [stderr]    Compiling futures-task v0.3.30
[INFO] [stderr]    Compiling critical-section v1.1.2
[INFO] [stderr]    Compiling futures-util v0.3.30
[INFO] [stderr]    Compiling simple-shutdown v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 0.93s
[INFO] running `Command { std: "docker" "inspect" "c0e1504a45312968d40587970defb54b889ec78eec7b9d8bc72a5086867e7330", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c0e1504a45312968d40587970defb54b889ec78eec7b9d8bc72a5086867e7330", kill_on_drop: false }`
[INFO] [stdout] c0e1504a45312968d40587970defb54b889ec78eec7b9d8bc72a5086867e7330
[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=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" "+beta-2023-12-22" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e311d573081f58a1f0f897cd09a10d44207b910b4b55cc15fc088e32733995f0
[INFO] running `Command { std: "docker" "start" "-a" "e311d573081f58a1f0f897cd09a10d44207b910b4b55cc15fc088e32733995f0", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.48
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling tokio v1.35.1
[INFO] [stderr]    Compiling simple-shutdown v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0277]: the trait bound `&Runtime: spawn::Spawn` is not satisfied
[INFO] [stdout]   --> src/lib.rs:51:44
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let group = TaskGroup::with_static(&runtime, &STATE);
[INFO] [stdout]    |                     ---------------------- ^^^^^^^^ the trait `spawn::Spawn` is not implemented for `&Runtime`
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]   --> src/spawn.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | pub trait Spawn {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `group::TaskGroup::<S, &'static State>::with_static`
[INFO] [stdout]   --> src/group.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<S: Spawn> TaskGroup<S, &'static State> {
[INFO] [stdout]    |         ^^^^^ required by this bound in `TaskGroup::<S, &State>::with_static`
[INFO] [stdout] 34 |     /// Create a new task group using the provided spawner and state
[INFO] [stdout] 35 |     pub fn with_static(spawner: S, state: &'static State) -> Self {
[INFO] [stdout]    |            ----------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&Runtime: spawn::Spawn` is not satisfied
[INFO] [stdout]   --> src/lib.rs:51:21
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let group = TaskGroup::with_static(&runtime, &STATE);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `spawn::Spawn` is not implemented for `&Runtime`
[INFO] [stdout]    |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]   --> src/spawn.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | pub trait Spawn {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `group::TaskGroup`
[INFO] [stdout]   --> src/group.rs:17:25
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct TaskGroup<S: Spawn, C: Deref<Target = State>> {
[INFO] [stdout]    |                         ^^^^^ required by this bound in `TaskGroup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `spawn` exists for struct `TaskGroup<&Runtime, &State>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/lib.rs:55:19
[INFO] [stdout]    |
[INFO] [stdout] 55 |             group.spawn(async move {
[INFO] [stdout]    |             ------^^^^^ method cannot be called on `TaskGroup<&Runtime, &State>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/group.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct TaskGroup<S: Spawn, C: Deref<Target = State>> {
[INFO] [stdout]    | -------------------------------------------------------- method `spawn` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `&Runtime: spawn::Spawn` was not satisfied
[INFO] [stdout]   --> src/group.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<S: Spawn, C: 'static + Deref<Target = State> + Clone + Send> TaskGroup<S, C> {
[INFO] [stdout]    |         ^^^^^ unsatisfied trait bound introduced here             ---------------
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `spawn::Spawn` defines an item `spawn`, perhaps you need to implement it
[INFO] [stdout]   --> src/spawn.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | pub trait Spawn {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&Runtime: spawn::Spawn` is not satisfied
[INFO] [stdout]   --> src/lib.rs:76:44
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let group = TaskGroup::with_static(&runtime, &STATE);
[INFO] [stdout]    |                     ---------------------- ^^^^^^^^ the trait `spawn::Spawn` is not implemented for `&Runtime`
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]   --> src/spawn.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | pub trait Spawn {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `group::TaskGroup::<S, &'static State>::with_static`
[INFO] [stdout]   --> src/group.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<S: Spawn> TaskGroup<S, &'static State> {
[INFO] [stdout]    |         ^^^^^ required by this bound in `TaskGroup::<S, &State>::with_static`
[INFO] [stdout] 34 |     /// Create a new task group using the provided spawner and state
[INFO] [stdout] 35 |     pub fn with_static(spawner: S, state: &'static State) -> Self {
[INFO] [stdout]    |            ----------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&Runtime: spawn::Spawn` is not satisfied
[INFO] [stdout]   --> src/lib.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let group = TaskGroup::with_static(&runtime, &STATE);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `spawn::Spawn` is not implemented for `&Runtime`
[INFO] [stdout]    |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]   --> src/spawn.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | pub trait Spawn {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `group::TaskGroup`
[INFO] [stdout]   --> src/group.rs:17:25
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct TaskGroup<S: Spawn, C: Deref<Target = State>> {
[INFO] [stdout]    |                         ^^^^^ required by this bound in `TaskGroup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `spawn` exists for struct `TaskGroup<&Runtime, &State>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/lib.rs:79:19
[INFO] [stdout]    |
[INFO] [stdout] 79 |             group.spawn(async move {
[INFO] [stdout]    |             ------^^^^^ method cannot be called on `TaskGroup<&Runtime, &State>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/group.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct TaskGroup<S: Spawn, C: Deref<Target = State>> {
[INFO] [stdout]    | -------------------------------------------------------- method `spawn` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `&Runtime: spawn::Spawn` was not satisfied
[INFO] [stdout]   --> src/group.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<S: Spawn, C: 'static + Deref<Target = State> + Clone + Send> TaskGroup<S, C> {
[INFO] [stdout]    |         ^^^^^ unsatisfied trait bound introduced here             ---------------
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `spawn::Spawn` defines an item `spawn`, perhaps you need to implement it
[INFO] [stdout]   --> src/spawn.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | pub trait Spawn {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `done` exists for struct `TaskGroup<&Runtime, &State>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/lib.rs:86:27
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 _ = group.done() => panic!(),
[INFO] [stdout]    |                           ^^^^ method cannot be called on `TaskGroup<&Runtime, &State>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/group.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct TaskGroup<S: Spawn, C: Deref<Target = State>> {
[INFO] [stdout]    | -------------------------------------------------------- method `done` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `&Runtime: spawn::Spawn` was not satisfied
[INFO] [stdout]   --> src/group.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<S: Spawn, C: 'static + Deref<Target = State> + Clone + Send> TaskGroup<S, C> {
[INFO] [stdout]    |         ^^^^^ unsatisfied trait bound introduced here             ---------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&Runtime: spawn::Spawn` is not satisfied
[INFO] [stdout]   --> src/lib.rs:97:44
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let group = TaskGroup::with_static(&runtime, &STATE);
[INFO] [stdout]    |                     ---------------------- ^^^^^^^^ the trait `spawn::Spawn` is not implemented for `&Runtime`
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]   --> src/spawn.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | pub trait Spawn {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `group::TaskGroup::<S, &'static State>::with_static`
[INFO] [stdout]   --> src/group.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<S: Spawn> TaskGroup<S, &'static State> {
[INFO] [stdout]    |         ^^^^^ required by this bound in `TaskGroup::<S, &State>::with_static`
[INFO] [stdout] 34 |     /// Create a new task group using the provided spawner and state
[INFO] [stdout] 35 |     pub fn with_static(spawner: S, state: &'static State) -> Self {
[INFO] [stdout]    |            ----------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&Runtime: spawn::Spawn` is not satisfied
[INFO] [stdout]   --> src/lib.rs:97:21
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let group = TaskGroup::with_static(&runtime, &STATE);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `spawn::Spawn` is not implemented for `&Runtime`
[INFO] [stdout]    |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]   --> src/spawn.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | pub trait Spawn {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `group::TaskGroup`
[INFO] [stdout]   --> src/group.rs:17:25
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct TaskGroup<S: Spawn, C: Deref<Target = State>> {
[INFO] [stdout]    |                         ^^^^^ required by this bound in `TaskGroup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `spawn` exists for struct `TaskGroup<&Runtime, &State>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/lib.rs:101:23
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 group.spawn(async move {
[INFO] [stdout]     |                 ------^^^^^ method cannot be called on `TaskGroup<&Runtime, &State>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/group.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout] 17  | pub struct TaskGroup<S: Spawn, C: Deref<Target = State>> {
[INFO] [stdout]     | -------------------------------------------------------- method `spawn` not found for this struct
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `&Runtime: spawn::Spawn` was not satisfied
[INFO] [stdout]    --> src/group.rs:40:9
[INFO] [stdout]     |
[INFO] [stdout] 40  | impl<S: Spawn, C: 'static + Deref<Target = State> + Clone + Send> TaskGroup<S, C> {
[INFO] [stdout]     |         ^^^^^ unsatisfied trait bound introduced here             ---------------
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `spawn::Spawn` defines an item `spawn`, perhaps you need to implement it
[INFO] [stdout]    --> src/spawn.rs:3:1
[INFO] [stdout]     |
[INFO] [stdout] 3   | pub trait Spawn {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `done` exists for struct `TaskGroup<&Runtime, &State>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/lib.rs:107:27
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 _ = group.done() => {},
[INFO] [stdout]     |                           ^^^^ method cannot be called on `TaskGroup<&Runtime, &State>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/group.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout] 17  | pub struct TaskGroup<S: Spawn, C: Deref<Target = State>> {
[INFO] [stdout]     | -------------------------------------------------------- method `done` not found for this struct
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `&Runtime: spawn::Spawn` was not satisfied
[INFO] [stdout]    --> src/group.rs:40:9
[INFO] [stdout]     |
[INFO] [stdout] 40  | impl<S: Spawn, C: 'static + Deref<Target = State> + Clone + Send> TaskGroup<S, C> {
[INFO] [stdout]     |         ^^^^^ unsatisfied trait bound introduced here             ---------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&Runtime: spawn::Spawn` is not satisfied
[INFO] [stdout]    --> src/lib.rs:118:44
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let group = TaskGroup::with_static(&runtime, &STATE);
[INFO] [stdout]     |                     ---------------------- ^^^^^^^^ the trait `spawn::Spawn` is not implemented for `&Runtime`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/spawn.rs:3:1
[INFO] [stdout]     |
[INFO] [stdout] 3   | pub trait Spawn {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `group::TaskGroup::<S, &'static State>::with_static`
[INFO] [stdout]    --> src/group.rs:33:9
[INFO] [stdout]     |
[INFO] [stdout] 33  | impl<S: Spawn> TaskGroup<S, &'static State> {
[INFO] [stdout]     |         ^^^^^ required by this bound in `TaskGroup::<S, &State>::with_static`
[INFO] [stdout] 34  |     /// Create a new task group using the provided spawner and state
[INFO] [stdout] 35  |     pub fn with_static(spawner: S, state: &'static State) -> Self {
[INFO] [stdout]     |            ----------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&Runtime: spawn::Spawn` is not satisfied
[INFO] [stdout]    --> src/lib.rs:118:21
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let group = TaskGroup::with_static(&runtime, &STATE);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `spawn::Spawn` is not implemented for `&Runtime`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/spawn.rs:3:1
[INFO] [stdout]     |
[INFO] [stdout] 3   | pub trait Spawn {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `group::TaskGroup`
[INFO] [stdout]    --> src/group.rs:17:25
[INFO] [stdout]     |
[INFO] [stdout] 17  | pub struct TaskGroup<S: Spawn, C: Deref<Target = State>> {
[INFO] [stdout]     |                         ^^^^^ required by this bound in `TaskGroup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `spawn_with_shutdown` exists for struct `TaskGroup<&Runtime, &State>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/lib.rs:124:23
[INFO] [stdout]     |
[INFO] [stdout] 124 |                 group.spawn_with_shutdown(|shutdown| async move {
[INFO] [stdout]     |                 ------^^^^^^^^^^^^^^^^^^^ method cannot be called on `TaskGroup<&Runtime, &State>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/group.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout] 17  | pub struct TaskGroup<S: Spawn, C: Deref<Target = State>> {
[INFO] [stdout]     | -------------------------------------------------------- method `spawn_with_shutdown` not found for this struct
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `&Runtime: spawn::Spawn` was not satisfied
[INFO] [stdout]    --> src/group.rs:40:9
[INFO] [stdout]     |
[INFO] [stdout] 40  | impl<S: Spawn, C: 'static + Deref<Target = State> + Clone + Send> TaskGroup<S, C> {
[INFO] [stdout]     |         ^^^^^ unsatisfied trait bound introduced here             ---------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `shutdown` exists for struct `TaskGroup<&Runtime, &State>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/lib.rs:132:19
[INFO] [stdout]     |
[INFO] [stdout] 132 |             group.shutdown().await;
[INFO] [stdout]     |                   ^^^^^^^^ method cannot be called on `TaskGroup<&Runtime, &State>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/group.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout] 17  | pub struct TaskGroup<S: Spawn, C: Deref<Target = State>> {
[INFO] [stdout]     | -------------------------------------------------------- method `shutdown` not found for this struct
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `&Runtime: spawn::Spawn` was not satisfied
[INFO] [stdout]    --> src/group.rs:40:9
[INFO] [stdout]     |
[INFO] [stdout] 40  | impl<S: Spawn, C: 'static + Deref<Target = State> + Clone + Send> TaskGroup<S, C> {
[INFO] [stdout]     |         ^^^^^ unsatisfied trait bound introduced here             ---------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 15 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `simple-shutdown` (lib test) due to 16 previous errors
[INFO] running `Command { std: "docker" "inspect" "e311d573081f58a1f0f897cd09a10d44207b910b4b55cc15fc088e32733995f0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e311d573081f58a1f0f897cd09a10d44207b910b4b55cc15fc088e32733995f0", kill_on_drop: false }`
[INFO] [stdout] e311d573081f58a1f0f897cd09a10d44207b910b4b55cc15fc088e32733995f0
