[INFO] fetching crate simple-shutdown 0.1.0...
[INFO] testing simple-shutdown-0.1.0 against 1.91.0 for beta-1.92-2
[INFO] extracting crate simple-shutdown 0.1.0 into /workspace/builds/worker-4-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-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate simple-shutdown 0.1.0 on toolchain 1.91.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.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.91.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 12 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.91.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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4a25513b6fd1e2899511a283b6b65d0dd5a916e8ab7cf0b9ae0cc42be9532dff
[INFO] running `Command { std: "docker" "start" "-a" "4a25513b6fd1e2899511a283b6b65d0dd5a916e8ab7cf0b9ae0cc42be9532dff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4a25513b6fd1e2899511a283b6b65d0dd5a916e8ab7cf0b9ae0cc42be9532dff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4a25513b6fd1e2899511a283b6b65d0dd5a916e8ab7cf0b9ae0cc42be9532dff", kill_on_drop: false }`
[INFO] [stdout] 4a25513b6fd1e2899511a283b6b65d0dd5a916e8ab7cf0b9ae0cc42be9532dff
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2a94ec6c60346ca085a2cf8fea0315b9e9895c1cc77aadc12cb6048890e276c7
[INFO] running `Command { std: "docker" "start" "-a" "2a94ec6c60346ca085a2cf8fea0315b9e9895c1cc77aadc12cb6048890e276c7", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling critical-section v1.2.0
[INFO] [stderr]    Compiling simple-shutdown v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.58s
[INFO] running `Command { std: "docker" "inspect" "2a94ec6c60346ca085a2cf8fea0315b9e9895c1cc77aadc12cb6048890e276c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2a94ec6c60346ca085a2cf8fea0315b9e9895c1cc77aadc12cb6048890e276c7", kill_on_drop: false }`
[INFO] [stdout] 2a94ec6c60346ca085a2cf8fea0315b9e9895c1cc77aadc12cb6048890e276c7
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 935f8ca21c4a44af7e25f0ff609e88943b1640d985d206a41a6ac1d8be1a9127
[INFO] running `Command { std: "docker" "start" "-a" "935f8ca21c4a44af7e25f0ff609e88943b1640d985d206a41a6ac1d8be1a9127", kill_on_drop: false }`
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling simple-shutdown v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0433]: failed to resolve: could not find `std` in the list of imported crates
[INFO] [stdout]   --> src/lib.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 | /             tokio::select! {
[INFO] [stdout] 62 | |                 result = rx => match result {
[INFO] [stdout] 63 | |                     Ok(_) => {}
[INFO] [stdout] 64 | |                     Err(_) => panic!("the sender did not spawn"),
[INFO] [stdout] 65 | |                 },
[INFO] [stdout] 66 | |                 _ = tokio::time::sleep(core::time::Duration::from_secs(10)) => panic!()
[INFO] [stdout] 67 | |             }
[INFO] [stdout]    | |_____________^ could not find `std` in the list of imported crates
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::select` which comes from the expansion of the macro `tokio::select` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `std` in the list of imported crates
[INFO] [stdout]   --> src/lib.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 | /             tokio::select! {
[INFO] [stdout] 86 | |                 _ = group.done() => panic!(),
[INFO] [stdout] 87 | |                 _ = tokio::time::sleep(core::time::Duration::from_secs(2)) => {}
[INFO] [stdout] 88 | |             }
[INFO] [stdout]    | |_____________^ could not find `std` in the list of imported crates
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::select` which comes from the expansion of the macro `tokio::select` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `std` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 | /             tokio::select! {
[INFO] [stdout] 107 | |                 _ = group.done() => {},
[INFO] [stdout] 108 | |                 _ = tokio::time::sleep(core::time::Duration::from_secs(2)) => panic!()
[INFO] [stdout] 109 | |             }
[INFO] [stdout]     | |_____________^ could not find `std` in the list of imported crates
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::select` which comes from the expansion of the macro `tokio::select` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `std` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:125:21
[INFO] [stdout]     |
[INFO] [stdout] 125 | /                     tokio::select! {
[INFO] [stdout] 126 | |                         _ = shutdown => {},
[INFO] [stdout] 127 | |                         _ = tokio::time::sleep(core::time::Duration::from_secs(5)) => {let _ = tx.send(());},
[INFO] [stdout] 128 | |                     }
[INFO] [stdout]     | |_____________________^ could not find `std` in the list of imported crates
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::select` which comes from the expansion of the macro `tokio::select` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[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, E0433, 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 19 previous errors
[INFO] running `Command { std: "docker" "inspect" "935f8ca21c4a44af7e25f0ff609e88943b1640d985d206a41a6ac1d8be1a9127", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "935f8ca21c4a44af7e25f0ff609e88943b1640d985d206a41a6ac1d8be1a9127", kill_on_drop: false }`
[INFO] [stdout] 935f8ca21c4a44af7e25f0ff609e88943b1640d985d206a41a6ac1d8be1a9127
