[INFO] fetching crate simple-shutdown 0.1.0...
[INFO] testing simple-shutdown-0.1.0 against 1.95.0 for beta-1.96-2
[INFO] extracting crate simple-shutdown 0.1.0 into /workspace/builds/worker-0-tc1/source
[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-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate simple-shutdown 0.1.0 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 11 packages to latest compatible versions
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8ea22c0fa727cc9c83aad74495ae76139a835d0f29d5025f1ab612fdb1c0950a
[INFO] running `Command { std: "docker" "start" "-a" "8ea22c0fa727cc9c83aad74495ae76139a835d0f29d5025f1ab612fdb1c0950a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8ea22c0fa727cc9c83aad74495ae76139a835d0f29d5025f1ab612fdb1c0950a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8ea22c0fa727cc9c83aad74495ae76139a835d0f29d5025f1ab612fdb1c0950a", kill_on_drop: false }`
[INFO] [stdout] 8ea22c0fa727cc9c83aad74495ae76139a835d0f29d5025f1ab612fdb1c0950a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bc1e2c3d0850e7ff23e8879085e9ecac55377ffa0f8c078ee80626f0d1ab55f0
[INFO] running `Command { std: "docker" "start" "-a" "bc1e2c3d0850e7ff23e8879085e9ecac55377ffa0f8c078ee80626f0d1ab55f0", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling critical-section v1.2.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling simple-shutdown v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.98s
[INFO] running `Command { std: "docker" "inspect" "bc1e2c3d0850e7ff23e8879085e9ecac55377ffa0f8c078ee80626f0d1ab55f0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bc1e2c3d0850e7ff23e8879085e9ecac55377ffa0f8c078ee80626f0d1ab55f0", kill_on_drop: false }`
[INFO] [stdout] bc1e2c3d0850e7ff23e8879085e9ecac55377ffa0f8c078ee80626f0d1ab55f0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 90e8f01baba7597260f60249080b1269df4daea5833871f2127eeeccabcb65d5
[INFO] running `Command { std: "docker" "start" "-a" "90e8f01baba7597260f60249080b1269df4daea5833871f2127eeeccabcb65d5", kill_on_drop: false }`
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling tokio v1.52.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 `group::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 `group::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 `group::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 `group::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 `group::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 `group::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 `group::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 `group::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 `group::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 `group::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 `group::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 `group::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 `group::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 `group::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] 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 15 previous errors
[INFO] running `Command { std: "docker" "inspect" "90e8f01baba7597260f60249080b1269df4daea5833871f2127eeeccabcb65d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "90e8f01baba7597260f60249080b1269df4daea5833871f2127eeeccabcb65d5", kill_on_drop: false }`
[INFO] [stdout] 90e8f01baba7597260f60249080b1269df4daea5833871f2127eeeccabcb65d5
