[INFO] fetching crate simple-shutdown 0.1.0...
[INFO] testing simple-shutdown-0.1.0 against 1.76.0 for beta-1.77-1
[INFO] extracting crate simple-shutdown 0.1.0 into /workspace/builds/worker-0-tc1/source
[INFO] validating manifest of crates.io crate simple-shutdown 0.1.0 on toolchain 1.76.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.76.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-0-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.76.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.76.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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.76.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c238a9a97f4075bd162cf0b99f6c54031ee9856000244ae5dd6586a60525d7cd
[INFO] running `Command { std: "docker" "start" "-a" "c238a9a97f4075bd162cf0b99f6c54031ee9856000244ae5dd6586a60525d7cd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c238a9a97f4075bd162cf0b99f6c54031ee9856000244ae5dd6586a60525d7cd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c238a9a97f4075bd162cf0b99f6c54031ee9856000244ae5dd6586a60525d7cd", kill_on_drop: false }`
[INFO] [stdout] c238a9a97f4075bd162cf0b99f6c54031ee9856000244ae5dd6586a60525d7cd
[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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.76.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 04176bcbe0d710f0a443c4e83f99c60f7d7b37bcaeb3072665f9e215f6e0fe1e
[INFO] running `Command { std: "docker" "start" "-a" "04176bcbe0d710f0a443c4e83f99c60f7d7b37bcaeb3072665f9e215f6e0fe1e", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-task v0.3.30
[INFO] [stderr]    Compiling futures-core 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 1.04s
[INFO] running `Command { std: "docker" "inspect" "04176bcbe0d710f0a443c4e83f99c60f7d7b37bcaeb3072665f9e215f6e0fe1e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "04176bcbe0d710f0a443c4e83f99c60f7d7b37bcaeb3072665f9e215f6e0fe1e", kill_on_drop: false }`
[INFO] [stdout] 04176bcbe0d710f0a443c4e83f99c60f7d7b37bcaeb3072665f9e215f6e0fe1e
[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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.76.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0120124fc77ffb6ec75fb82ccd13b9249752f5eb50125da314f3f629dcdfdc26
[INFO] running `Command { std: "docker" "start" "-a" "0120124fc77ffb6ec75fb82ccd13b9249752f5eb50125da314f3f629dcdfdc26", kill_on_drop: false }`
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling tokio v1.36.0
[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" "0120124fc77ffb6ec75fb82ccd13b9249752f5eb50125da314f3f629dcdfdc26", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0120124fc77ffb6ec75fb82ccd13b9249752f5eb50125da314f3f629dcdfdc26", kill_on_drop: false }`
[INFO] [stdout] 0120124fc77ffb6ec75fb82ccd13b9249752f5eb50125da314f3f629dcdfdc26
[INFO] testing simple-shutdown-0.1.0 against beta-2024-02-10 for beta-1.77-1
[INFO] extracting crate simple-shutdown 0.1.0 into /workspace/builds/worker-0-tc2/source
[INFO] validating manifest of crates.io crate simple-shutdown 0.1.0 on toolchain beta-2024-02-10
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-02-10" "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-0-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-02-10" "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-2024-02-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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-2024-02-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7c887fac12f7410556beec2fc1fcc1a0ad033325e011417f0fa04da1914174f6
[INFO] running `Command { std: "docker" "start" "-a" "7c887fac12f7410556beec2fc1fcc1a0ad033325e011417f0fa04da1914174f6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7c887fac12f7410556beec2fc1fcc1a0ad033325e011417f0fa04da1914174f6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7c887fac12f7410556beec2fc1fcc1a0ad033325e011417f0fa04da1914174f6", kill_on_drop: false }`
[INFO] [stdout] 7c887fac12f7410556beec2fc1fcc1a0ad033325e011417f0fa04da1914174f6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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-2024-02-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1661f578896950a919a88f799b7a961e3c8f50c4cfd182b4fcb0b7e8ce30fb0b
[INFO] running `Command { std: "docker" "start" "-a" "1661f578896950a919a88f799b7a961e3c8f50c4cfd182b4fcb0b7e8ce30fb0b", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-task v0.3.30
[INFO] [stderr]    Compiling futures-core 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 1.01s
[INFO] running `Command { std: "docker" "inspect" "1661f578896950a919a88f799b7a961e3c8f50c4cfd182b4fcb0b7e8ce30fb0b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1661f578896950a919a88f799b7a961e3c8f50c4cfd182b4fcb0b7e8ce30fb0b", kill_on_drop: false }`
[INFO] [stdout] 1661f578896950a919a88f799b7a961e3c8f50c4cfd182b4fcb0b7e8ce30fb0b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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-2024-02-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 16c5a237a3e5a1b3b715faf998b72564c2e05811ec10805a7587661b4b274f69
[INFO] running `Command { std: "docker" "start" "-a" "16c5a237a3e5a1b3b715faf998b72564c2e05811ec10805a7587661b4b274f69", kill_on_drop: false }`
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling tokio v1.36.0
[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" "16c5a237a3e5a1b3b715faf998b72564c2e05811ec10805a7587661b4b274f69", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "16c5a237a3e5a1b3b715faf998b72564c2e05811ec10805a7587661b4b274f69", kill_on_drop: false }`
[INFO] [stdout] 16c5a237a3e5a1b3b715faf998b72564c2e05811ec10805a7587661b4b274f69
