[INFO] fetching crate taskit-engine 0.9.0...
[INFO] testing taskit-engine-0.9.0 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate taskit-engine 0.9.0 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate taskit-engine 0.9.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate taskit-engine 0.9.0
[INFO] tweaked toml for crates.io crate taskit-engine 0.9.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate taskit-engine 0.9.0 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate taskit-engine 0.9.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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] ff6bc856d5a9b7ab60c29fabc9102b1f974367ece44d1bb872fa04d45a8591f8
[INFO] running `Command { std: "docker" "start" "ff6bc856d5a9b7ab60c29fabc9102b1f974367ece44d1bb872fa04d45a8591f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ff6bc856d5a9b7ab60c29fabc9102b1f974367ece44d1bb872fa04d45a8591f8", 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" "ff6bc856d5a9b7ab60c29fabc9102b1f974367ece44d1bb872fa04d45a8591f8" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ff6bc856d5a9b7ab60c29fabc9102b1f974367ece44d1bb872fa04d45a8591f8", 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" "ff6bc856d5a9b7ab60c29fabc9102b1f974367ece44d1bb872fa04d45a8591f8" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling owo-colors v4.3.0
[INFO] [stderr]    Compiling rustc-demangle v0.1.28
[INFO] [stderr]    Compiling syn v3.0.4
[INFO] [stderr]    Compiling is_ci v1.2.0
[INFO] [stderr]    Compiling miette-derive v7.6.0
[INFO] [stderr]    Compiling clap_builder v4.6.6
[INFO] [stderr]    Compiling textwrap v0.16.2
[INFO] [stderr]    Compiling supports-unicode v3.0.0
[INFO] [stderr]    Compiling supports-hyperlinks v3.2.0
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling camino v1.2.5
[INFO] [stderr]    Compiling supports-color v3.0.2
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling xshell-macros v0.2.7
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling xshell v0.2.7
[INFO] [stderr]    Compiling terminal_size v0.4.4
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]    Compiling backtrace v0.3.76
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling backtrace-ext v0.2.1
[INFO] [stderr]    Compiling clap v4.6.6
[INFO] [stderr]    Compiling miette v7.6.0
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling taskit-types v0.9.0
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling cargo-platform v0.1.9
[INFO] [stderr]    Compiling cargo_metadata v0.19.2
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling taskit-core v0.9.0
[INFO] [stderr]    Compiling taskit-output v0.9.0
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling taskit-engine v0.9.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/dev_setup.rs:142:21
[INFO] [stdout]     |
[INFO] [stdout] 142 |           Ok(true) => taskit_output::taskit_ok!(
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 143 | |             "{:<COL_TOOL$} OK      cache integrity",
[INFO] [stdout] 144 | |             "target/taskit/cache"
[INFO] [stdout] 145 | |         ),
[INFO] [stdout]     | |_________^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `taskit_output::taskit_ok` (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/dev_setup.rs:146:22
[INFO] [stdout]     |
[INFO] [stdout] 146 |           Ok(false) => taskit_output::taskit_progress!(
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 147 | |             "{:<COL_TOOL$} DRIFT   run any taskit command to rebuild",
[INFO] [stdout] 148 | |             "target/taskit/cache"
[INFO] [stdout] 149 | |         ),
[INFO] [stdout]     | |_________^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `taskit_output::taskit_progress` (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/dev_setup.rs:150:19
[INFO] [stdout]     |
[INFO] [stdout] 150 |         Err(e) => taskit_output::taskit_err!("{:<COL_TOOL$} ERROR   {e}", "target/taskit/cache"),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `taskit_output::taskit_err` (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/health.rs:302:22
[INFO] [stdout]     |
[INFO] [stdout] 302 |         Some(pct) => taskit_output::taskit_progress!("Coverage:    {pct:.1}%"),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `taskit_output::taskit_progress` (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/health.rs:303:17
[INFO] [stdout]     |
[INFO] [stdout] 303 |         None => taskit_output::taskit_progress!("Coverage:    not collected (use --with-coverage)"),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `taskit_output::taskit_progress` (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/health.rs:306:21
[INFO] [stdout]     |
[INFO] [stdout] 306 |         Some(ms) => taskit_output::taskit_progress!("CI duration: {ms:.0}ms"),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `taskit_output::taskit_progress` (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/health.rs:307:17
[INFO] [stdout]     |
[INFO] [stdout] 307 |         None => taskit_output::taskit_progress!("CI duration: no telemetry yet (run `taskit ci`)"),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `taskit_output::taskit_progress` (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/protocol/drift.rs:190:25
[INFO] [stdout]     |
[INFO] [stdout] 190 |             Ok(true) => taskit_output::taskit_ok!("protocol-drift: auto-remediated lockfile"),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `taskit_output::taskit_ok` (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/protocol/drift.rs:192:23
[INFO] [stdout]     |
[INFO] [stdout] 192 |             Err(e) => taskit_output::taskit_err!("protocol-drift: watch iteration failed: {e}"),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `taskit_output::taskit_err` (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 25.30s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: taskit-engine v0.9.0 (/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 3`
[INFO] running `Command { std: "docker" "inspect" "ff6bc856d5a9b7ab60c29fabc9102b1f974367ece44d1bb872fa04d45a8591f8", 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" "ff6bc856d5a9b7ab60c29fabc9102b1f974367ece44d1bb872fa04d45a8591f8" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling backtrace v0.3.76
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling fastrand v2.5.0
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand v0.9.5
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling backtrace-ext v0.2.1
[INFO] [stderr]    Compiling terminal_size v0.4.4
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling miette-derive v7.6.0
[INFO] [stderr]    Compiling taskit-macros v0.9.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling miette v7.6.0
[INFO] [stderr]    Compiling taskit-types v0.9.0
[INFO] [stderr]    Compiling taskit-core v0.9.0
[INFO] [stderr]    Compiling taskit-output v0.9.0
[INFO] [stderr]    Compiling taskit-testing v0.9.0
[INFO] [stderr]    Compiling taskit-engine v0.9.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/dev_setup.rs:142:21
[INFO] [stdout]     |
[INFO] [stdout] 142 |           Ok(true) => taskit_output::taskit_ok!(
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 143 | |             "{:<COL_TOOL$} OK      cache integrity",
[INFO] [stdout] 144 | |             "target/taskit/cache"
[INFO] [stdout] 145 | |         ),
[INFO] [stdout]     | |_________^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `taskit_output::taskit_ok` (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/dev_setup.rs:146:22
[INFO] [stdout]     |
[INFO] [stdout] 146 |           Ok(false) => taskit_output::taskit_progress!(
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 147 | |             "{:<COL_TOOL$} DRIFT   run any taskit command to rebuild",
[INFO] [stdout] 148 | |             "target/taskit/cache"
[INFO] [stdout] 149 | |         ),
[INFO] [stdout]     | |_________^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `taskit_output::taskit_progress` (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/dev_setup.rs:150:19
[INFO] [stdout]     |
[INFO] [stdout] 150 |         Err(e) => taskit_output::taskit_err!("{:<COL_TOOL$} ERROR   {e}", "target/taskit/cache"),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `taskit_output::taskit_err` (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/health.rs:302:22
[INFO] [stdout]     |
[INFO] [stdout] 302 |         Some(pct) => taskit_output::taskit_progress!("Coverage:    {pct:.1}%"),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `taskit_output::taskit_progress` (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/health.rs:303:17
[INFO] [stdout]     |
[INFO] [stdout] 303 |         None => taskit_output::taskit_progress!("Coverage:    not collected (use --with-coverage)"),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `taskit_output::taskit_progress` (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/health.rs:306:21
[INFO] [stdout]     |
[INFO] [stdout] 306 |         Some(ms) => taskit_output::taskit_progress!("CI duration: {ms:.0}ms"),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `taskit_output::taskit_progress` (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/health.rs:307:17
[INFO] [stdout]     |
[INFO] [stdout] 307 |         None => taskit_output::taskit_progress!("CI duration: no telemetry yet (run `taskit ci`)"),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `taskit_output::taskit_progress` (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/protocol/drift.rs:190:25
[INFO] [stdout]     |
[INFO] [stdout] 190 |             Ok(true) => taskit_output::taskit_ok!("protocol-drift: auto-remediated lockfile"),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `taskit_output::taskit_ok` (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/protocol/drift.rs:192:23
[INFO] [stdout]     |
[INFO] [stdout] 192 |             Err(e) => taskit_output::taskit_err!("protocol-drift: watch iteration failed: {e}"),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `taskit_output::taskit_err` (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/dev_setup.rs:142:21
[INFO] [stdout]     |
[INFO] [stdout] 142 |           Ok(true) => taskit_output::taskit_ok!(
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 143 | |             "{:<COL_TOOL$} OK      cache integrity",
[INFO] [stdout] 144 | |             "target/taskit/cache"
[INFO] [stdout] 145 | |         ),
[INFO] [stdout]     | |_________^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `taskit_output::taskit_ok` (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/dev_setup.rs:146:22
[INFO] [stdout]     |
[INFO] [stdout] 146 |           Ok(false) => taskit_output::taskit_progress!(
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 147 | |             "{:<COL_TOOL$} DRIFT   run any taskit command to rebuild",
[INFO] [stdout] 148 | |             "target/taskit/cache"
[INFO] [stdout] 149 | |         ),
[INFO] [stdout]     | |_________^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `taskit_output::taskit_progress` (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/dev_setup.rs:150:19
[INFO] [stdout]     |
[INFO] [stdout] 150 |         Err(e) => taskit_output::taskit_err!("{:<COL_TOOL$} ERROR   {e}", "target/taskit/cache"),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `taskit_output::taskit_err` (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/health.rs:302:22
[INFO] [stdout]     |
[INFO] [stdout] 302 |         Some(pct) => taskit_output::taskit_progress!("Coverage:    {pct:.1}%"),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `taskit_output::taskit_progress` (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/health.rs:303:17
[INFO] [stdout]     |
[INFO] [stdout] 303 |         None => taskit_output::taskit_progress!("Coverage:    not collected (use --with-coverage)"),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `taskit_output::taskit_progress` (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/health.rs:306:21
[INFO] [stdout]     |
[INFO] [stdout] 306 |         Some(ms) => taskit_output::taskit_progress!("CI duration: {ms:.0}ms"),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `taskit_output::taskit_progress` (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/health.rs:307:17
[INFO] [stdout]     |
[INFO] [stdout] 307 |         None => taskit_output::taskit_progress!("CI duration: no telemetry yet (run `taskit ci`)"),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `taskit_output::taskit_progress` (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/protocol/drift.rs:190:25
[INFO] [stdout]     |
[INFO] [stdout] 190 |             Ok(true) => taskit_output::taskit_ok!("protocol-drift: auto-remediated lockfile"),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `taskit_output::taskit_ok` (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/protocol/drift.rs:192:23
[INFO] [stdout]     |
[INFO] [stdout] 192 |             Err(e) => taskit_output::taskit_err!("protocol-drift: watch iteration failed: {e}"),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `taskit_output::taskit_err` (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 21.81s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: taskit-engine v0.9.0 (/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 4`
[INFO] running `Command { std: "docker" "inspect" "ff6bc856d5a9b7ab60c29fabc9102b1f974367ece44d1bb872fa04d45a8591f8", 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" "ff6bc856d5a9b7ab60c29fabc9102b1f974367ece44d1bb872fa04d45a8591f8" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/dev_setup.rs:142:21
[INFO] [stderr]     |
[INFO] [stderr] 142 |           Ok(true) => taskit_output::taskit_ok!(
[INFO] [stderr]     |  _____________________^
[INFO] [stderr] 143 | |             "{:<COL_TOOL$} OK      cache integrity",
[INFO] [stderr] 144 | |             "target/taskit/cache"
[INFO] [stderr] 145 | |         ),
[INFO] [stderr]     | |_________^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stderr]     = note: this warning originates in the macro `taskit_output::taskit_ok` (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/dev_setup.rs:146:22
[INFO] [stderr]     |
[INFO] [stderr] 146 |           Ok(false) => taskit_output::taskit_progress!(
[INFO] [stderr]     |  ______________________^
[INFO] [stderr] 147 | |             "{:<COL_TOOL$} DRIFT   run any taskit command to rebuild",
[INFO] [stderr] 148 | |             "target/taskit/cache"
[INFO] [stderr] 149 | |         ),
[INFO] [stderr]     | |_________^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `taskit_output::taskit_progress` (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/dev_setup.rs:150:19
[INFO] [stderr]     |
[INFO] [stderr] 150 |         Err(e) => taskit_output::taskit_err!("{:<COL_TOOL$} ERROR   {e}", "target/taskit/cache"),
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `taskit_output::taskit_err` (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/health.rs:302:22
[INFO] [stderr]     |
[INFO] [stderr] 302 |         Some(pct) => taskit_output::taskit_progress!("Coverage:    {pct:.1}%"),
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `taskit_output::taskit_progress` (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/health.rs:303:17
[INFO] [stderr]     |
[INFO] [stderr] 303 |         None => taskit_output::taskit_progress!("Coverage:    not collected (use --with-coverage)"),
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `taskit_output::taskit_progress` (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/health.rs:306:21
[INFO] [stderr]     |
[INFO] [stderr] 306 |         Some(ms) => taskit_output::taskit_progress!("CI duration: {ms:.0}ms"),
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `taskit_output::taskit_progress` (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/health.rs:307:17
[INFO] [stderr]     |
[INFO] [stderr] 307 |         None => taskit_output::taskit_progress!("CI duration: no telemetry yet (run `taskit ci`)"),
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `taskit_output::taskit_progress` (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/protocol/drift.rs:190:25
[INFO] [stderr]     |
[INFO] [stderr] 190 |             Ok(true) => taskit_output::taskit_ok!("protocol-drift: auto-remediated lockfile"),
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `taskit_output::taskit_ok` (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/protocol/drift.rs:192:23
[INFO] [stderr]     |
[INFO] [stderr] 192 |             Err(e) => taskit_output::taskit_err!("protocol-drift: watch iteration failed: {e}"),
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `taskit_output::taskit_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `taskit-engine` (lib) generated 9 warnings
[INFO] [stderr] warning: `taskit-engine` (lib test) generated 9 warnings (9 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.17s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: taskit-engine v0.9.0 (/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 4`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/taskit-engine/c95cb1ca1cca3b8c/out/taskit_engine-c95cb1ca1cca3b8c)
[INFO] [stdout] 
[INFO] [stdout] running 505 tests
[INFO] [stdout] test affected::tests::pkg_name_falls_back_to_dir_for_unknown_crate ... ok
[INFO] [stdout] test affected::tests::pkg_name_defaults_to_dir_when_no_pkg ... ok
[INFO] [stdout] test build::tests::build_dry_run_does_not_panic ... ok
[INFO] [stdout] test audit::tests::dry_run_audit ... ok
[INFO] [stdout] test affected::tests::crate_for_file_matches_known_crate ... ok
[INFO] [stdout] test affected::tests::apply_propagation_source_with_single_dependent ... ok
[INFO] [stdout] test cache::tests::compute_ignores_non_json_files ... ok
[INFO] [stdout] test affected::tests::apply_propagation_is_idempotent ... ok
[INFO] [stdout] test cache::tests::compute_changes_when_file_content_changes ... ok
[INFO] [stdout] test affected::tests::apply_propagation_unrelated_crate_does_not_expand ... ok
[INFO] [stdout] test affected::tests::apply_propagation_empty_set_stays_empty ... ok
[INFO] [stdout] test affected::tests::apply_propagation_expands_source_to_declared_dependents ... ok
[INFO] [stdout] test build::tests::build_release_dry_run_does_not_panic ... ok
[INFO] [stdout] test affected::tests::pkg_name_uses_pkg_field_when_set ... ok
[INFO] [stdout] test affected::tests::crate_for_file_returns_none_for_unknown_path ... ok
[INFO] [stdout] test bootstrap::tests::bootstrap_dry_run_does_not_panic ... ok
[INFO] [stdout] test affected::tests::apply_propagation_source_with_multiple_dependents ... ok
[INFO] [stdout] test cache::tests::compute_changes_when_file_removed ... ok
[INFO] [stdout] test cache::tests::compute_is_deterministic ... ok
[INFO] [stdout] test cache::tests::compute_changes_when_new_file_added ... ok
[INFO] [stdout] test affected::tests::crate_for_file_requires_trailing_slash_prefix ... ok
[INFO] [stdout] test cache::tests::compute_returns_empty_string_for_missing_dir ... ok
[INFO] [stdout] test cache::tests::master_hash_pretty_json_has_hash_key ... ok
[INFO] [stdout] test cache::tests::file_hash_differs_on_content_change ... ok
[INFO] [stdout] test cache::tests::master_hash_roundtrip ... ok
[INFO] [stdout] test cache::tests::file_hash_is_deterministic ... ok
[INFO] [stdout] test cache::tests::file_hash_same_content_same_hash ... ok
[INFO] [stdout] test cache::tests::file_hash_some_for_existing_file ... ok
[INFO] [stdout] test cache::tests::verify_true_after_update_with_no_changes ... ok
[INFO] [stdout] test cache::tests::compute_is_order_independent ... ok
[INFO] [stdout] test changelog::tests::command_runs_from_context_root ... ok
[INFO] [stdout] test cache::tests::compute_returns_empty_string_for_empty_dir ... ok
[INFO] [stdout] test cache::tests::verify_true_for_empty_stored_hash ... ok
[INFO] [stdout] test cache::tests::verify_true_when_no_master_file ... ok
[INFO] [stdout] test cache::tests::file_hash_none_for_missing_file ... ok
[INFO] [stdout] test check_deps::tests::dry_run_check_deps ... ok
[INFO] [stdout] test check_freshness::tests::dependency_is_outdated_when_compat_update_available ... ok
[INFO] [stdout] test check_freshness::tests::dependency_is_not_outdated_when_removed_from_registry ... ok
[INFO] [stdout] test changelog::tests::missing_cliff_config_returns_error ... ok
[INFO] [stdout] test cache::tests::regression_verify_false_correctly_detects_drift ... ok
[INFO] [stdout] test cache::tests::update_is_idempotent ... ok
[INFO] [stdout] test check_freshness::tests::parse_outdated_json_flattens_and_filters ... ok
[INFO] [stdout] test cache::tests::master_is_outside_cache_dir_so_not_included_in_own_hash ... ok
[INFO] [stdout] test cache::tests::update_creates_master_file_parent_dirs ... ok
[INFO] [stdout] test changelog::tests::modes_map_to_expected_git_cliff_commands ... ok
[INFO] [stdout] test check_freshness::tests::dependency_is_outdated_when_only_latest_beyond_compat ... ok
[INFO] [stdout] test check_freshness::tests::parse_outdated_json_errors_on_malformed_line ... ok
[INFO] [stdout] test check_freshness::tests::dependency_is_not_outdated_when_up_to_date ... ok
[INFO] [stdout] test cache::tests::verify_false_after_new_cache_file_added ... ok
[INFO] [stdout] test check_freshness::tests::parse_outdated_json_skips_blank_lines ... ok
[INFO] [stdout] test check_freshness::tests::parse_outdated_json_empty_input_is_empty ... ok
[INFO] [stdout] test cache::tests::verify_false_after_cache_file_modified ... ok
[INFO] [stdout] test cache::tests::master_hash_default_is_empty ... ok
[INFO] [stdout] test clean::tests::older_than_accepts_large_number ... ok
[INFO] [stdout] test ci::tests::dispatch_cmd_fmt_check_flag_parsed ... ok
[INFO] [stdout] test clean::tests::older_than_accepts_days_suffix ... ok
[INFO] [stdout] test ci::tests::dispatch_cmd_empty_string_returns_error ... ok
[INFO] [stdout] test ci::tests::dispatch_cmd_unknown_returns_error ... ok
[INFO] [stdout] test ci::tests::effective_fail_fast_both_none ... ok
[INFO] [stdout] test ci::tests::effective_fail_fast_cli_true_config_none ... ok
[INFO] [stdout] test ci::tests::effective_fail_fast_both_false ... ok
[INFO] [stdout] test clean::tests::effective_older_than_returns_none_without_config_or_cli ... ok
[INFO] [stdout] test ci::tests::effective_fail_fast_cli_false_config_true ... ok
[INFO] [stdout] test clean::tests::older_than_accepts_plain_number ... ok
[INFO] [stdout] test ci::tests::effective_fail_fast_cli_true_config_false ... ok
[INFO] [stdout] test clean::tests::effective_older_than_uses_config_when_cli_none ... ok
[INFO] [stdout] test ci::tests::dispatch_cmd_known_cmds_return_ok ... ok
[INFO] [stdout] test clean::tests::older_than_rejects_float ... ok
[INFO] [stdout] test clean::tests::older_than_rejects_multiple_trailing_d ... ok
[INFO] [stdout] test clean::tests::older_than_rejects_uppercase_d_suffix ... ok
[INFO] [stdout] test clean::tests::older_than_rejects_non_numeric_suffix ... ok
[INFO] [stdout] test config::tests::discover_with_sets_pkg_when_different_from_dir ... ok
[INFO] [stdout] test config::tests::discover_with_populates_crates_from_source ... ok
[INFO] [stdout] test clean::tests::older_than_accepts_zero ... ok
[INFO] [stdout] test command::tests::coverage_without_crate_is_err ... ok
[INFO] [stdout] test clean::tests::older_than_rejects_empty_string ... ok
[INFO] [stdout] test clean::tests::older_than_rejects_negative ... ok
[INFO] [stdout] test config::tests::merge_keeps_explicit_crates_over_discovery ... ok
[INFO] [stdout] test config::tests::discover_with_no_members_returns_empty_config ... ok
[INFO] [stdout] test config::tests::find_config_file_finds_file_in_parent ... ok
[INFO] [stdout] test config::tests::discover_with_derives_propagation ... ok
[INFO] [stdout] test config::tests::find_config_file_finds_file_in_start_dir ... ok
[INFO] [stdout] test config::tests::find_config_file_finds_file_two_levels_up ... ok
[INFO] [stdout] test config::tests::find_config_file_returns_none_when_absent ... ok
[INFO] [stdout] test config::tests::load_returns_workspace_from_config_file ... ok
[INFO] [stdout] test config::tests::merge_fills_empty_propagation_from_discovery ... ok
[INFO] [stdout] test config::tests::merge_fills_protocol_when_none ... ok
[INFO] [stdout] test config::tests::merge_keeps_explicit_protocol ... ok
[INFO] [stdout] test config::tests::parse_config_protocol_surfaces ... ok
[INFO] [stdout] test config::tests::parse_config_ci_steps ... ok
[INFO] [stdout] test config::tests::parse_config_rejects_invalid_toml ... ok
[INFO] [stdout] test config::tests::pkg_name_defaults_to_dir ... ok
[INFO] [stdout] test config::tests::parse_config_workspace_crates ... ok
[INFO] [stdout] test config::tests::pkg_name_uses_explicit_pkg ... ok
[INFO] [stdout] test ctx::tests::accessors_reflect_config ... ok
[INFO] [stdout] test ctx::tests::dry_run_commands_are_recorded ... ok
[INFO] [stdout] test config::tests::merge_fills_empty_crates_from_discovery ... ok
[INFO] [stdout] test ctx::tests::dry_run_flag_is_readable ... ok
[INFO] [stdout] test dev_setup::tests::all_required_tools_have_nonempty_install_name ... ok
[INFO] [stdout] test dev_setup::tests::cargo_llvm_cov_is_a_required_tool ... ok
[INFO] [stdout] test dev_setup::tests::check_label_llvm_cov_returns_cargo_subcommand_label ... ok
[INFO] [stdout] test dev_setup::tests::check_label_other_tools_pass_through ... ok
[INFO] [stdout] test dev_setup::tests::confirm_response_accepted_accepts_y_and_uppercase_y ... ok
[INFO] [stdout] test dev_setup::tests::confirm_response_accepted_rejects_n_empty_and_yes ... ok
[INFO] [stdout] test config::tests::parse_config_empty_file_returns_defaults ... ok
[INFO] [stdout] test dev_setup::tests::required_tools_has_no_duplicate_names ... ok
[INFO] [stdout] test config::tests::parse_config_propagation ... ok
[INFO] [stdout] test discovery::tests::derive_propagation_empty_deps ... ok
[INFO] [stdout] test ctx::tests::with_silent_nests ... ok
[INFO] [stdout] test discovery::tests::derive_propagation_ignores_external_deps ... ok
[INFO] [stdout] test config::tests::parse_config_protocol_default_lockfile ... ok
[INFO] [stdout] test discovery::tests::derive_propagation_multiple_sources ... ok
[INFO] [stdout] test ctx::tests::with_silent_restores_previous_state ... ok
[INFO] [stdout] test discovery::tests::fake_source_returns_members ... ok
[INFO] [stdout] test discovery::tests::scan_surfaces_empty_workspace_returns_empty ... ok
[INFO] [stdout] test dev_setup::tests::required_and_optional_tools_have_no_overlap ... ok
[INFO] [stdout] test discovery::tests::scan_surfaces_finds_graphql_schema ... ok
[INFO] [stdout] test discovery::tests::scan_surfaces_finds_types_rs ... ok
[INFO] [stdout] test discovery::tests::fake_source_returns_deps ... ok
[INFO] [stdout] test drift::tests::load_metric_history_via_fake_store ... ok
[INFO] [stdout] test drift::tests::load_metric_history_single_reading_is_none ... ok
[INFO] [stdout] test drift::tests::mean_basic ... ok
[INFO] [stdout] test discovery::tests::scan_surfaces_skips_hidden_dirs ... ok
[INFO] [stdout] test discovery::tests::scan_surfaces_finds_proto_files ... ok
[INFO] [stdout] test discovery::tests::derive_propagation_groups_by_source ... ok
[INFO] [stdout] test drift::tests::report_flags_regression_above_threshold ... ok
[INFO] [stdout] test dev_setup::tests::optional_tools_has_no_duplicate_names ... ok
[INFO] [stdout] test drift::tests::percentile_empty_is_zero ... ok
[INFO] [stdout] test drift::tests::mean_of_empty_is_zero ... ok
[INFO] [stdout] test drift::tests::percentile_p95_of_sorted_run ... ok
[INFO] [stdout] test discovery::tests::scan_surfaces_skips_target_dir ... ok
[INFO] [stdout] test drift::tests::report_passes_within_threshold ... ok
[INFO] [stdout] test drift::tests::report_zero_baseline_never_regresses ... ok
[INFO] [stdout] test drift::tests::run_with_no_records_is_ok ... ok
[INFO] [stdout] test flow::tests::conflict_resolver_fake_escalates ... ok
[INFO] [stdout] test flow::tests::conflict_resolver_fake_resolves ... ok
[INFO] [stdout] test flow::tests::dirty_worktree_error_display ... ok
[INFO] [stdout] test flow::tests::custom_branch_names ... ok
[INFO] [stdout] Initialized empty Git repository in /tmp/.tmphBCKCX/.git/
[INFO] [stdout] test flow::tests::flow_config_parses_empty_toml ... ok
[INFO] [stdout] test flow::tests::default_branch_names ... ok
[INFO] [stdout] test flow::tests::flow_config_partial_override ... ok
[INFO] [stdout] test flow::tests::flow_config_push_defaults_off ... ok
[INFO] [stdout] test flow::tests::flow_config_push_parses ... ok
[INFO] [stdout] test flow::tests::is_ctx_only_false_for_non_ctx_path ... ok
[INFO] [stdout] test flow::tests::is_ctx_only_false_for_rename_into_ctx ... ok
[INFO] [stdout] test flow::tests::flow_config_parses_from_toml ... ok
[INFO] [stdout] test flow::tests::is_ctx_only_true_for_plain_ctx_path ... ok
[INFO] [stdout] test flow::tests::is_ctx_only_true_for_rename_within_ctx ... ok
[INFO] [stdout] test flow::tests::merge_failed_error_display ... ok
[INFO] [stdout] test flow::tests::merge_failed_diagnostic_code ... ok
[INFO] [stdout] test flow::tests::missing_branch_error_display ... ok
[INFO] [stdout] test flow::tests::is_ctx_only_false_for_rename_out_of_ctx ... ok
[INFO] [stdout] test flow::tests::parse_conflict_paths_detects_uu_aa_dd ... ok
[INFO] [stdout] Initialized empty Git repository in /tmp/.tmpyyw5hY/.git/
[INFO] [stdout] test flow::tests::parse_conflict_paths_empty_on_clean ... ok
[INFO] [stdout] test flow::tests::parse_conflict_paths_detects_au_ua ... ok
[INFO] [stdout] Initialized empty Git repository in /tmp/.tmpZvUGfd/.git/
[INFO] [stderr] warning: Not a git repository. Use --no-index to compare two paths outside a working tree
[INFO] [stdout] test flow::tests::protected_branch_diagnostic_code ... ok
[INFO] [stderr] usage: git diff --no-index [<options>] <path> <path> [<pathspec>...]
[INFO] [stdout] test flow::tests::protected_branch_error_display ... ok
[INFO] [stderr] 
[INFO] [stdout] test flow::tests::porcelain_path_strips_status_code ... ok
[INFO] [stderr] Diff output format options
[INFO] [stdout] test flow::tests::wrong_branch_diagnostic_code ... ok
[INFO] [stderr]     -p, --patch           generate patch
[INFO] [stdout] test flow::tests::wrong_branch_error_display ... ok
[INFO] [stderr]     -s, --no-patch        suppress diff output
[INFO] [stdout] test flow_state_store::tests::clear_is_noop_when_absent ... ok
[INFO] [stderr]     -u                    generate patch
[INFO] [stdout] Initialized empty Git repository in /tmp/.tmpzDCIzI/.git/
[INFO] [stderr]     -U, --unified[=<n>]   generate diffs with <n> lines context
[INFO] [stdout] test flow_state_store::tests::clear_removes_state_file ... ok
[INFO] [stderr]     -W, --[no-]function-context
[INFO] [stdout] test flow_state_store::tests::load_returns_none_when_absent ... ok
[INFO] [stderr]                           generate diffs with <n> lines context
[INFO] [stdout] test flow::tests::push_failed_error_display ... ok
[INFO] [stderr]     --raw                 generate the diff in raw format
[INFO] [stdout] test config::tests::cargo_workspace_root_returns_a_directory ... ok
[INFO] [stderr]     --patch-with-raw      synonym for '-p --raw'
[INFO] [stdout] test flow_state_store::tests::save_then_load_round_trips ... ok
[INFO] [stderr]     --patch-with-stat     synonym for '-p --stat'
[INFO] [stdout] test flow_state_store::tests::save_overwrites_existing_state ... ok
[INFO] [stderr]     --numstat             machine friendly --stat
[INFO] [stdout] test fmt::tests::dry_run_check_all ... ok
[INFO] [stderr]     --shortstat           output only the last line of --stat
[INFO] [stdout] Initialized empty Git repository in /tmp/.tmpgIodwV/.git/
[INFO] [stderr]     -X, --dirstat[=<param1>,<param2>...]
[INFO] [stdout] Initialized empty Git repository in /tmp/.tmpFqhiIA/.git/
[INFO] [stderr]                           output the distribution of relative amount of changes for each sub-directory
[INFO] [stdout] test fmt::tests::dry_run_format_all ... ok
[INFO] [stderr]     --cumulative          synonym for --dirstat=cumulative
[INFO] [stdout] test health::tests::baseline_round_trip ... ok
[INFO] [stderr]     --dirstat-by-file[=<param1>,<param2>...]
[INFO] [stdout] test health::tests::check_clippy_regression ... ok
[INFO] [stderr]                           synonym for --dirstat=files,<param1>,<param2>...
[INFO] [stdout] test health::tests::check_no_regression ... ok
[INFO] [stderr]     --check               warn if changes introduce conflict markers or whitespace errors
[INFO] [stdout] [main (root-commit) c8a590a] init
[INFO] [stderr]     --summary             condensed summary such as creations, renames and mode changes
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stderr]     --name-only           show only names of changed files
[INFO] [stdout]  create mode 100644 README.md
[INFO] [stderr]     --name-status         show only names and status of changed files
[INFO] [stdout] test health::tests::check_safety_ignores_non_safety_regressions ... ok
[INFO] [stderr]     --stat[=<width>[,<name-width>[,<count>]]]
[INFO] [stdout] test health::tests::check_safety_no_regression_when_counts_improve ... ok
[INFO] [stderr]                           generate diffstat
[INFO] [stdout] test health::tests::check_safety_no_regression_when_counts_unchanged ... ok
[INFO] [stderr]     --stat-width <width>  generate diffstat with a given width
[INFO] [stdout] test health::tests::check_safety_regresses_on_unwrap_increase ... ok
[INFO] [stderr]     --stat-name-width <width>
[INFO] [stdout] test health::tests::check_safety_regresses_on_warn_increase ... ok
[INFO] [stderr]                           generate diffstat with a given name width
[INFO] [stdout] test health::tests::check_test_count_regression ... ok
[INFO] [stderr]     --stat-graph-width <width>
[INFO] [stdout] test health::tests::check_version_inconsistency_is_regression ... ok
[INFO] [stderr]                           generate diffstat with a given graph width
[INFO] [stdout] test health::tests::count_safety_in_dir_scans_crates_and_src_rust_files_only ... ok
[INFO] [stderr]     --stat-count <count>  generate diffstat with limited lines
[INFO] [stdout] test health::tests::count_safety_markers_counts_unwrap_expect_and_warn ... ok
[INFO] [stderr]     --[no-]compact-summary
[INFO] [stdout] test health::tests::count_safety_markers_ignores_comments_and_strings ... ok
[INFO] [stderr]                           generate compact summary in diffstat
[INFO] [stdout] test health::tests::count_todo_fixme_in_dir_scans_crates_and_src_rust_files_only ... ok
[INFO] [stderr]     --binary              output a binary diff that can be applied
[INFO] [stdout] test health::tests::count_todo_fixme_markers_counts_line_doc_inline_and_block_comments ... ok
[INFO] [stderr]     --[no-]full-index     show full pre- and post-image object names on the "index" lines
[INFO] [stdout] test health::tests::count_todo_fixme_markers_ignores_comment_markers_inside_string_literals ... ok
[INFO] [stderr]     --[no-]color[=<when>] show colored diff
[INFO] [stdout] test health::tests::count_todo_fixme_markers_ignores_metric_labels_and_strings ... ok
[INFO] [stderr]     --ws-error-highlight <kind>
[INFO] [stdout] test health::tests::load_baseline_missing_file ... ok
[INFO] [stderr]                           highlight whitespace errors in the 'context', 'old' or 'new' lines in the diff
[INFO] [stdout] test health::tests::metric_higher_is_better_improvement ... ok
[INFO] [stderr]     -z                    do not munge pathnames and use NULs as output field terminators in --raw or --numstat
[INFO] [stdout] test health::tests::metric_higher_is_better_regression ... ok
[INFO] [stderr]     --[no-]abbrev[=<n>]   use <n> digits to display object names
[INFO] [stdout] test health::tests::metric_lower_is_better_improvement ... ok
[INFO] [stderr]     --src-prefix <prefix> show the given source prefix instead of "a/"
[INFO] [stdout] test health::tests::metric_lower_is_better_regression ... ok
[INFO] [stderr]     --dst-prefix <prefix> show the given destination prefix instead of "b/"
[INFO] [stdout] test health::tests::metric_neutral_never_regresses ... ok
[INFO] [stderr]     --line-prefix <prefix>
[INFO] [stdout] test health::tests::parse_clippy_json_counts_errors ... ok
[INFO] [stderr]                           prepend an additional prefix to every line of output
[INFO] [stdout] test health::tests::parse_clippy_json_counts_warnings ... ok
[INFO] [stderr]     --no-prefix           do not show any source or destination prefix
[INFO] [stdout] test health::tests::parse_clippy_json_empty ... ok
[INFO] [stderr]     --default-prefix      use default prefixes a/ and b/
[INFO] [stdout] test health::tests::parse_clippy_json_ignores_non_message_lines ... ok
[INFO] [stderr]     --inter-hunk-context <n>
[INFO] [stdout] test health::tests::parse_clippy_json_skips_summary_warnings ... ok
[INFO] [stderr]                           show context between diff hunks up to the specified number of lines
[INFO] [stdout] test health::tests::parse_nextest_all_pass ... ok
[INFO] [stderr]     --output-indicator-new <char>
[INFO] [stdout] test health::tests::parse_nextest_fallback_to_line_counting ... ok
[INFO] [stderr]                           specify the character to indicate a new line instead of '+'
[INFO] [stdout] test health::tests::parse_nextest_with_failures ... ok
[INFO] [stderr]     --output-indicator-old <char>
[INFO] [stdout] test health::tests::version_consistency_all_equal_is_consistent ... ok
[INFO] [stderr]                           specify the character to indicate an old line instead of '-'
[INFO] [stdout] test health::tests::version_consistency_all_excluded_returns_empty_version ... ok
[INFO] [stderr]     --output-indicator-context <char>
[INFO] [stdout] test health::tests::version_consistency_excludes_configured_crate ... ok
[INFO] [stderr]                           specify the character to indicate a context instead of ' '
[INFO] [stdout] test health::tests::version_consistency_mismatch_is_inconsistent ... ok
[INFO] [stderr] 
[INFO] [stdout] test health::tests::write_and_load_baseline ... ok
[INFO] [stderr] Diff rename options
[INFO] [stdout] test hooks::tests::any_rust_file_false_for_empty_input ... ok
[INFO] [stderr]     -B, --break-rewrites[=<n>[/<m>]]
[INFO] [stdout] test hooks::tests::any_rust_file_false_for_no_rs_files ... ok
[INFO] [stderr]                           break complete rewrite changes into pairs of delete and create
[INFO] [stdout] test hooks::tests::any_rust_file_matches_nested_path ... ok
[INFO] [stderr]     -M, --find-renames[=<n>]
[INFO] [stdout] test hooks::tests::any_rust_file_requires_rs_extension_not_substring ... ok
[INFO] [stderr]                           detect renames
[INFO] [stdout] test hooks::tests::any_rust_file_true_for_single_rs_file ... ok
[INFO] [stderr]     -D, --irreversible-delete
[INFO] [stdout] test hooks::tests::any_rust_file_true_when_rs_file_among_others ... ok
[INFO] [stderr]                           omit the preimage for deletes
[INFO] [stdout] test hooks::tests::both_hook_caches_together_produce_valid_master ... ok
[INFO] [stderr]     -C, --find-copies[=<n>]
[INFO] [stdout] test hooks::tests::different_crates_is_not_a_hit ... ok
[INFO] [stderr]                           detect copies
[INFO] [stdout] test hooks::tests::different_sha_is_not_a_hit ... ok
[INFO] [stderr]     --[no-]find-copies-harder
[INFO] [stdout] test hooks::tests::different_staged_hash_is_not_a_hit ... ok
[INFO] [stderr]                           use unmodified files as source to find copies
[INFO] [stdout] test hooks::tests::empty_sha_cache_never_hits ... ok
[INFO] [stderr]     --no-renames          disable rename detection
[INFO] [stdout] test hooks::tests::empty_staged_hash_never_hits ... ok
[INFO] [stderr]     --[no-]rename-empty   use empty blobs as rename source
[INFO] [stdout] test hooks::tests::matching_sha_and_crates_is_a_hit ... ok
[INFO] [stderr]     --[no-]follow         continue listing the history of a file beyond renames
[INFO] [stdout] test hooks::tests::matching_staged_hash_is_a_hit ... ok
[INFO] [stderr]     -l <n>                prevent rename/copy detection if the number of rename/copy targets exceeds given limit
[INFO] [stdout] test hooks::tests::pre_commit_cache_default_has_empty_hash ... ok
[INFO] [stderr] 
[INFO] [stdout] test hooks::tests::pre_commit_cache_pretty_json_has_staged_hash_key ... ok
[INFO] [stderr] Diff algorithm options
[INFO] [stdout] test hooks::tests::pre_commit_cache_roundtrip ... ok
[INFO] [stderr]     --minimal             produce the smallest possible diff
[INFO] [stdout] test hooks::tests::pre_commit_cache_tamper_detected_by_master ... ok
[INFO] [stderr]     -w, --ignore-all-space
[INFO] [stdout] test hooks::tests::pre_commit_cache_write_produces_valid_master_hash ... ok
[INFO] [stderr]                           ignore whitespace when comparing lines
[INFO] [stdout] test hooks::tests::pre_commit_hook_combines_exit_codes ... ok
[INFO] [stderr]     -b, --ignore-space-change
[INFO] [stdout] test hooks::tests::pre_commit_hook_delegates_to_original_hook_when_present ... ok
[INFO] [stderr]                           ignore changes in amount of whitespace
[INFO] [stdout] test hooks::tests::pre_commit_hook_delegates_to_taskit_pre_commit ... ok
[INFO] [stderr]     --ignore-space-at-eol ignore changes in whitespace at EOL
[INFO] [stdout] test hooks::tests::pre_commit_hook_has_bash_shebang ... ok
[INFO] [stderr]     --ignore-cr-at-eol    ignore carrier-return at the end of line
[INFO] [stdout] test hooks::tests::pre_push_cache_default_has_empty_sha ... ok
[INFO] [stderr]     --ignore-blank-lines  ignore changes whose lines are all blank
[INFO] [stdout] test hooks::tests::pre_push_cache_roundtrip ... ok
[INFO] [stderr]     -I, --[no-]ignore-matching-lines <regex>
[INFO] [stdout] [main (root-commit) c8a590a] init
[INFO] [stderr]                           ignore changes whose all lines match <regex>
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stderr]     --[no-]indent-heuristic
[INFO] [stdout]  create mode 100644 README.md
[INFO] [stderr]                           heuristic to shift diff hunk boundaries for easy reading
[INFO] [stdout] test hooks::tests::pre_push_cache_tamper_detected_by_master ... ok
[INFO] [stderr]     --patience            generate diff using the "patience diff" algorithm
[INFO] [stdout] test hooks::tests::pre_push_cache_write_produces_valid_master_hash ... ok
[INFO] [stderr]     --histogram           generate diff using the "histogram diff" algorithm
[INFO] [stdout] test hooks::tests::pre_push_hook_clears_git_local_env_before_taskit ... ok
[INFO] [stderr]     --diff-algorithm <algorithm>
[INFO] [stdout] test hooks::tests::pre_push_hook_delegates_to_original_hook_when_present ... ok
[INFO] [stderr]                           choose a diff algorithm
[INFO] [stdout] [main (root-commit) c8a590a] init
[INFO] [stderr]     --anchored <text>     generate diff using the "anchored diff" algorithm
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stderr]     --word-diff[=<mode>]  show word diff, using <mode> to delimit changed words
[INFO] [stdout]  create mode 100644 README.md
[INFO] [stderr]     --word-diff-regex <regex>
[INFO] [stdout] test hooks::tests::pre_push_hook_delegates_to_taskit_pre_push ... ok
[INFO] [stderr]                           use <regex> to decide what a word is
[INFO] [stdout] test hooks::tests::pre_push_hook_forwards_args ... ok
[INFO] [stderr]     --color-words[=<regex>]
[INFO] [stdout] test hooks::tests::pre_push_hook_has_bash_shebang ... ok
[INFO] [stderr]                           equivalent to --word-diff=color --word-diff-regex=<regex>
[INFO] [stdout] test hooks::tests::rs_paths_are_sorted ... ok
[INFO] [stderr]     --[no-]color-moved[=<mode>]
[INFO] [stdout] test hooks::tests::rs_paths_deduplication_not_needed_but_order_stable ... ok
[INFO] [stderr]                           moved lines of code are colored differently
[INFO] [stdout] test hooks::tests::rs_paths_excludes_rsc_extension ... ok
[INFO] [stderr]     --[no-]color-moved-ws <mode>
[INFO] [stdout] test hooks::tests::rs_paths_handles_empty_input ... ok
[INFO] [stderr]                           how white spaces are ignored in --color-moved
[INFO] [stdout] test hooks::tests::rs_paths_handles_nested_paths ... ok
[INFO] [stderr] 
[INFO] [stdout] test hooks::tests::rs_paths_returns_empty_for_no_rs_files ... ok
[INFO] [stderr] Other diff options
[INFO] [stdout] [main (root-commit) c8a590a] init
[INFO] [stderr]     --[no-]relative[=<prefix>]
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stderr]                           when run from subdir, exclude changes outside and show relative paths
[INFO] [stdout]  create mode 100644 README.md
[INFO] [stderr]     -a, --[no-]text       treat all files as text
[INFO] [stdout] test hooks::tests::rs_paths_returns_only_rs_files ... ok
[INFO] [stderr]     -R                    swap two inputs, reverse the diff
[INFO] [stdout] test inspect::tests::all_clean_passes ... ok
[INFO] [stderr]     --[no-]exit-code      exit with 1 if there were differences, 0 otherwise
[INFO] [stdout] test inspect::tests::clippy_errors_fail ... ok
[INFO] [stderr]     --[no-]quiet          disable all output of the program
[INFO] [stdout] test inspect::tests::clippy_warnings_over_threshold_fail ... ok
[INFO] [stderr]     --[no-]ext-diff       allow an external diff helper to be executed
[INFO] [stdout] test inspect::tests::clippy_warnings_within_threshold_pass ... ok
[INFO] [stderr]     --[no-]textconv       run external text conversion filters when comparing binary files
[INFO] [stdout] test inspect::tests::outcome_renders_with_all_formatters ... ok
[INFO] [stderr]     --ignore-submodules[=<when>]
[INFO] [stdout] test inspect::tests::test_failures_fail ... ok
[INFO] [stderr]                           ignore changes to submodules in the diff generation
[INFO] [stdout] test inspect::tests::todo_checked_when_threshold_set ... ok
[INFO] [stderr]     --submodule[=<format>]
[INFO] [stdout] test inspect::tests::todo_not_checked_without_threshold ... ok
[INFO] [stderr]                           specify how differences in submodules are shown
[INFO] [stdout] test inspect::tests::todo_within_threshold_passes ... ok
[INFO] [stderr]     --ita-invisible-in-index
[INFO] [stdout] test inspect::tests::version_inconsistency_fails ... ok
[INFO] [stderr]                           hide 'git add -N' entries from the index
[INFO] [stdout] test install::tests::install_dry_run_does_not_panic ... ok
[INFO] [stderr]     --ita-visible-in-index
[INFO] [stdout] test lint::tests::parse_clippy_json_empty_input ... ok
[INFO] [stderr]                           treat 'git add -N' entries as real in the index
[INFO] [stdout] test lint::tests::parse_clippy_json_multiple_lines ... ok
[INFO] [stderr]     -S <string>           look for differences that change the number of occurrences of the specified string
[INFO] [stdout] test lint::tests::parse_clippy_json_non_message_lines_skipped ... ok
[INFO] [stderr]     -G <regex>            look for differences that change the number of occurrences of the specified regex
[INFO] [stdout] test lint::tests::parse_clippy_json_skips_abort_message ... ok
[INFO] [stderr]     --pickaxe-all         show all changes in the changeset with -S or -G
[INFO] [stdout] test lint::tests::parse_clippy_json_warning ... ok
[INFO] [stderr]     --pickaxe-regex       treat <string> in -S as extended POSIX regular expression
[INFO] [stdout] test patch::tests::bump_major_increments_major_resets_minor_and_patch ... ok
[INFO] [stderr]     -O <file>             control the order in which files appear in the output
[INFO] [stderr]     --rotate-to <path>    show the change in the specified path first
[INFO] [stderr]     --skip-to <path>      skip the output to the specified path
[INFO] [stderr]     --find-object <object-id>
[INFO] [stderr]                           look for differences that change the number of occurrences of the specified object
[INFO] [stderr]     --diff-filter [(A|C|D|M|R|T|U|X|B)...[*]]
[INFO] [stderr]                           select files by diff type
[INFO] [stderr]     --max-depth <depth>   maximum tree depth to recurse
[INFO] [stderr]     --output <file>       output to a specific file
[INFO] [stderr] 
[INFO] [stderr] Switched to branch 'staging'
[INFO] [stdout] test patch::tests::bump_minor_increments_minor_resets_patch ... ok
[INFO] [stdout] test patch::tests::bump_patch_increments_patch ... ok
[INFO] [stdout] test patch::tests::major_run_bumps_major_version ... ok
[INFO] [stderr] Switched to branch 'develop'
[INFO] [stdout] test patch::tests::minor_run_bumps_minor_version ... ok
[INFO] [stdout] test patch::tests::parse_semver_invalid_returns_none ... ok
[INFO] [stdout] test patch::tests::parse_semver_large ... ok
[INFO] [stdout] test patch::tests::parse_semver_standard ... ok
[INFO] [stdout] [main (root-commit) c8a590a] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 README.md
[INFO] [stderr] Switched to branch 'develop'
[INFO] [stdout] test patch::tests::parse_semver_zeros ... ok
[INFO] [stdout] [develop bdf0f45] feature
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 feature.txt
[INFO] [stdout] test patch::tests::patch_run_bumps_patch_version ... ok
[INFO] [stdout] test patch::tests::replace_version_leaves_unrelated_versions_untouched ... ok
[INFO] [stdout] test patch::tests::replace_version_no_change_when_version_absent ... ok
[INFO] [stdout] test patch::tests::replace_version_replaces_all_occurrences ... ok
[INFO] [stdout] test check_freshness::tests::dry_run_check_freshness ... ok
[INFO] [stdout] test ci::tests::empty_steps_runs_nothing ... ok
[INFO] [stdout] test patch::tests::replace_version_replaces_exact_match ... ok
[INFO] [stderr] warning: Not a git repository. Use --no-index to compare two paths outside a working tree
[INFO] [stderr] usage: git diff --no-index [<options>] <path> <path> [<pathspec>...]
[INFO] [stderr] 
[INFO] [stderr] Diff output format options
[INFO] [stderr]     -p, --patch           generate patch
[INFO] [stderr]     -s, --no-patch        suppress diff output
[INFO] [stderr]     -u                    generate patch
[INFO] [stderr]     -U, --unified[=<n>]   generate diffs with <n> lines context
[INFO] [stderr]     -W, --[no-]function-context
[INFO] [stderr]                           generate diffs with <n> lines context
[INFO] [stderr]     --raw                 generate the diff in raw format
[INFO] [stderr]     --patch-with-raw      synonym for '-p --raw'
[INFO] [stderr]     --patch-with-stat     synonym for '-p --stat'
[INFO] [stderr]     --numstat             machine friendly --stat
[INFO] [stderr]     --shortstat           output only the last line of --stat
[INFO] [stderr]     -X, --dirstat[=<param1>,<param2>...]
[INFO] [stderr]                           output the distribution of relative amount of changes for each sub-directory
[INFO] [stderr]     --cumulative          synonym for --dirstat=cumulative
[INFO] [stderr]     --dirstat-by-file[=<param1>,<param2>...]
[INFO] [stderr]                           synonym for --dirstat=files,<param1>,<param2>...
[INFO] [stderr]     --check               warn if changes introduce conflict markers or whitespace errors
[INFO] [stderr]     --summary             condensed summary such as creations, renames and mode changes
[INFO] [stderr]     --name-only           show only names of changed files
[INFO] [stderr]     --name-status         show only names and status of changed files
[INFO] [stderr]     --stat[=<width>[,<name-width>[,<count>]]]
[INFO] [stderr]                           generate diffstat
[INFO] [stderr]     --stat-width <width>  generate diffstat with a given width
[INFO] [stderr]     --stat-name-width <width>
[INFO] [stderr]                           generate diffstat with a given name width
[INFO] [stderr]     --stat-graph-width <width>
[INFO] [stderr]                           generate diffstat with a given graph width
[INFO] [stderr]     --stat-count <count>  generate diffstat with limited lines
[INFO] [stderr]     --[no-]compact-summary
[INFO] [stderr]                           generate compact summary in diffstat
[INFO] [stderr]     --binary              output a binary diff that can be applied
[INFO] [stderr]     --[no-]full-index     show full pre- and post-image object names on the "index" lines
[INFO] [stderr]     --[no-]color[=<when>] show colored diff
[INFO] [stderr]     --ws-error-highlight <kind>
[INFO] [stderr]                           highlight whitespace errors in the 'context', 'old' or 'new' lines in the diff
[INFO] [stderr]     -z                    do not munge pathnames and use NULs as output field terminators in --raw or --numstat
[INFO] [stderr]     --[no-]abbrev[=<n>]   use <n> digits to display object names
[INFO] [stderr]     --src-prefix <prefix> show the given source prefix instead of "a/"
[INFO] [stderr]     --dst-prefix <prefix> show the given destination prefix instead of "b/"
[INFO] [stderr]     --line-prefix <prefix>
[INFO] [stderr]                           prepend an additional prefix to every line of output
[INFO] [stderr]     --no-prefix           do not show any source or destination prefix
[INFO] [stderr]     --default-prefix      use default prefixes a/ and b/
[INFO] [stderr]     --inter-hunk-context <n>
[INFO] [stderr]                           show context between diff hunks up to the specified number of lines
[INFO] [stderr]     --output-indicator-new <char>
[INFO] [stderr]                           specify the character to indicate a new line instead of '+'
[INFO] [stderr]     --output-indicator-old <char>
[INFO] [stderr]                           specify the character to indicate an old line instead of '-'
[INFO] [stderr]     --output-indicator-context <char>
[INFO] [stderr]                           specify the character to indicate a context instead of ' '
[INFO] [stderr] 
[INFO] [stderr] Diff rename options
[INFO] [stderr]     -B, --break-rewrites[=<n>[/<m>]]
[INFO] [stderr]                           break complete rewrite changes into pairs of delete and create
[INFO] [stderr]     -M, --find-renames[=<n>]
[INFO] [stderr]                           detect renames
[INFO] [stderr]     -D, --irreversible-delete
[INFO] [stderr]                           omit the preimage for deletes
[INFO] [stderr]     -C, --find-copies[=<n>]
[INFO] [stderr]                           detect copies
[INFO] [stderr]     --[no-]find-copies-harder
[INFO] [stderr]                           use unmodified files as source to find copies
[INFO] [stderr]     --no-renames          disable rename detection
[INFO] [stderr]     --[no-]rename-empty   use empty blobs as rename source
[INFO] [stderr]     --[no-]follow         continue listing the history of a file beyond renames
[INFO] [stderr]     -l <n>                prevent rename/copy detection if the number of rename/copy targets exceeds given limit
[INFO] [stderr] 
[INFO] [stderr] Diff algorithm options
[INFO] [stderr]     --minimal             produce the smallest possible diff
[INFO] [stderr]     -w, --ignore-all-space
[INFO] [stderr]                           ignore whitespace when comparing lines
[INFO] [stderr]     -b, --ignore-space-change
[INFO] [stderr]                           ignore changes in amount of whitespace
[INFO] [stderr]     --ignore-space-at-eol ignore changes in whitespace at EOL
[INFO] [stderr]     --ignore-cr-at-eol    ignore carrier-return at the end of line
[INFO] [stderr]     --ignore-blank-lines  ignore changes whose lines are all blank
[INFO] [stderr]     -I, --[no-]ignore-matching-lines <regex>
[INFO] [stderr]                           ignore changes whose all lines match <regex>
[INFO] [stderr]     --[no-]indent-heuristic
[INFO] [stderr]                           heuristic to shift diff hunk boundaries for easy reading
[INFO] [stderr]     --patience            generate diff using the "patience diff" algorithm
[INFO] [stderr]     --histogram           generate diff using the "histogram diff" algorithm
[INFO] [stderr]     --diff-algorithm <algorithm>
[INFO] [stderr]                           choose a diff algorithm
[INFO] [stderr]     --anchored <text>     generate diff using the "anchored diff" algorithm
[INFO] [stderr]     --word-diff[=<mode>]  show word diff, using <mode> to delimit changed words
[INFO] [stderr]     --word-diff-regex <regex>
[INFO] [stderr]                           use <regex> to decide what a word is
[INFO] [stderr]     --color-words[=<regex>]
[INFO] [stderr]                           equivalent to --word-diff=color --word-diff-regex=<regex>
[INFO] [stderr]     --[no-]color-moved[=<mode>]
[INFO] [stderr]                           moved lines of code are colored differently
[INFO] [stderr]     --[no-]color-moved-ws <mode>
[INFO] [stderr]                           how white spaces are ignored in --color-moved
[INFO] [stderr] 
[INFO] [stderr] Other diff options
[INFO] [stderr]     --[no-]relative[=<prefix>]
[INFO] [stderr]                           when run from subdir, exclude changes outside and show relative paths
[INFO] [stderr]     -a, --[no-]text       treat all files as text
[INFO] [stderr]     -R                    swap two inputs, reverse the diff
[INFO] [stderr]     --[no-]exit-code      exit with 1 if there were differences, 0 otherwise
[INFO] [stderr]     --[no-]quiet          disable all output of the program
[INFO] [stderr]     --[no-]ext-diff       allow an external diff helper to be executed
[INFO] [stderr]     --[no-]textconv       run external text conversion filters when comparing binary files
[INFO] [stderr]     --ignore-submodules[=<when>]
[INFO] [stderr]                           ignore changes to submodules in the diff generation
[INFO] [stderr]     --submodule[=<format>]
[INFO] [stderr]                           specify how differences in submodules are shown
[INFO] [stderr]     --ita-invisible-in-index
[INFO] [stderr]                           hide 'git add -N' entries from the index
[INFO] [stderr]     --ita-visible-in-index
[INFO] [stderr]                           treat 'git add -N' entries as real in the index
[INFO] [stderr]     -S <string>           look for differences that change the number of occurrences of the specified string
[INFO] [stderr]     -G <regex>            look for differences that change the number of occurrences of the specified regex
[INFO] [stderr]     --pickaxe-all         show all changes in the changeset with -S or -G
[INFO] [stderr]     --pickaxe-regex       treat <string> in -S as extended POSIX regular expression
[INFO] [stderr]     -O <file>             control the order in which files appear in the output
[INFO] [stderr]     --rotate-to <path>    show the change in the specified path first
[INFO] [stderr]     --skip-to <path>      skip the output to the specified path
[INFO] [stderr]     --find-object <object-id>
[INFO] [stderr]                           look for differences that change the number of occurrences of the specified object
[INFO] [stderr]     --diff-filter [(A|C|D|M|R|T|U|X|B)...[*]]
[INFO] [stderr]                           select files by diff type
[INFO] [stderr]     --max-depth <depth>   maximum tree depth to recurse
[INFO] [stderr]     --output <file>       output to a specific file
[INFO] [stderr] 
[INFO] [stderr] Switched to branch 'develop'
[INFO] [stdout] [develop bdf0f45] feature
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 feature.txt
[INFO] [stdout] [staging c8dd2cb] feat
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 feature.txt
[INFO] [stdout] [main (root-commit) c8a590a] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 README.md
[INFO] [stderr] Switched to branch 'release'
[INFO] [stderr] Switched to branch 'staging'
[INFO] [stdout] [develop bdf0f45] feature
[INFO] [stderr] Switched to branch 'staging'
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 feature.txt
[INFO] [stdout] test flow::tests::status_report_flags_missing_branches_and_computes_ahead_behind ... ok
[INFO] [stdout] test pipeline_runner::tests::conformance_failure_outcome_invariants ... ok
[INFO] [stdout] test command::tests::self_check_command_dispatches ... ok
[INFO] [stdout] test fmt::tests::dry_run_check_affected ... FAILED
[INFO] [stdout] test pipeline_runner::tests::conformance_success_outcome_invariants ... ok
[INFO] [stdout] test flow::tests::merge_with_resolution_fast_path_returns_zero_conflicts ... ok
[INFO] [stdout] test discovery::tests::cargo_metadata_source_finds_taskit_itself ... FAILED
[INFO] [stdout] test pipeline_runner::tests::subprocess_runner_implements_trait ... ok
[INFO] [stdout] test pipeline_runner::tests::subprocess_runner_missing_cruxfile_returns_err ... ok
[INFO] [stdout] test progress::tests::fmt_elapsed_exactly_one_minute ... ok
[INFO] [stdout] test progress::tests::fmt_elapsed_sub_minute ... ok
[INFO] [stdout] test progress::tests::fmt_elapsed_over_one_minute ... ok
[INFO] [stdout] test protocol::contract_hash::tests::brace_delta_balanced ... ok
[INFO] [stdout] test protocol::contract_hash::tests::brace_delta_close_braces ... ok
[INFO] [stderr] Switched to branch 'develop'
[INFO] [stdout] test protocol::contract_hash::tests::brace_delta_empty ... ok
[INFO] [stdout] test protocol::contract_hash::tests::brace_delta_open_braces ... ok
[INFO] [stdout] test protocol::contract_hash::tests::hash_changes_when_contract_changes ... ok
[INFO] [stdout] test protocol::contract_hash::tests::normalize_cfg_test_not_followed_by_mod_tests_is_not_skipped ... ok
[INFO] [stdout] test protocol::contract_hash::tests::normalize_cfg_test_with_comment_between_and_mod_tests_is_stripped ... ok
[INFO] [stdout] test protocol::contract_hash::tests::normalize_is_idempotent ... ok
[INFO] [stdout] test protocol::contract_hash::tests::normalize_nested_braces_inside_test_module_handled ... ok
[INFO] [stdout] test protocol::contract_hash::tests::normalize_strips_comments_and_test_modules ... ok
[INFO] [stdout] test progress::tests::fmt_elapsed_zero ... ok
[INFO] [stdout] test protocol::contract_hash::tests::strip_trailing_comment_false_positive_on_space_slash_slash_in_string ... ok
[INFO] [stdout] test protocol::contract_hash::tests::normalize_whitespace_only_file_produces_empty_output ... ok
[INFO] [stdout] test pipeline_runner::tests::conformance_empty_step_name_panics - should panic ... ok
[INFO] [stdout] test protocol::contract_hash::tests::strip_trailing_comment_line_comment_at_start_is_unchanged ... ok
[INFO] [stdout] test protocol::contract_hash::tests::strip_trailing_comment_removes_inline_comment ... ok
[INFO] [stdout] test protocol::contract_hash::tests::strip_trailing_comment_no_comment_returns_original ... ok
[INFO] [stdout] test protocol::drift::tests::calculate_lockfile_hash_stable_for_unchanged_content ... ok
[INFO] [stdout] test protocol::drift::tests::calculate_lockfile_hashes_all_surfaces ... ok
[INFO] [stdout] test protocol::drift::tests::calculate_lockfile_missing_file_returns_error ... ok
[INFO] [stdout] test protocol::drift::tests::check_reports_configured_with_no_lockfile_yet ... ok
[INFO] [stdout] test pipeline_runner::tests::subprocess_runner_conformance ... ok
[INFO] [stdout] test protocol::drift::tests::calculate_lockfile_empty_surfaces_produces_empty_lockfile ... ok
[INFO] [stdout] test protocol::drift::tests::check_reports_not_configured_when_no_surfaces ... ok
[INFO] [stdout] test protocol::drift::tests::check_reports_in_sync_when_hashes_match ... ok
[INFO] [stdout] test protocol::drift::tests::check_reports_drifted_surfaces ... ok
[INFO] [stdout] test protocol::drift::tests::calculate_lockfile_hash_changes_when_content_changes ... ok
[INFO] [stdout] test protocol::drift::tests::compare_lockfiles_new_in_actual_reports_drift_with_none_expected ... ok
[INFO] [stdout] test protocol::drift::tests::compare_lockfiles_no_drift_when_hashes_match ... ok
[INFO] [stdout] test protocol::drift::tests::compare_lockfiles_reports_hash_mismatch ... ok
[INFO] [stdout] test protocol::drift::tests::is_tracked_surface_path_returns_false_for_root_relative_mismatch ... ok
[INFO] [stdout] test protocol::drift::tests::is_tracked_surface_path_returns_false_for_empty_surfaces ... ok
[INFO] [stdout] test protocol::drift::tests::is_tracked_surface_path_returns_false_for_unknown_file ... ok
[INFO] [stdout] test protocol::drift::tests::read_lockfile_rejects_malformed_json ... ok
[INFO] [stdout] test protocol::drift::tests::is_tracked_surface_path_returns_true_for_known_surface ... ok
[INFO] [stdout] test protocol::drift::tests::compare_lockfiles_missing_in_actual_reports_drift_with_none_actual ... ok
[INFO] [stdout] test protocol::drift::tests::remediate_once_dry_run_does_not_write ... ok
[INFO] [stdout] test protocol::drift::tests::remediate_once_no_drift_returns_false ... ok
[INFO] [stdout] test protocol::drift::tests::read_lockfile_rejects_unknown_algorithm ... ok
[INFO] [stdout] [develop bdf0f45] feature
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 feature.txt
[INFO] [stdout] test protocol::drift::tests::remediate_once_writes_lockfile_when_missing ... ok
[INFO] [stdout] test protocol::drift::tests::read_lockfile_rejects_unsupported_version ... ok
[INFO] [stdout] test protocol::drift::tests::remediate_once_updates_lockfile_on_drift ... ok
[INFO] [stderr] Switched to branch 'release'
[INFO] [stdout] test protocol::sites::tests::match_lines_reports_correct_line_numbers ... ok
[INFO] [stdout] test protocol::sites::tests::match_lines_does_not_match_partial_pattern ... ok
[INFO] [stdout] test protocol::sites::tests::match_lines_pattern_substring_matches ... ok
[INFO] [stdout] test protocol::sites::tests::match_lines_returns_correct_count ... ok
[INFO] [stderr] Switched to branch 'staging'
[INFO] [stdout] test protocol::sites::tests::run_fails_when_count_too_low ... ok
[INFO] [stdout] test protocol::sites::tests::match_lines_returns_empty_when_no_match ... ok
[INFO] [stdout] test protocol::sites::tests::run_fails_when_count_too_high ... ok
[INFO] [stdout] test protocol::sites::tests::run_returns_error_for_missing_file ... ok
[INFO] [stderr] Switched to branch 'release'
[INFO] [stdout] Initialized empty Git repository in /tmp/.tmpc1mpgN/
[INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name
[INFO] [stderr] hint: will change to "main" in Git 3.0. To configure the initial branch name
[INFO] [stderr] hint: to use in all of your new repositories, which will suppress this warning,
[INFO] [stderr] hint: call:
[INFO] [stderr] hint:
[INFO] [stderr] hint: 	git config --global init.defaultBranch <name>
[INFO] [stderr] hint:
[INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
[INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command:
[INFO] [stderr] hint:
[INFO] [stderr] hint: 	git branch -m <name>
[INFO] [stderr] hint:
[INFO] [stderr] hint: Disable this message with "git config set advice.defaultBranchName false"
[INFO] [stdout] test pipeline_runner::tests::conformance_passed_true_with_fail_step_panics - should panic ... ok
[INFO] [stdout] test pipeline_runner::tests::conformance_passed_false_without_fail_step_panics - should panic ... ok
[INFO] [stdout] test fmt::tests::dry_run_format_affected ... FAILED
[INFO] [stdout] test protocol::drift::tests::read_lockfile_accepts_valid_lockfile ... ok
[INFO] [stdout] test protocol::sites::tests::run_passes_when_count_matches ... ok
[INFO] [stdout] test protocol::sites::tests::run_warn_only_returns_ok_on_mismatch ... ok
[INFO] [stdout] test protocol::sites::tests::run_zero_expected_passes_on_empty_file ... ok
[INFO] [stdout] test publish::tests::config_publish_order_overrides_constant ... ok
[INFO] [stdout] test publish::tests::core_before_init ... ok
[INFO] [stdout] test publish::tests::effective_allow_dirty_none_config_defaults_false ... ok
[INFO] [stdout] test ctx::tests::pipeline_run_context_has_required_fields ... ok
[INFO] [stdout] test publish::tests::publish_order_ends_with_root ... ok
[INFO] [stdout] test publish::tests::effective_allow_dirty_cli_true_no_config ... ok
[INFO] [stdout] test publish::tests::effective_skip_docs_config_used_when_cli_false ... ok
[INFO] [stdout] test publish::tests::publish_order_starts_with_types ... ok
[INFO] [stdout] test publish::tests::publish_order_has_all_crates ... ok
[INFO] [stdout] test publish::tests::empty_config_publish_order_falls_back_to_constant ... ok
[INFO] [stdout] test publish::tests::engine_before_root ... ok
[INFO] [stdout] test quick::tests::run_is_exported_with_expected_signature ... ok
[INFO] [stdout] test release::gh::tests::parse_https_no_suffix ... ok
[INFO] [stdout] test release::gh::tests::parse_https_url ... ok
[INFO] [stdout] test publish::tests::types_before_core ... ok
[INFO] [stdout] test publish::tests::engine_before_tui ... ok
[INFO] [stdout] test release::gh::tests::parse_non_github_returns_none ... ok
[INFO] [stdout] test publish::tests::core_before_engine ... ok
[INFO] [stdout] test step::tests::pipeline_attaches_run_context ... ok
[INFO] [stdout] test step::tests::pipeline_attaches_step_context_from_sink ... ok
[INFO] [stdout] test release::gh::tests::parse_ssh_url ... ok
[INFO] [stdout] test step::tests::pipeline_fail_fast_false_runs_all_steps ... ok
[INFO] [stdout] test step::tests::pipeline_fail_fast_skips_remaining ... ok
[INFO] [stdout] test step::tests::pipeline_gate_pass_continues ... ok
[INFO] [stdout] test step::tests::pipeline_gate_skips_all_on_failure ... ok
[INFO] [stdout] test step::tests::pipeline_non_gate_failure_does_not_block_non_fail_fast ... ok
[INFO] [stdout] test publish::tests::tui_before_root ... ok
[INFO] [stdout] test step::tests::step_status_display ... ok
[INFO] [stdout] test step::tests::pipeline_all_pass ... ok
[INFO] [stdout] test step::tests::step_status_skipped_display ... ok
[INFO] [stdout] test telemetry::tests::epoch_days_from_day_dir_parses_partitioned_path ... ok
[INFO] [stdout] test step::tests::pipeline_run_returns_outcome_with_error_and_gate ... ok
[INFO] [stdout] test step::tests::pipeline_multiple_failures_all_recorded_fail_fast_false ... ok
[INFO] [stdout] test telemetry::tests::days_from_civil_matches_known_epoch ... ok
[INFO] [stdout] test telemetry::tests::latest_metric_missing_returns_none ... ok
[INFO] [stdout] test telemetry::tests::load_window_missing_dir_is_empty ... ok
[INFO] [stdout] test release::gh::tests::resolve_repo_falls_back_to_remote ... ok
[INFO] [stdout] test step::tests::pipeline_with_no_steps_passes ... ok
[INFO] [stdout] test testing::bench::tests::build_bench_args_always_starts_with_bench ... ok
[INFO] [stdout] test telemetry::tests::record_is_noop_in_dry_run ... ok
[INFO] [stdout] test publish::tests::effective_skip_docs_cli_wins ... ok
[INFO] [stdout] test testing::bench::tests::build_bench_args_workspace_no_baseline ... ok
[INFO] [stdout] test testing::bench::tests::build_bench_args_workspace_with_baseline ... ok
[INFO] [stdout] test testing::compile::tests::collect_crate_roots_finds_direct_child_crate ... ok
[INFO] [stdout] test testing::compile::tests::collect_crate_roots_skips_target_directory ... ok
[INFO] [stdout] test testing::compile::tests::collect_crate_roots_skips_workspace_root_manifest ... ok
[INFO] [stdout] test testing::bench::tests::build_bench_args_single_crate ... ok
[INFO] [stdout] test testing::compile::tests::collect_crate_roots_stops_at_nested_crate_root ... ok
[INFO] [stdout] test testing::bench::tests::build_bench_args_single_crate_with_baseline ... ok
[INFO] [stdout] test testing::compile::tests::collect_rs_files_skips_ignored_directories ... ok
[INFO] [stdout] test testing::compile::tests::collect_rs_files_finds_rs_files_recursively ... ok
[INFO] [stdout] test testing::compile::tests::collect_rs_files_skips_non_rs_files ... ok
[INFO] [stdout] test testing::compile::tests::collect_rs_files_stops_at_nested_crate_boundary ... ok
[INFO] [stdout] test telemetry::tests::load_window_skips_dates_outside_window ... ok
[INFO] [stdout] test testing::compile::tests::compile_cache_tamper_detected_by_master ... ok
[INFO] [stdout] test testing::compile::tests::compile_cache_write_produces_valid_master_hash ... ok
[INFO] [stdout] test testing::compile::tests::crate_entry_hash_changes_on_cargo_toml_change ... ok
[INFO] [stdout] test testing::compile::tests::crate_entry_hash_stable_for_unchanged_files ... ok
[INFO] [stdout] test testing::compile::tests::file_hash_changes_when_content_changes ... ok
[INFO] [stdout] test testing::compile::tests::crate_entry_modules_map_includes_rs_files_and_manifest ... ok
[INFO] [stdout] test testing::compile::tests::file_hash_differs_for_different_content ... ok
[INFO] [stdout] test testing::compile::tests::file_hash_is_deterministic ... ok
[INFO] [stderr] Switched to branch 'release'
[INFO] [stdout] test testing::compile::tests::file_hash_returns_none_for_missing_file ... ok
[INFO] [stdout] test testing::compile::tests::package_name_from_str_handles_whitespace_around_equals ... ok
[INFO] [stdout] test testing::compile::tests::package_name_from_str_ignores_name_outside_package_section ... ok
[INFO] [stdout] test testing::compile::tests::package_name_from_str_returns_name_for_crate_manifest ... ok
[INFO] [stdout] test testing::compile::tests::package_name_from_str_returns_none_for_empty_input ... ok
[INFO] [stdout] test testing::compile::tests::package_name_from_str_returns_none_for_workspace_manifest ... ok
[INFO] [stdout] test testing::compile::tests::package_name_from_str_returns_none_when_name_not_present ... ok
[INFO] [stdout] test testing::compile::tests::package_name_from_str_stops_at_next_section ... ok
[INFO] [stdout] test testing::compile::tests::regression_package_name_not_confused_by_dependency_named_name ... ok
[INFO] [stdout] test testing::compile::tests::regression_taskit_cache_dir_excluded_from_crate_roots ... ok
[INFO] [stderr] Switched to branch 'main'
[INFO] [stdout] test testing::compile::tests::file_hash_same_content_same_hash ... ok
[INFO] [stdout] test testing::compile::tests::crate_entry_hash_changes_on_module_change ... ok
[INFO] [stdout] test testing::compile::tests::compile_cache_master_hash_stable_across_two_writes ... ok
[INFO] [stdout] test telemetry::tests::latest_metric_ignores_other_metric_names ... ok
[INFO] [stderr] Switched to branch 'staging'
[INFO] [stdout] test telemetry::tests::latest_metric_returns_most_recent_reading ... ok
[INFO] [stdout] test testing::compile::tests::snapshot_cargo_lock_hash_present_when_file_exists ... ok
[INFO] [stdout] test testing::compile::tests::snapshot_ignores_workspace_excluded_package ... ok
[INFO] [stdout] test flow::tests::auto_ci_failure_returns_ci_failed_and_stays_on_release ... ok
[INFO] [stdout] test testing::compile::tests::stale_crates_all_stale_against_empty_cache ... ok
[INFO] [stdout] test testing::compile::tests::stale_crates_returns_changed_crate ... ok
[INFO] [stdout] test testing::compile::tests::stale_crates_empty_when_all_match ... ok
[INFO] [stdout] test testing::compile::tests::stale_crates_empty_when_cache_is_default_and_current_is_empty ... ok
[INFO] [stdout] test testing::coverage::tests::collect_percent_dry_run_returns_none ... ok
[INFO] [stdout] test testing::coverage::tests::parse_line_coverage_empty_data_array_returns_none ... ok
[INFO] [stdout] test testing::coverage::tests::parse_line_coverage_hundred_percent ... ok
[INFO] [stdout] test testing::coverage::tests::parse_line_coverage_returns_none_on_invalid_json ... ok
[INFO] [stdout] test testing::coverage::tests::parse_line_coverage_extracts_percent ... ok
[INFO] [stdout] test config::tests::prop_parse_config_never_panics ... ok
[INFO] [stdout] test testing::coverage::tests::parse_line_coverage_returns_none_when_percent_is_string ... ok
[INFO] [stdout] test testing::coverage::tests::parse_line_coverage_uses_first_data_entry ... ok
[INFO] [stdout] test testing::compile::tests::stale_crates_returns_new_crate_absent_from_cache ... ok
[INFO] [stdout] test testing::coverage::tests::parse_line_coverage_returns_none_when_data_is_not_array ... ok
[INFO] [stdout] test testing::coverage::tests::parse_line_coverage_returns_none_on_missing_field ... ok
[INFO] [stdout] test testing::run::tests::offline_skip_expr_returns_configured_value ... ok
[INFO] [stdout] test testing::compile::tests::stale_crates_all_stale_when_lock_changes ... ok
[INFO] [stdout] test testing::run::tests::parse_nextest_json_failed_test ... ok
[INFO] [stdout] test testing::coverage::tests::parse_line_coverage_zero_percent ... ok
[INFO] [stdout] test testing::coverage::tests::scope_label ... ok
[INFO] [stdout] test testing::run::tests::offline_skip_expr_returns_none_by_default ... ok
[INFO] [stdout] test testing::run::tests::parse_nextest_json_failed_without_panic ... ok
[INFO] [stdout] test telemetry::tests::record_round_trip_via_ndjson ... ok
[INFO] [stdout] test testing::run::tests::parse_panic_location_with_message ... ok
[INFO] [stdout] test testing::run::tests::parse_panic_location_extracts_file_line ... ok
[INFO] [stdout] test testing::run::tests::parse_panic_location_no_match ... ok
[INFO] [stdout] test testing::run::tests::parse_nextest_json_empty ... ok
[INFO] [stderr] Switched to branch 'main'
[INFO] [stdout] test testing::run::tests::parse_nextest_json_passing_test_ignored ... ok
[INFO] [stderr] Switched to branch 'release'
[INFO] [stdout] test testing::self_test::tests::empty_cached_hash_is_never_a_hit ... ok
[INFO] [stderr] Switched to branch 'develop'
[INFO] [stdout] test testing::run::tests::parse_nextest_json_suite_events_ignored ... ok
[INFO] [stdout] test testing::self_test::tests::file_hash_differs_for_different_content ... ok
[INFO] [stdout] test testing::self_test::tests::file_hash_is_deterministic ... ok
[INFO] [stdout] test testing::self_test::tests::collect_rs_files_finds_rs_files ... ok
[INFO] [stdout] test testing::self_test::tests::collect_rs_files_recurses_into_subdirs ... ok
[INFO] [stdout] test testing::self_test::tests::collect_rs_files_hash_changes_when_file_changes ... ok
[INFO] [stdout] test testing::self_test::tests::collect_rs_files_skips_non_rs_files ... ok
[INFO] [stdout] test testing::self_test::tests::file_hash_returns_none_for_missing_file ... ok
[INFO] [stdout] test testing::self_test::tests::file_hash_returns_some_for_existing_file ... ok
[INFO] [stdout] test testing::self_test::tests::file_hash_same_content_same_hash ... ok
[INFO] [stdout] test testing::self_test::tests::self_test_cache_default_has_empty_hash ... ok
[INFO] [stdout] test testing::self_test::tests::self_test_cache_master_hash_stable_across_two_writes ... ok
[INFO] [stdout] test testing::self_test::tests::self_test_cache_roundtrip_preserves_hash ... ok
[INFO] [stdout] test testing::self_test::tests::self_test_cache_tamper_detected_by_master ... ok
[INFO] [stdout] test testing::self_test::tests::mismatched_hash_is_not_a_hit ... ok
[INFO] [stdout] test testing::self_test::tests::self_test_cache_serializes_and_deserializes ... ok
[INFO] [stdout] test testing::self_test::tests::self_test_cache_write_produces_valid_master_hash ... ok
[INFO] [stdout] test tests::engine_crate_compiles ... ok
[INFO] [stdout] test todo_sync::tests::parse_issue_number_rejects_non_numeric ... ok
[INFO] [stdout] test todo_sync::tests::new_marker_not_in_lockfile_is_flagged ... ok
[INFO] [stdout] test todo_sync::tests::parse_issue_number_from_url ... ok
[INFO] [stdout] test todo_sync::tests::read_missing_lockfile_is_err ... ok
[INFO] [stdout] test todo_sync::tests::removed_marker_still_in_lockfile_is_flagged ... ok
[INFO] [stdout] test todo_sync::tests::unchanged_marker_is_neither_new_nor_removed ... ok
[INFO] [stdout] test util::tests::run_per_crate_single_crate_calls_single_cmd ... ok
[INFO] [stdout] test todo_sync::tests::write_and_read_lockfile_round_trips ... ok
[INFO] [stdout] test util::tests::run_per_crate_single_crate_propagates_error ... ok
[INFO] [stdout] test todo_sync::tests::scan_markers_extracts_file_line_and_text ... ok
[INFO] [stdout] test util::tests::run_per_crate_workspace_calls_workspace_cmd ... ok
[INFO] [stdout] test update_claude::tests::dry_run_update_claude ... ok
[INFO] [stdout] test testing::self_test::tests::matching_nonempty_hash_is_a_hit ... ok
[INFO] [stderr] Switched to branch 'develop'
[INFO] [stdout] test util::tests::tool_exists_cmd_returns_false_when_program_exits_nonzero ... ok
[INFO] [stdout] test util::tests::tool_exists_returns_false_for_nonexistent_binary ... ok
[INFO] [stdout] test util::tests::tool_exists_returns_true_for_cargo ... ok
[INFO] [stdout] test util::tests::tool_exists_cmd_returns_true_for_true_cmd ... ok
[INFO] [stdout] test version::tests::find_package_version_returns_first_match_when_multiple ... ok
[INFO] [stdout] test version::tests::find_package_version_returns_unknown_for_empty_list ... ok
[INFO] [stdout] test version::tests::find_package_version_returns_version_when_found ... ok
[INFO] [stdout] test version::tests::find_package_version_returns_unknown_when_not_found ... ok
[INFO] [stdout] test version::tests::find_package_version_returns_unknown_when_version_field_missing ... ok
[INFO] [stdout] test telemetry::tests::ndjson_store_round_trips_through_the_trait ... ok
[INFO] [stdout] test testing::compile::tests::snapshot_hash_changes_when_source_changes ... ok
[INFO] [stderr] Switched to branch 'main'
[INFO] [stdout] test flow::tests::auto_push_failure_returns_push_failed_and_keeps_state ... ok
[INFO] [stdout] test testing::compile::tests::snapshot_cargo_lock_hash_empty_when_file_missing ... ok
[INFO] [stdout] test pipeline_runner::tests::builtin_runner_implements_trait ... ok
[INFO] [stdout] test testing::compile::tests::snapshot_detects_all_crates ... ok
[INFO] [stderr] Switched to branch 'develop'
[INFO] [stderr]     Updating crates.io index
[INFO] [stdout] test pipeline_runner::tests::builtin_runner_with_config_steps_returns_outcome ... ok
[INFO] [stderr] warning: spurious network error (3 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stdout] test flow::tests::auto_ci_pass_completes_finish ... ok
[INFO] [stdout] test discovery::tests::integration_discover_taskit_workspace ... FAILED
[INFO] [stdout] test flow::tests::auto_with_push_updates_remote_branches ... ok
[INFO] [stderr] warning: spurious network error (2 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (1 try remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (3 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (3 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (3 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (3 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (3 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (3 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (3 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (3 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (3 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (3 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (3 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (3 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (3 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (3 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (2 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (2 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (2 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (2 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (2 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (2 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (2 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (2 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (2 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (2 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (2 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (2 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (2 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (2 tries remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (1 try remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (1 try remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (1 try remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (1 try remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (1 try remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (1 try remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (1 try remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (1 try remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (1 try remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (1 try remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (1 try remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (1 try remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (1 try remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] warning: spurious network error (1 try remaining): [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stderr] error: failed to get `cargo_metadata` as a dependency of package `taskit-engine v0.9.0 (/opt/rustwide/workdir)`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   failed to load source for dependency `cargo_metadata`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   unable to update registry `crates-io`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   download of config.json failed
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   [6] Could not resolve hostname (Could not resolve host: index.crates.io)
[INFO] [stdout] test update::tests::update_dry_run_returns_ok ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- fmt::tests::dry_run_check_affected stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'fmt::tests::dry_run_check_affected' (1609) panicked at src/fmt.rs:65:31:
[INFO] [stdout] dry-run fmt --check --affected should succeed: Other("failed to detect affected crates — ensure 'origin/main' is fetchable: command exited with non-zero code `git diff --name-only origin/main...HEAD`: 129")
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5fab2776b0b1 - std[617be2ca0a6fd877]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5fab2776b0b1 - std[617be2ca0a6fd877]::backtrace_rs::backtrace::trace_unsynchronized::<std[617be2ca0a6fd877]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5fab2776b0b1 - std[617be2ca0a6fd877]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5fab2776b0b1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5fab277824ea - <core[a373ad73a504971]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5fab277824ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    6:     0x5fab2776ff1c - core[a373ad73a504971]::io::write::default_write_fmt::<alloc[2e1b2a31b91974c5]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/io/write.rs:402:11
[INFO] [stdout]    7:     0x5fab2776ff1c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/io/write.rs:335:13
[INFO] [stdout]    8:     0x5fab27743226 - <std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5fab27743226 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:289:27
[INFO] [stdout]   10:     0x5fab277620e9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:313:9
[INFO] [stdout]   11:     0x5fab274e8940 - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn for<'a, 'b> core[a373ad73a504971]::ops::function::Fn<(&'a std[617be2ca0a6fd877]::panic::PanicHookInfo<'b>,), Output = ()> + core[a373ad73a504971]::marker::Sync + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::Fn<(&std[617be2ca0a6fd877]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2328:9
[INFO] [stdout]   12:     0x5fab274e8940 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:137:21
[INFO] [stdout]   13:     0x5fab277622a2 - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn for<'a, 'b> core[a373ad73a504971]::ops::function::Fn<(&'a std[617be2ca0a6fd877]::panic::PanicHookInfo<'b>,), Output = ()> + core[a373ad73a504971]::marker::Sync + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::Fn<(&std[617be2ca0a6fd877]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2328:9
[INFO] [stdout]   14:     0x5fab277622a2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:819:13
[INFO] [stdout]   15:     0x5fab277432d2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:685:13
[INFO] [stdout]   16:     0x5fab2773b9f9 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5fab2774410d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:676:5
[INFO] [stdout]   18:     0x5fab27782d8c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5fab27782ae2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/result.rs:1870:5
[INFO] [stdout]   20:     0x5fab2737b9a6 - <core[a373ad73a504971]::result::Result<(), taskit_types[b0edd4a161ec3e3b]::error::TaskitError>>::expect
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/result.rs:1184:23
[INFO] [stdout]   21:     0x5fab271dbb21 - taskit_engine[70aebf162e63473e]::fmt::tests::dry_run_check_affected
[INFO] [stdout]                                at /opt/rustwide/workdir/src/fmt.rs:65:31
[INFO] [stdout]   22:     0x5fab271d7b07 - taskit_engine[70aebf162e63473e]::fmt::tests::dry_run_check_affected::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/fmt.rs:63:32
[INFO] [stdout]   23:     0x5fab2720ccc6 - <taskit_engine[70aebf162e63473e]::fmt::tests::dry_run_check_affected::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5fab274dbd8b - <fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5fab274dbd8b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:701:18
[INFO] [stdout]   26:     0x5fab274e8f65 - test[aada8e7e76ba119b]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:724:74
[INFO] [stdout]   27:     0x5fab274e8f65 - <core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x5fab274e8f65 - std[617be2ca0a6fd877]::panicking::catch_unwind::do_call::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>, core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:573:43
[INFO] [stdout]   29:     0x5fab274e8f65 - std[617be2ca0a6fd877]::panicking::catch_unwind::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:541:19
[INFO] [stdout]   30:     0x5fab274e8f65 - std[617be2ca0a6fd877]::panic::catch_unwind::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>, core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5fab274e8f65 - test[aada8e7e76ba119b]::run_test_in_process
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:724:27
[INFO] [stdout]   32:     0x5fab274e8f65 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:645:43
[INFO] [stdout]   33:     0x5fab274e2854 - test[aada8e7e76ba119b]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:675:41
[INFO] [stdout]   34:     0x5fab274e2854 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5fab274ebff2 - std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x5fab274ebff2 - <core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x5fab274ebff2 - std[617be2ca0a6fd877]::panicking::catch_unwind::do_call::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:573:43
[INFO] [stdout]   38:     0x5fab274ebff2 - std[617be2ca0a6fd877]::panicking::catch_unwind::<(), core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:541:19
[INFO] [stdout]   39:     0x5fab274ebff2 - std[617be2ca0a6fd877]::panic::catch_unwind::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5fab274ebff2 - std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x5fab274ebff2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5fab2776a0bf - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn core[a373ad73a504971]::ops::function::FnOnce<(), Output = ()> + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2314:9
[INFO] [stdout]   43:     0x5fab2776a0bf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   44:     0x757bef5b6dfa - <unknown>
[INFO] [stdout]   45:     0x757bef64a3d4 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- discovery::tests::cargo_metadata_source_finds_taskit_itself stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'discovery::tests::cargo_metadata_source_finds_taskit_itself' (1506) panicked at src/discovery.rs:379:9:
[INFO] [stdout] should discover taskit itself: [DiscoveredCrate { dir: "taskit-engine", pkg: "taskit-engine", manifest_path: "/opt/rustwide/workdir/Cargo.toml" }]
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5fab2776b0b1 - std[617be2ca0a6fd877]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5fab2776b0b1 - std[617be2ca0a6fd877]::backtrace_rs::backtrace::trace_unsynchronized::<std[617be2ca0a6fd877]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5fab2776b0b1 - std[617be2ca0a6fd877]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5fab2776b0b1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5fab277824ea - <core[a373ad73a504971]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5fab277824ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    6:     0x5fab2776ff1c - core[a373ad73a504971]::io::write::default_write_fmt::<alloc[2e1b2a31b91974c5]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/io/write.rs:402:11
[INFO] [stdout]    7:     0x5fab2776ff1c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/io/write.rs:335:13
[INFO] [stdout]    8:     0x5fab27743226 - <std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5fab27743226 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:289:27
[INFO] [stdout]   10:     0x5fab277620e9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:313:9
[INFO] [stdout]   11:     0x5fab274e8940 - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn for<'a, 'b> core[a373ad73a504971]::ops::function::Fn<(&'a std[617be2ca0a6fd877]::panic::PanicHookInfo<'b>,), Output = ()> + core[a373ad73a504971]::marker::Sync + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::Fn<(&std[617be2ca0a6fd877]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2328:9
[INFO] [stdout]   12:     0x5fab274e8940 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:137:21
[INFO] [stdout]   13:     0x5fab277622a2 - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn for<'a, 'b> core[a373ad73a504971]::ops::function::Fn<(&'a std[617be2ca0a6fd877]::panic::PanicHookInfo<'b>,), Output = ()> + core[a373ad73a504971]::marker::Sync + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::Fn<(&std[617be2ca0a6fd877]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2328:9
[INFO] [stdout]   14:     0x5fab277622a2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:819:13
[INFO] [stdout]   15:     0x5fab277432d2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:685:13
[INFO] [stdout]   16:     0x5fab2773b9f9 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5fab2774410d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:676:5
[INFO] [stdout]   18:     0x5fab27782d8c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5fab27290728 - taskit_engine[70aebf162e63473e]::discovery::tests::cargo_metadata_source_finds_taskit_itself
[INFO] [stdout]                                at /opt/rustwide/workdir/src/discovery.rs:379:9
[INFO] [stdout]   20:     0x5fab27280607 - taskit_engine[70aebf162e63473e]::discovery::tests::cargo_metadata_source_finds_taskit_itself::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/discovery.rs:373:51
[INFO] [stdout]   21:     0x5fab2720f246 - <taskit_engine[70aebf162e63473e]::discovery::tests::cargo_metadata_source_finds_taskit_itself::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5fab274dbd8b - <fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5fab274dbd8b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:701:18
[INFO] [stdout]   24:     0x5fab274e8f65 - test[aada8e7e76ba119b]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:724:74
[INFO] [stdout]   25:     0x5fab274e8f65 - <core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   26:     0x5fab274e8f65 - std[617be2ca0a6fd877]::panicking::catch_unwind::do_call::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>, core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:573:43
[INFO] [stdout]   27:     0x5fab274e8f65 - std[617be2ca0a6fd877]::panicking::catch_unwind::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:541:19
[INFO] [stdout]   28:     0x5fab274e8f65 - std[617be2ca0a6fd877]::panic::catch_unwind::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>, core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x5fab274e8f65 - test[aada8e7e76ba119b]::run_test_in_process
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:724:27
[INFO] [stdout]   30:     0x5fab274e8f65 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:645:43
[INFO] [stdout]   31:     0x5fab274e2854 - test[aada8e7e76ba119b]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:675:41
[INFO] [stdout]   32:     0x5fab274e2854 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x5fab274ebff2 - std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   34:     0x5fab274ebff2 - <core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x5fab274ebff2 - std[617be2ca0a6fd877]::panicking::catch_unwind::do_call::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:573:43
[INFO] [stdout]   36:     0x5fab274ebff2 - std[617be2ca0a6fd877]::panicking::catch_unwind::<(), core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:541:19
[INFO] [stdout]   37:     0x5fab274ebff2 - std[617be2ca0a6fd877]::panic::catch_unwind::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x5fab274ebff2 - std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   39:     0x5fab274ebff2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x5fab2776a0bf - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn core[a373ad73a504971]::ops::function::FnOnce<(), Output = ()> + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2314:9
[INFO] [stdout]   41:     0x5fab2776a0bf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   42:     0x757bef5b6dfa - <unknown>
[INFO] [stdout]   43:     0x757bef64a3d4 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- fmt::tests::dry_run_format_affected stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'fmt::tests::dry_run_format_affected' (1614) panicked at src/fmt.rs:71:32:
[INFO] [stdout] dry-run fmt --affected should succeed: Other("failed to detect affected crates — ensure 'origin/main' is fetchable: command exited with non-zero code `git diff --name-only origin/main...HEAD`: 129")
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5fab2776b0b1 - std[617be2ca0a6fd877]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5fab2776b0b1 - std[617be2ca0a6fd877]::backtrace_rs::backtrace::trace_unsynchronized::<std[617be2ca0a6fd877]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5fab2776b0b1 - std[617be2ca0a6fd877]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5fab2776b0b1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5fab277824ea - <core[a373ad73a504971]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5fab277824ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    6:     0x5fab2776ff1c - core[a373ad73a504971]::io::write::default_write_fmt::<alloc[2e1b2a31b91974c5]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/io/write.rs:402:11
[INFO] [stdout]    7:     0x5fab2776ff1c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/io/write.rs:335:13
[INFO] [stdout]    8:     0x5fab27743226 - <std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5fab27743226 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:289:27
[INFO] [stdout]   10:     0x5fab277620e9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:313:9
[INFO] [stdout]   11:     0x5fab274e8940 - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn for<'a, 'b> core[a373ad73a504971]::ops::function::Fn<(&'a std[617be2ca0a6fd877]::panic::PanicHookInfo<'b>,), Output = ()> + core[a373ad73a504971]::marker::Sync + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::Fn<(&std[617be2ca0a6fd877]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2328:9
[INFO] [stdout]   12:     0x5fab274e8940 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:137:21
[INFO] [stdout]   13:     0x5fab277622a2 - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn for<'a, 'b> core[a373ad73a504971]::ops::function::Fn<(&'a std[617be2ca0a6fd877]::panic::PanicHookInfo<'b>,), Output = ()> + core[a373ad73a504971]::marker::Sync + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::Fn<(&std[617be2ca0a6fd877]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2328:9
[INFO] [stdout]   14:     0x5fab277622a2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:819:13
[INFO] [stdout]   15:     0x5fab277432d2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:685:13
[INFO] [stdout]   16:     0x5fab2773b9f9 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5fab2774410d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:676:5
[INFO] [stdout]   18:     0x5fab27782d8c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5fab27782ae2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/result.rs:1870:5
[INFO] [stdout]   20:     0x5fab2737b9a6 - <core[a373ad73a504971]::result::Result<(), taskit_types[b0edd4a161ec3e3b]::error::TaskitError>>::expect
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/result.rs:1184:23
[INFO] [stdout]   21:     0x5fab271dbbc1 - taskit_engine[70aebf162e63473e]::fmt::tests::dry_run_format_affected
[INFO] [stdout]                                at /opt/rustwide/workdir/src/fmt.rs:71:32
[INFO] [stdout]   22:     0x5fab271d7b37 - taskit_engine[70aebf162e63473e]::fmt::tests::dry_run_format_affected::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/fmt.rs:69:33
[INFO] [stdout]   23:     0x5fab2720cce6 - <taskit_engine[70aebf162e63473e]::fmt::tests::dry_run_format_affected::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5fab274dbd8b - <fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5fab274dbd8b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:701:18
[INFO] [stdout]   26:     0x5fab274e8f65 - test[aada8e7e76ba119b]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:724:74
[INFO] [stdout]   27:     0x5fab274e8f65 - <core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x5fab274e8f65 - std[617be2ca0a6fd877]::panicking::catch_unwind::do_call::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>, core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:573:43
[INFO] [stdout]   29:     0x5fab274e8f65 - std[617be2ca0a6fd877]::panicking::catch_unwind::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:541:19
[INFO] [stdout]   30:     0x5fab274e8f65 - std[617be2ca0a6fd877]::panic::catch_unwind::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>, core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5fab274e8f65 - test[aada8e7e76ba119b]::run_test_in_process
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:724:27
[INFO] [stdout]   32:     0x5fab274e8f65 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:645:43
[INFO] [stdout]   33:     0x5fab274e2854 - test[aada8e7e76ba119b]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:675:41
[INFO] [stdout]   34:     0x5fab274e2854 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5fab274ebff2 - std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x5fab274ebff2 - <core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x5fab274ebff2 - std[617be2ca0a6fd877]::panicking::catch_unwind::do_call::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:573:43
[INFO] [stdout]   38:     0x5fab274ebff2 - std[617be2ca0a6fd877]::panicking::catch_unwind::<(), core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:541:19
[INFO] [stdout]   39:     0x5fab274ebff2 - std[617be2ca0a6fd877]::panic::catch_unwind::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5fab274ebff2 - std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x5fab274ebff2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5fab2776a0bf - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn core[a373ad73a504971]::ops::function::FnOnce<(), Output = ()> + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2314:9
[INFO] [stdout]   43:     0x5fab2776a0bf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   44:     0x757bef5b6dfa - <unknown>
[INFO] [stdout]   45:     0x757bef64a3d4 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- discovery::tests::integration_discover_taskit_workspace stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'discovery::tests::integration_discover_taskit_workspace' (1514) panicked at src/discovery.rs:251:9:
[INFO] [stdout] should discover taskit itself: ["taskit-engine"]
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5fab2776b0b1 - std[617be2ca0a6fd877]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5fab2776b0b1 - std[617be2ca0a6fd877]::backtrace_rs::backtrace::trace_unsynchronized::<std[617be2ca0a6fd877]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5fab2776b0b1 - std[617be2ca0a6fd877]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5fab2776b0b1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5fab277824ea - <core[a373ad73a504971]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5fab277824ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    6:     0x5fab2776ff1c - core[a373ad73a504971]::io::write::default_write_fmt::<alloc[2e1b2a31b91974c5]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/io/write.rs:402:11
[INFO] [stdout]    7:     0x5fab2776ff1c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/io/write.rs:335:13
[INFO] [stdout]    8:     0x5fab27743226 - <std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5fab27743226 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:289:27
[INFO] [stdout]   10:     0x5fab277620e9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:313:9
[INFO] [stdout]   11:     0x5fab274e8940 - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn for<'a, 'b> core[a373ad73a504971]::ops::function::Fn<(&'a std[617be2ca0a6fd877]::panic::PanicHookInfo<'b>,), Output = ()> + core[a373ad73a504971]::marker::Sync + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::Fn<(&std[617be2ca0a6fd877]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2328:9
[INFO] [stdout]   12:     0x5fab274e8940 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:137:21
[INFO] [stdout]   13:     0x5fab277622a2 - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn for<'a, 'b> core[a373ad73a504971]::ops::function::Fn<(&'a std[617be2ca0a6fd877]::panic::PanicHookInfo<'b>,), Output = ()> + core[a373ad73a504971]::marker::Sync + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::Fn<(&std[617be2ca0a6fd877]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2328:9
[INFO] [stdout]   14:     0x5fab277622a2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:819:13
[INFO] [stdout]   15:     0x5fab277432d2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:685:13
[INFO] [stdout]   16:     0x5fab2773b9f9 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5fab2774410d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:676:5
[INFO] [stdout]   18:     0x5fab27782d8c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5fab2728fe76 - taskit_engine[70aebf162e63473e]::discovery::tests::integration_discover_taskit_workspace
[INFO] [stdout]                                at /opt/rustwide/workdir/src/discovery.rs:251:9
[INFO] [stdout]   20:     0x5fab272805a7 - taskit_engine[70aebf162e63473e]::discovery::tests::integration_discover_taskit_workspace::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/discovery.rs:238:47
[INFO] [stdout]   21:     0x5fab2720f206 - <taskit_engine[70aebf162e63473e]::discovery::tests::integration_discover_taskit_workspace::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5fab274dbd8b - <fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5fab274dbd8b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:701:18
[INFO] [stdout]   24:     0x5fab274e8f65 - test[aada8e7e76ba119b]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:724:74
[INFO] [stdout]   25:     0x5fab274e8f65 - <core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   26:     0x5fab274e8f65 - std[617be2ca0a6fd877]::panicking::catch_unwind::do_call::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>, core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:573:43
[INFO] [stdout]   27:     0x5fab274e8f65 - std[617be2ca0a6fd877]::panicking::catch_unwind::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:541:19
[INFO] [stdout]   28:     0x5fab274e8f65 - std[617be2ca0a6fd877]::panic::catch_unwind::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>, core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x5fab274e8f65 - test[aada8e7e76ba119b]::run_test_in_process
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:724:27
[INFO] [stdout]   30:     0x5fab274e8f65 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:645:43
[INFO] [stdout]   31:     0x5fab274e2854 - test[aada8e7e76ba119b]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:675:41
[INFO] [stdout]   32:     0x5fab274e2854 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x5fab274ebff2 - std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   34:     0x5fab274ebff2 - <core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x5fab274ebff2 - std[617be2ca0a6fd877]::panicking::catch_unwind::do_call::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:573:43
[INFO] [stdout]   36:     0x5fab274ebff2 - std[617be2ca0a6fd877]::panicking::catch_unwind::<(), core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:541:19
[INFO] [stdout]   37:     0x5fab274ebff2 - std[617be2ca0a6fd877]::panic::catch_unwind::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x5fab274ebff2 - std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   39:     0x5fab274ebff2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x5fab2776a0bf - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn core[a373ad73a504971]::ops::function::FnOnce<(), Output = ()> + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2314:9
[INFO] [stdout]   41:     0x5fab2776a0bf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   42:     0x757bef5b6dfa - <unknown>
[INFO] [stdout]   43:     0x757bef64a3d4 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- update::tests::update_dry_run_returns_ok stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'update::tests::update_dry_run_returns_ok' (2194) panicked at src/update.rs:33:9:
[INFO] [stdout] assertion failed: run(&ctx, false).is_ok()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5fab2776b0b1 - std[617be2ca0a6fd877]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5fab2776b0b1 - std[617be2ca0a6fd877]::backtrace_rs::backtrace::trace_unsynchronized::<std[617be2ca0a6fd877]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5fab2776b0b1 - std[617be2ca0a6fd877]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5fab2776b0b1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5fab277824ea - <core[a373ad73a504971]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5fab277824ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    6:     0x5fab2776ff1c - core[a373ad73a504971]::io::write::default_write_fmt::<alloc[2e1b2a31b91974c5]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/io/write.rs:402:11
[INFO] [stdout]    7:     0x5fab2776ff1c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/io/write.rs:335:13
[INFO] [stdout]    8:     0x5fab27743226 - <std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5fab27743226 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:289:27
[INFO] [stdout]   10:     0x5fab277620e9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:313:9
[INFO] [stdout]   11:     0x5fab274e8940 - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn for<'a, 'b> core[a373ad73a504971]::ops::function::Fn<(&'a std[617be2ca0a6fd877]::panic::PanicHookInfo<'b>,), Output = ()> + core[a373ad73a504971]::marker::Sync + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::Fn<(&std[617be2ca0a6fd877]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2328:9
[INFO] [stdout]   12:     0x5fab274e8940 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:137:21
[INFO] [stdout]   13:     0x5fab277622a2 - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn for<'a, 'b> core[a373ad73a504971]::ops::function::Fn<(&'a std[617be2ca0a6fd877]::panic::PanicHookInfo<'b>,), Output = ()> + core[a373ad73a504971]::marker::Sync + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::Fn<(&std[617be2ca0a6fd877]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2328:9
[INFO] [stdout]   14:     0x5fab277622a2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:819:13
[INFO] [stdout]   15:     0x5fab27743304 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:678:13
[INFO] [stdout]   16:     0x5fab2773b9f9 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5fab2774410d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:676:5
[INFO] [stdout]   18:     0x5fab27782d8c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5fab27782d52 - core[a373ad73a504971]::panicking::panic
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5fab2725ed0d - taskit_engine[70aebf162e63473e]::update::tests::update_dry_run_returns_ok
[INFO] [stdout]                                at /opt/rustwide/workdir/src/update.rs:33:9
[INFO] [stdout]   21:     0x5fab27243da7 - taskit_engine[70aebf162e63473e]::update::tests::update_dry_run_returns_ok::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/update.rs:31:35
[INFO] [stdout]   22:     0x5fab2720e8e6 - <taskit_engine[70aebf162e63473e]::update::tests::update_dry_run_returns_ok::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5fab274dbd8b - <fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5fab274dbd8b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:701:18
[INFO] [stdout]   25:     0x5fab274e8f65 - test[aada8e7e76ba119b]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:724:74
[INFO] [stdout]   26:     0x5fab274e8f65 - <core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x5fab274e8f65 - std[617be2ca0a6fd877]::panicking::catch_unwind::do_call::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>, core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:573:43
[INFO] [stdout]   28:     0x5fab274e8f65 - std[617be2ca0a6fd877]::panicking::catch_unwind::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:541:19
[INFO] [stdout]   29:     0x5fab274e8f65 - std[617be2ca0a6fd877]::panic::catch_unwind::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>, core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5fab274e8f65 - test[aada8e7e76ba119b]::run_test_in_process
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:724:27
[INFO] [stdout]   31:     0x5fab274e8f65 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:645:43
[INFO] [stdout]   32:     0x5fab274e2854 - test[aada8e7e76ba119b]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:675:41
[INFO] [stdout]   33:     0x5fab274e2854 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5fab274ebff2 - std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x5fab274ebff2 - <core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x5fab274ebff2 - std[617be2ca0a6fd877]::panicking::catch_unwind::do_call::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:573:43
[INFO] [stdout]   37:     0x5fab274ebff2 - std[617be2ca0a6fd877]::panicking::catch_unwind::<(), core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:541:19
[INFO] [stdout]   38:     0x5fab274ebff2 - std[617be2ca0a6fd877]::panic::catch_unwind::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5fab274ebff2 - std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x5fab274ebff2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5fab2776a0bf - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn core[a373ad73a504971]::ops::function::FnOnce<(), Output = ()> + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2314:9
[INFO] [stdout]   42:     0x5fab2776a0bf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   43:     0x757bef5b6dfa - <unknown>
[INFO] [stdout]   44:     0x757bef64a3d4 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     discovery::tests::cargo_metadata_source_finds_taskit_itself
[INFO] [stdout]     discovery::tests::integration_discover_taskit_workspace
[INFO] [stdout]     fmt::tests::dry_run_check_affected
[INFO] [stdout]     fmt::tests::dry_run_format_affected
[INFO] [stdout]     update::tests::update_dry_run_returns_ok
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 500 passed; 5 failed; 0 ignored; 0 measured; 0 filtered out; finished in 23.07s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "ff6bc856d5a9b7ab60c29fabc9102b1f974367ece44d1bb872fa04d45a8591f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ff6bc856d5a9b7ab60c29fabc9102b1f974367ece44d1bb872fa04d45a8591f8", kill_on_drop: false }`
[INFO] [stdout] ff6bc856d5a9b7ab60c29fabc9102b1f974367ece44d1bb872fa04d45a8591f8
