[INFO] fetching crate exit 0.2.0...
[INFO] checking exit-0.2.0 against master#b0696a5160711c068cb1f01b7437db7990d15750 for pr-121848
[INFO] extracting crate exit 0.2.0 into /workspace/builds/worker-5-tc1/source
[INFO] validating manifest of crates.io crate exit 0.2.0 on toolchain b0696a5160711c068cb1f01b7437db7990d15750
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-5-tc1/source/rust-toolchain
[INFO] started tweaking crates.io crate exit 0.2.0
[INFO] finished tweaking crates.io crate exit 0.2.0
[INFO] tweaked toml for crates.io crate exit 0.2.0 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+b0696a5160711c068cb1f01b7437db7990d15750" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4724ce16d5ea3c62e905e03c2837b4c7ff2b9917c223bb6e3e4ebb0dcd0a08f9
[INFO] running `Command { std: "docker" "start" "-a" "4724ce16d5ea3c62e905e03c2837b4c7ff2b9917c223bb6e3e4ebb0dcd0a08f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4724ce16d5ea3c62e905e03c2837b4c7ff2b9917c223bb6e3e4ebb0dcd0a08f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4724ce16d5ea3c62e905e03c2837b4c7ff2b9917c223bb6e3e4ebb0dcd0a08f9", kill_on_drop: false }`
[INFO] [stdout] 4724ce16d5ea3c62e905e03c2837b4c7ff2b9917c223bb6e3e4ebb0dcd0a08f9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 306eda5265b9563cd7868da04cb1875fc4dc5302eb33e4a599224c099342b642
[INFO] running `Command { std: "docker" "start" "-a" "306eda5265b9563cd7868da04cb1875fc4dc5302eb33e4a599224c099342b642", kill_on_drop: false }`
[INFO] [stderr]     Checking exit v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0437]: type `Ok` is not a member of trait `Try`
[INFO] [stdout]   --> src/lib.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     type Ok = ();
[INFO] [stdout]    |     ^^^^^^^^^^^^^ not a member of trait `Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0437]: type `Ok` is not a member of trait `Try`
[INFO] [stdout]   --> src/lib.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     type Ok = ();
[INFO] [stdout]    |     ^^^^^^^^^^^^^ not a member of trait `Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0437]: type `Error` is not a member of trait `Try`
[INFO] [stdout]   --> src/lib.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     type Error = T;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ not a member of trait `Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0437]: type `Error` is not a member of trait `Try`
[INFO] [stdout]   --> src/lib.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     type Error = T;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ not a member of trait `Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `into_result` is not a member of trait `Try`
[INFO] [stdout]   --> src/lib.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | /     fn into_result(self) -> Result<<Self as Try>::Ok, Self::Error> {
[INFO] [stdout] 45 | |         match self {
[INFO] [stdout] 46 | |             Exit::Ok => Ok(()),
[INFO] [stdout] 47 | |             Exit::Err(err) => Err(err)
[INFO] [stdout] 48 | |         }
[INFO] [stdout] 49 | |     }
[INFO] [stdout]    | |_____^ not a member of trait `Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `into_result` is not a member of trait `Try`
[INFO] [stdout]   --> src/lib.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | /     fn into_result(self) -> Result<<Self as Try>::Ok, Self::Error> {
[INFO] [stdout] 45 | |         match self {
[INFO] [stdout] 46 | |             Exit::Ok => Ok(()),
[INFO] [stdout] 47 | |             Exit::Err(err) => Err(err)
[INFO] [stdout] 48 | |         }
[INFO] [stdout] 49 | |     }
[INFO] [stdout]    | |_____^ not a member of trait `Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `from_error` is not a member of trait `Try`
[INFO] [stdout]   --> src/lib.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | /     fn from_error(err: Self::Error) -> Self {
[INFO] [stdout] 52 | |         Exit::Err(err)
[INFO] [stdout] 53 | |     }
[INFO] [stdout]    | |_____^ not a member of trait `Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `from_ok` is not a member of trait `Try`
[INFO] [stdout]   --> src/lib.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | /     fn from_ok(_: <Self as Try>::Ok) -> Self {
[INFO] [stdout] 56 | |         Exit::Ok
[INFO] [stdout] 57 | |     }
[INFO] [stdout]    | |_____^ not a member of trait `Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `from_error` is not a member of trait `Try`
[INFO] [stdout]   --> src/lib.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | /     fn from_error(err: Self::Error) -> Self {
[INFO] [stdout] 52 | |         Exit::Err(err)
[INFO] [stdout] 53 | |     }
[INFO] [stdout]    | |_____^ not a member of trait `Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `from_ok` is not a member of trait `Try`
[INFO] [stdout]   --> src/lib.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | /     fn from_ok(_: <Self as Try>::Ok) -> Self {
[INFO] [stdout] 56 | |         Exit::Ok
[INFO] [stdout] 57 | |     }
[INFO] [stdout]    | |_____^ not a member of trait `Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0576]: cannot find associated type `Ok` in trait `Try`
[INFO] [stdout]   --> src/lib.rs:44:51
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn into_result(self) -> Result<<Self as Try>::Ok, Self::Error> {
[INFO] [stdout]    |                                                   ^^ not found in `Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0576]: cannot find associated type `Ok` in trait `Try`
[INFO] [stdout]   --> src/lib.rs:55:34
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn from_ok(_: <Self as Try>::Ok) -> Self {
[INFO] [stdout]    |                                  ^^ not found in `Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
[INFO] [stdout]  --> src/lib.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(specialization)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
[INFO] [stdout]   = help: consider using `min_specialization` instead, which is more stable and complete
[INFO] [stdout]   = note: `#[warn(incomplete_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0576]: cannot find associated type `Ok` in trait `Try`
[INFO] [stdout]   --> src/lib.rs:44:51
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn into_result(self) -> Result<<Self as Try>::Ok, Self::Error> {
[INFO] [stdout]    |                                                   ^^ not found in `Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0576]: cannot find associated type `Ok` in trait `Try`
[INFO] [stdout]   --> src/lib.rs:55:34
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn from_ok(_: <Self as Try>::Ok) -> Self {
[INFO] [stdout]    |                                  ^^ not found in `Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'try_trait_v2'
[INFO] [stdout]  --> src/lib.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::Try;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #84277 <https://github.com/rust-lang/rust/issues/84277> for more information
[INFO] [stdout]   = help: add `#![feature(try_trait_v2)]` to the crate attributes to enable
[INFO] [stdout]   = note: this compiler was built on 2024-03-01; consider upgrading it if it is out of date
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
[INFO] [stdout]  --> src/lib.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(specialization)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
[INFO] [stdout]   = help: consider using `min_specialization` instead, which is more stable and complete
[INFO] [stdout]   = note: `#[warn(incomplete_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'try_trait_v2'
[INFO] [stdout]   --> src/lib.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<T> Try for Exit<T> {
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #84277 <https://github.com/rust-lang/rust/issues/84277> for more information
[INFO] [stdout]    = help: add `#![feature(try_trait_v2)]` to the crate attributes to enable
[INFO] [stdout]    = note: this compiler was built on 2024-03-01; consider upgrading it if it is out of date
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `termination_trait_lib` has been stable since 1.61.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(termination_trait_lib)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'try_trait_v2'
[INFO] [stdout]  --> src/lib.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::Try;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #84277 <https://github.com/rust-lang/rust/issues/84277> for more information
[INFO] [stdout]   = help: add `#![feature(try_trait_v2)]` to the crate attributes to enable
[INFO] [stdout]   = note: this compiler was built on 2024-03-01; consider upgrading it if it is out of date
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'try_trait_v2'
[INFO] [stdout]   --> src/lib.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<T> Try for Exit<T> {
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #84277 <https://github.com/rust-lang/rust/issues/84277> for more information
[INFO] [stdout]    = help: add `#![feature(try_trait_v2)]` to the crate attributes to enable
[INFO] [stdout]    = note: this compiler was built on 2024-03-01; consider upgrading it if it is out of date
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `try_trait`
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(try_trait)]
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `termination_trait_lib` has been stable since 1.61.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(termination_trait_lib)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `try_trait`
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(try_trait)]
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0220]: associated type `Error` not found for `Self`
[INFO] [stdout]   --> src/lib.rs:44:61
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn into_result(self) -> Result<<Self as Try>::Ok, Self::Error> {
[INFO] [stdout]    |                                                             ^^^^^ associated type `Error` not found
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0220]: associated type `Error` not found for `Self`
[INFO] [stdout]   --> src/lib.rs:51:30
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn from_error(err: Self::Error) -> Self {
[INFO] [stdout]    |                              ^^^^^ associated type `Error` not found
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0220]: associated type `Error` not found for `Self`
[INFO] [stdout]   --> src/lib.rs:44:61
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn into_result(self) -> Result<<Self as Try>::Ok, Self::Error> {
[INFO] [stdout]    |                                                             ^^^^^ associated type `Error` not found
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0220]: associated type `Error` not found for `Self`
[INFO] [stdout]   --> src/lib.rs:51:30
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn from_error(err: Self::Error) -> Self {
[INFO] [stdout]    |                              ^^^^^ associated type `Error` not found
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `report` has an incompatible type for trait
[INFO] [stdout]   --> src/lib.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 18 |     default fn report(self) -> i32 {
[INFO] [stdout]    |                                ^^^
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                expected `ExitCode`, found `i32`
[INFO] [stdout]    |                                help: change the output type to match the trait: `ExitCode`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected signature `fn(Exit<_>) -> ExitCode`
[INFO] [stdout]               found signature `fn(Exit<_>) -> i32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `report` has an incompatible type for trait
[INFO] [stdout]   --> src/lib.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn report(self) -> i32 {
[INFO] [stdout]    |                        ^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        expected `ExitCode`, found `i32`
[INFO] [stdout]    |                        help: change the output type to match the trait: `ExitCode`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected signature `fn(Exit<_>) -> ExitCode`
[INFO] [stdout]               found signature `fn(Exit<_>) -> i32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `report` has an incompatible type for trait
[INFO] [stdout]   --> src/lib.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 18 |     default fn report(self) -> i32 {
[INFO] [stdout]    |                                ^^^
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                expected `ExitCode`, found `i32`
[INFO] [stdout]    |                                help: change the output type to match the trait: `ExitCode`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected signature `fn(Exit<_>) -> ExitCode`
[INFO] [stdout]               found signature `fn(Exit<_>) -> i32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `report` has an incompatible type for trait
[INFO] [stdout]   --> src/lib.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn report(self) -> i32 {
[INFO] [stdout]    |                        ^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        expected `ExitCode`, found `i32`
[INFO] [stdout]    |                        help: change the output type to match the trait: `ExitCode`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected signature `fn(Exit<_>) -> ExitCode`
[INFO] [stdout]               found signature `fn(Exit<_>) -> i32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `Output`, `Residual`, `from_output`, `branch`
[INFO] [stdout]   --> src/lib.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<T> Try for Exit<T> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^ missing `Output`, `Residual`, `from_output`, `branch` in implementation
[INFO] [stdout]    |
[INFO] [stdout]    = help: implement the missing item: `type Output = /* Type */;`
[INFO] [stdout]    = help: implement the missing item: `type Residual = /* Type */;`
[INFO] [stdout]    = help: implement the missing item: `fn from_output(_: <Self as Try>::Output) -> Self { todo!() }`
[INFO] [stdout]    = help: implement the missing item: `fn branch(self) -> ControlFlow<<Self as Try>::Residual, <Self as Try>::Output> { todo!() }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `Output`, `Residual`, `from_output`, `branch`
[INFO] [stdout]   --> src/lib.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<T> Try for Exit<T> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^ missing `Output`, `Residual`, `from_output`, `branch` in implementation
[INFO] [stdout]    |
[INFO] [stdout]    = help: implement the missing item: `type Output = /* Type */;`
[INFO] [stdout]    = help: implement the missing item: `type Residual = /* Type */;`
[INFO] [stdout]    = help: implement the missing item: `fn from_output(_: <Self as Try>::Output) -> Self { todo!() }`
[INFO] [stdout]    = help: implement the missing item: `fn branch(self) -> ControlFlow<<Self as Try>::Residual, <Self as Try>::Output> { todo!() }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 15 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0046, E0053, E0220, E0407, E0437, E0576, E0635, E0658.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0046`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 15 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0046, E0053, E0220, E0407, E0437, E0576, E0635, E0658.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0046`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exit` (lib) due to 16 previous errors; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `exit` (lib test) due to 16 previous errors; 2 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "306eda5265b9563cd7868da04cb1875fc4dc5302eb33e4a599224c099342b642", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "306eda5265b9563cd7868da04cb1875fc4dc5302eb33e4a599224c099342b642", kill_on_drop: false }`
[INFO] [stdout] 306eda5265b9563cd7868da04cb1875fc4dc5302eb33e4a599224c099342b642
[INFO] checking exit-0.2.0 against try#bfe97fcae016881ad333f0ff8cea2cadb9cf136c for pr-121848
[INFO] extracting crate exit 0.2.0 into /workspace/builds/worker-5-tc2/source
[INFO] validating manifest of crates.io crate exit 0.2.0 on toolchain bfe97fcae016881ad333f0ff8cea2cadb9cf136c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bfe97fcae016881ad333f0ff8cea2cadb9cf136c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-5-tc2/source/rust-toolchain
[INFO] started tweaking crates.io crate exit 0.2.0
[INFO] finished tweaking crates.io crate exit 0.2.0
[INFO] tweaked toml for crates.io crate exit 0.2.0 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bfe97fcae016881ad333f0ff8cea2cadb9cf136c" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bfe97fcae016881ad333f0ff8cea2cadb9cf136c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+bfe97fcae016881ad333f0ff8cea2cadb9cf136c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e8dde6015fff9a11063de728b9ab2dc19b1698cc8545d12ca0639c2f30c85782
[INFO] running `Command { std: "docker" "start" "-a" "e8dde6015fff9a11063de728b9ab2dc19b1698cc8545d12ca0639c2f30c85782", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e8dde6015fff9a11063de728b9ab2dc19b1698cc8545d12ca0639c2f30c85782", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e8dde6015fff9a11063de728b9ab2dc19b1698cc8545d12ca0639c2f30c85782", kill_on_drop: false }`
[INFO] [stdout] e8dde6015fff9a11063de728b9ab2dc19b1698cc8545d12ca0639c2f30c85782
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+bfe97fcae016881ad333f0ff8cea2cadb9cf136c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4eabf01a57def4291b93be4ac3d7bf997dce2e805d8a75fe424faf8f05053c3e
[INFO] running `Command { std: "docker" "start" "-a" "4eabf01a57def4291b93be4ac3d7bf997dce2e805d8a75fe424faf8f05053c3e", kill_on_drop: false }`
[INFO] [stderr]     Checking exit v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0437]: type `Ok` is not a member of trait `Try`
[INFO] [stdout]   --> src/lib.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     type Ok = ();
[INFO] [stdout]    |     ^^^^^^^^^^^^^ not a member of trait `Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0437]: type `Error` is not a member of trait `Try`
[INFO] [stdout]   --> src/lib.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     type Error = T;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ not a member of trait `Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `into_result` is not a member of trait `Try`
[INFO] [stdout]   --> src/lib.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | /     fn into_result(self) -> Result<<Self as Try>::Ok, Self::Error> {
[INFO] [stdout] 45 | |         match self {
[INFO] [stdout] 46 | |             Exit::Ok => Ok(()),
[INFO] [stdout] 47 | |             Exit::Err(err) => Err(err)
[INFO] [stdout] 48 | |         }
[INFO] [stdout] 49 | |     }
[INFO] [stdout]    | |_____^ not a member of trait `Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0437]: type `Ok` is not a member of trait `Try`
[INFO] [stdout]   --> src/lib.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     type Ok = ();
[INFO] [stdout]    |     ^^^^^^^^^^^^^ not a member of trait `Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0437]: type `Error` is not a member of trait `Try`
[INFO] [stdout]   --> src/lib.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     type Error = T;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ not a member of trait `Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `into_result` is not a member of trait `Try`
[INFO] [stdout]   --> src/lib.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | /     fn into_result(self) -> Result<<Self as Try>::Ok, Self::Error> {
[INFO] [stdout] 45 | |         match self {
[INFO] [stdout] 46 | |             Exit::Ok => Ok(()),
[INFO] [stdout] 47 | |             Exit::Err(err) => Err(err)
[INFO] [stdout] 48 | |         }
[INFO] [stdout] 49 | |     }
[INFO] [stdout]    | |_____^ not a member of trait `Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `from_error` is not a member of trait `Try`
[INFO] [stdout]   --> src/lib.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | /     fn from_error(err: Self::Error) -> Self {
[INFO] [stdout] 52 | |         Exit::Err(err)
[INFO] [stdout] 53 | |     }
[INFO] [stdout]    | |_____^ not a member of trait `Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `from_ok` is not a member of trait `Try`
[INFO] [stdout]   --> src/lib.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | /     fn from_ok(_: <Self as Try>::Ok) -> Self {
[INFO] [stdout] 56 | |         Exit::Ok
[INFO] [stdout] 57 | |     }
[INFO] [stdout]    | |_____^ not a member of trait `Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0576]: cannot find associated type `Ok` in trait `Try`
[INFO] [stdout]   --> src/lib.rs:44:51
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn into_result(self) -> Result<<Self as Try>::Ok, Self::Error> {
[INFO] [stdout]    |                                                   ^^ not found in `Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0576]: cannot find associated type `Ok` in trait `Try`
[INFO] [stdout]   --> src/lib.rs:55:34
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn from_ok(_: <Self as Try>::Ok) -> Self {
[INFO] [stdout]    |                                  ^^ not found in `Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `from_error` is not a member of trait `Try`
[INFO] [stdout]   --> src/lib.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | /     fn from_error(err: Self::Error) -> Self {
[INFO] [stdout] 52 | |         Exit::Err(err)
[INFO] [stdout] 53 | |     }
[INFO] [stdout]    | |_____^ not a member of trait `Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
[INFO] [stdout]  --> src/lib.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(specialization)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
[INFO] [stdout]   = help: consider using `min_specialization` instead, which is more stable and complete
[INFO] [stdout]   = note: `#[warn(incomplete_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `from_ok` is not a member of trait `Try`
[INFO] [stdout]   --> src/lib.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | /     fn from_ok(_: <Self as Try>::Ok) -> Self {
[INFO] [stdout] 56 | |         Exit::Ok
[INFO] [stdout] 57 | |     }
[INFO] [stdout]    | |_____^ not a member of trait `Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'try_trait_v2'
[INFO] [stdout]  --> src/lib.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::Try;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #84277 <https://github.com/rust-lang/rust/issues/84277> for more information
[INFO] [stdout]   = help: add `#![feature(try_trait_v2)]` to the crate attributes to enable
[INFO] [stdout]   = note: this compiler was built on 2024-03-01; consider upgrading it if it is out of date
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'try_trait_v2'
[INFO] [stdout]   --> src/lib.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<T> Try for Exit<T> {
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #84277 <https://github.com/rust-lang/rust/issues/84277> for more information
[INFO] [stdout]    = help: add `#![feature(try_trait_v2)]` to the crate attributes to enable
[INFO] [stdout]    = note: this compiler was built on 2024-03-01; consider upgrading it if it is out of date
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0576]: cannot find associated type `Ok` in trait `Try`
[INFO] [stdout]   --> src/lib.rs:44:51
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn into_result(self) -> Result<<Self as Try>::Ok, Self::Error> {
[INFO] [stdout]    |                                                   ^^ not found in `Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0576]: cannot find associated type `Ok` in trait `Try`
[INFO] [stdout]   --> src/lib.rs:55:34
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn from_ok(_: <Self as Try>::Ok) -> Self {
[INFO] [stdout]    |                                  ^^ not found in `Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `termination_trait_lib` has been stable since 1.61.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(termination_trait_lib)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
[INFO] [stdout]  --> src/lib.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(specialization)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
[INFO] [stdout]   = help: consider using `min_specialization` instead, which is more stable and complete
[INFO] [stdout]   = note: `#[warn(incomplete_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `try_trait`
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(try_trait)]
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'try_trait_v2'
[INFO] [stdout]  --> src/lib.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::Try;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #84277 <https://github.com/rust-lang/rust/issues/84277> for more information
[INFO] [stdout]   = help: add `#![feature(try_trait_v2)]` to the crate attributes to enable
[INFO] [stdout]   = note: this compiler was built on 2024-03-01; consider upgrading it if it is out of date
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'try_trait_v2'
[INFO] [stdout]   --> src/lib.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<T> Try for Exit<T> {
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #84277 <https://github.com/rust-lang/rust/issues/84277> for more information
[INFO] [stdout]    = help: add `#![feature(try_trait_v2)]` to the crate attributes to enable
[INFO] [stdout]    = note: this compiler was built on 2024-03-01; consider upgrading it if it is out of date
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `termination_trait_lib` has been stable since 1.61.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(termination_trait_lib)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `try_trait`
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(try_trait)]
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0220]: associated type `Error` not found for `Self`
[INFO] [stdout]   --> src/lib.rs:44:61
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn into_result(self) -> Result<<Self as Try>::Ok, Self::Error> {
[INFO] [stdout]    |                                                             ^^^^^ associated type `Error` not found
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0220]: associated type `Error` not found for `Self`
[INFO] [stdout]   --> src/lib.rs:51:30
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn from_error(err: Self::Error) -> Self {
[INFO] [stdout]    |                              ^^^^^ associated type `Error` not found
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0220]: associated type `Error` not found for `Self`
[INFO] [stdout]   --> src/lib.rs:44:61
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn into_result(self) -> Result<<Self as Try>::Ok, Self::Error> {
[INFO] [stdout]    |                                                             ^^^^^ associated type `Error` not found
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0220]: associated type `Error` not found for `Self`
[INFO] [stdout]   --> src/lib.rs:51:30
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn from_error(err: Self::Error) -> Self {
[INFO] [stdout]    |                              ^^^^^ associated type `Error` not found
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `report` has an incompatible type for trait
[INFO] [stdout]   --> src/lib.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 18 |     default fn report(self) -> i32 {
[INFO] [stdout]    |                                ^^^
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                expected `ExitCode`, found `i32`
[INFO] [stdout]    |                                help: change the output type to match the trait: `ExitCode`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected signature `fn(Exit<_>) -> ExitCode`
[INFO] [stdout]               found signature `fn(Exit<_>) -> i32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `report` has an incompatible type for trait
[INFO] [stdout]   --> src/lib.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn report(self) -> i32 {
[INFO] [stdout]    |                        ^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        expected `ExitCode`, found `i32`
[INFO] [stdout]    |                        help: change the output type to match the trait: `ExitCode`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected signature `fn(Exit<_>) -> ExitCode`
[INFO] [stdout]               found signature `fn(Exit<_>) -> i32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `Output`, `Residual`, `from_output`, `branch`
[INFO] [stdout]   --> src/lib.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<T> Try for Exit<T> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^ missing `Output`, `Residual`, `from_output`, `branch` in implementation
[INFO] [stdout]    |
[INFO] [stdout]    = help: implement the missing item: `type Output = /* Type */;`
[INFO] [stdout]    = help: implement the missing item: `type Residual = /* Type */;`
[INFO] [stdout]    = help: implement the missing item: `fn from_output(_: <Self as Try>::Output) -> Self { todo!() }`
[INFO] [stdout]    = help: implement the missing item: `fn branch(self) -> ControlFlow<<Self as Try>::Residual, <Self as Try>::Output> { todo!() }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `report` has an incompatible type for trait
[INFO] [stdout]   --> src/lib.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 18 |     default fn report(self) -> i32 {
[INFO] [stdout]    |                                ^^^
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                expected `ExitCode`, found `i32`
[INFO] [stdout]    |                                help: change the output type to match the trait: `ExitCode`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected signature `fn(Exit<_>) -> ExitCode`
[INFO] [stdout]               found signature `fn(Exit<_>) -> i32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `report` has an incompatible type for trait
[INFO] [stdout]   --> src/lib.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn report(self) -> i32 {
[INFO] [stdout]    |                        ^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        expected `ExitCode`, found `i32`
[INFO] [stdout]    |                        help: change the output type to match the trait: `ExitCode`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected signature `fn(Exit<_>) -> ExitCode`
[INFO] [stdout]               found signature `fn(Exit<_>) -> i32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `Output`, `Residual`, `from_output`, `branch`
[INFO] [stdout]   --> src/lib.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<T> Try for Exit<T> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^ missing `Output`, `Residual`, `from_output`, `branch` in implementation
[INFO] [stdout]    |
[INFO] [stdout]    = help: implement the missing item: `type Output = /* Type */;`
[INFO] [stdout]    = help: implement the missing item: `type Residual = /* Type */;`
[INFO] [stdout]    = help: implement the missing item: `fn from_output(_: <Self as Try>::Output) -> Self { todo!() }`
[INFO] [stdout]    = help: implement the missing item: `fn branch(self) -> ControlFlow<<Self as Try>::Residual, <Self as Try>::Output> { todo!() }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 15 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0046, E0053, E0220, E0407, E0437, E0576, E0635, E0658.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0046`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 15 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0046, E0053, E0220, E0407, E0437, E0576, E0635, E0658.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0046`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exit` (lib) due to 16 previous errors; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `exit` (lib test) due to 16 previous errors; 2 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "4eabf01a57def4291b93be4ac3d7bf997dce2e805d8a75fe424faf8f05053c3e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4eabf01a57def4291b93be4ac3d7bf997dce2e805d8a75fe424faf8f05053c3e", kill_on_drop: false }`
[INFO] [stdout] 4eabf01a57def4291b93be4ac3d7bf997dce2e805d8a75fe424faf8f05053c3e
