[INFO] fetching crate workspace 0.4.2...
[INFO] testing workspace-0.4.2 against 1.99.0-beta.8 for beta-1.100-2
[INFO] extracting crate workspace 0.4.2 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate workspace 0.4.2
[INFO] finished tweaking crates.io crate workspace 0.4.2
[INFO] tweaked toml for crates.io crate workspace 0.4.2 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate workspace 0.4.2 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "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.99.0-beta.8" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 60 packages to highest compatible versions
[INFO] [stderr]       Adding clap v2.34.0 (available: v4.6.7)
[INFO] [stderr]       Adding colored v1.9.4 (available: v3.1.1)
[INFO] [stderr]       Adding dirs v1.0.5 (available: v7.0.0)
[INFO] [stderr]       Adding serde_yaml v0.8.26 (available: v0.9.34+deprecated)
[INFO] [stderr]       Adding term_grid v0.1.7 (available: v0.2.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded term_grid v0.1.7
[INFO] [stderr]   Downloaded linked-hash-map v0.5.6
[INFO] [stderr]   Downloaded serde_yaml v0.8.26
[INFO] [stderr]   Downloaded yaml-rust v0.4.5
[INFO] [stderr]   Downloaded redox_users v0.3.5
[INFO] [stderr]   Downloaded rust-argon2 v0.8.3
[INFO] [stderr]   Downloaded is-terminal v0.4.17
[INFO] [stderr]   Downloaded blake2b_simd v0.5.11
[INFO] [stderr]   Downloaded colored v1.9.4
[INFO] [stderr]   Downloaded dirs v1.0.5
[INFO] [stderr]   Downloaded arrayvec v0.5.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6422f2bd71a196a695ec8270e02e8cbe9e72728dfd3d546da736bc260ac0fe46
[INFO] running `Command { std: "docker" "start" "6422f2bd71a196a695ec8270e02e8cbe9e72728dfd3d546da736bc260ac0fe46", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6422f2bd71a196a695ec8270e02e8cbe9e72728dfd3d546da736bc260ac0fe46", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6422f2bd71a196a695ec8270e02e8cbe9e72728dfd3d546da736bc260ac0fe46" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6422f2bd71a196a695ec8270e02e8cbe9e72728dfd3d546da736bc260ac0fe46", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6422f2bd71a196a695ec8270e02e8cbe9e72728dfd3d546da736bc260ac0fe46" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling gimli v0.32.3
[INFO] [stderr]    Compiling linked-hash-map v0.5.6
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling rustc-demangle v0.1.28
[INFO] [stderr]    Compiling hashbrown v0.12.3
[INFO] [stderr]    Compiling yaml-rust v0.4.5
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling syn v3.0.6
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling lazy_static v1.5.1
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling colored v1.9.4
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling term_grid v0.1.7
[INFO] [stderr]    Compiling dirs v1.0.5
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling addr2line v0.25.1
[INFO] [stderr]    Compiling serde_yaml v0.8.26
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling backtrace v0.3.76
[INFO] [stderr]    Compiling failure v0.1.8
[INFO] [stderr]    Compiling workspace v0.4.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: derive helper attribute is used before it is introduced
[INFO] [stdout]   --> src/workspace.rs:15:3
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[serde(deny_unknown_fields)]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 16 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |          --------- the attribute is introduced here
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79202 <https://github.com/rust-lang/rust/issues/79202>
[INFO] [stdout]    = note: `#[warn(legacy_derive_helpers)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:10:77
[INFO] [stdout]     |
[INFO] [stdout]  10 |         eprintln!(concat!("{} ", $message), "error:".red().bold()$(, $arg)*);
[INFO] [stdout]     |                                                                             ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/workspace.rs:105:17
[INFO] [stdout]     |
[INFO] [stdout] 105 |                 error!("Please set $BROWSER to open browser tabs")
[INFO] [stdout]     |                 -------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `error`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/macros.rs:29:60
[INFO] [stdout]    |
[INFO] [stdout] 29 |           eprintln!(concat!("         ", $message)$(, $arg)*);
[INFO] [stdout]    |                                                              ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/main.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | /         indent_warn!(
[INFO] [stdout] 35 | |             "To set `ws` up in your shell, see the README.md or run `workspace shell --help`"
[INFO] [stdout] 36 | |         )
[INFO] [stdout]    | |_________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `indent_warn`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `indent_warn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/workspace.rs:242:10
[INFO] [stdout]     |
[INFO] [stdout] 242 | #[derive(Fail, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Fail` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Error`
[INFO] [stdout] 243 | pub enum Error {
[INFO] [stdout]     |          ----- `Error` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/workspace.rs:242:10
[INFO] [stdout]     |
[INFO] [stdout] 242 | #[derive(Fail, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Display` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_Error`
[INFO] [stdout] 243 | pub enum Error {
[INFO] [stdout]     |          ----- `Error` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 37.52s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: workspace v0.4.2 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "6422f2bd71a196a695ec8270e02e8cbe9e72728dfd3d546da736bc260ac0fe46", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6422f2bd71a196a695ec8270e02e8cbe9e72728dfd3d546da736bc260ac0fe46" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling workspace v0.4.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: derive helper attribute is used before it is introduced
[INFO] [stdout]   --> src/workspace.rs:15:3
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[serde(deny_unknown_fields)]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 16 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |          --------- the attribute is introduced here
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79202 <https://github.com/rust-lang/rust/issues/79202>
[INFO] [stdout]    = note: `#[warn(legacy_derive_helpers)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:10:77
[INFO] [stdout]     |
[INFO] [stdout]  10 |         eprintln!(concat!("{} ", $message), "error:".red().bold()$(, $arg)*);
[INFO] [stdout]     |                                                                             ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/workspace.rs:105:17
[INFO] [stdout]     |
[INFO] [stdout] 105 |                 error!("Please set $BROWSER to open browser tabs")
[INFO] [stdout]     |                 -------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `error`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/macros.rs:29:60
[INFO] [stdout]    |
[INFO] [stdout] 29 |           eprintln!(concat!("         ", $message)$(, $arg)*);
[INFO] [stdout]    |                                                              ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/main.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | /         indent_warn!(
[INFO] [stdout] 35 | |             "To set `ws` up in your shell, see the README.md or run `workspace shell --help`"
[INFO] [stdout] 36 | |         )
[INFO] [stdout]    | |_________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `indent_warn`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `indent_warn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/workspace.rs:242:10
[INFO] [stdout]     |
[INFO] [stdout] 242 | #[derive(Fail, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Fail` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Error`
[INFO] [stdout] 243 | pub enum Error {
[INFO] [stdout]     |          ----- `Error` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/workspace.rs:242:10
[INFO] [stdout]     |
[INFO] [stdout] 242 | #[derive(Fail, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Display` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_Error`
[INFO] [stdout] 243 | pub enum Error {
[INFO] [stdout]     |          ----- `Error` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.49s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: workspace v0.4.2 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "6422f2bd71a196a695ec8270e02e8cbe9e72728dfd3d546da736bc260ac0fe46", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6422f2bd71a196a695ec8270e02e8cbe9e72728dfd3d546da736bc260ac0fe46" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: derive helper attribute is used before it is introduced
[INFO] [stderr]   --> src/workspace.rs:15:3
[INFO] [stderr]    |
[INFO] [stderr] 15 | #[serde(deny_unknown_fields)]
[INFO] [stderr]    |   ^^^^^
[INFO] [stderr] 16 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stderr]    |          --------- the attribute is introduced here
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]    = note: for more information, see issue #79202 <https://github.com/rust-lang/rust/issues/79202>
[INFO] [stderr]    = note: `#[warn(legacy_derive_helpers)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/macros.rs:10:77
[INFO] [stderr]     |
[INFO] [stderr]  10 |         eprintln!(concat!("{} ", $message), "error:".red().bold()$(, $arg)*);
[INFO] [stderr]     |                                                                             ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/workspace.rs:105:17
[INFO] [stderr]     |
[INFO] [stderr] 105 |                 error!("Please set $BROWSER to open browser tabs")
[INFO] [stderr]     |                 -------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `error`
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: `#[warn(semicolon_in_expressions_from_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stderr]     = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]   --> src/macros.rs:29:60
[INFO] [stderr]    |
[INFO] [stderr] 29 |           eprintln!(concat!("         ", $message)$(, $arg)*);
[INFO] [stderr]    |                                                              ^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/main.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 34 | /         indent_warn!(
[INFO] [stderr] 35 | |             "To set `ws` up in your shell, see the README.md or run `workspace shell --help`"
[INFO] [stderr] 36 | |         )
[INFO] [stderr]    | |_________- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `indent_warn`
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]    = note: this warning originates in the macro `indent_warn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/workspace.rs:242:10
[INFO] [stderr]     |
[INFO] [stderr] 242 | #[derive(Fail, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `Fail` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Error`
[INFO] [stderr] 243 | pub enum Error {
[INFO] [stderr]     |          ----- `Error` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/workspace.rs:242:10
[INFO] [stderr]     |
[INFO] [stderr] 242 | #[derive(Fail, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `Display` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_Error`
[INFO] [stderr] 243 | pub enum Error {
[INFO] [stderr]     |          ----- `Error` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `workspace` (bin "workspace" test) generated 5 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: workspace v0.4.2 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/workspace-f6240dd799fe68c4)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "6422f2bd71a196a695ec8270e02e8cbe9e72728dfd3d546da736bc260ac0fe46", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6422f2bd71a196a695ec8270e02e8cbe9e72728dfd3d546da736bc260ac0fe46", kill_on_drop: false }`
[INFO] [stdout] 6422f2bd71a196a695ec8270e02e8cbe9e72728dfd3d546da736bc260ac0fe46
