[INFO] fetching crate ferrous 0.1.0...
[INFO] testing ferrous-0.1.0 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7
[INFO] extracting crate ferrous 0.1.0 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate ferrous 0.1.0
[INFO] finished tweaking crates.io crate ferrous 0.1.0
[INFO] tweaked toml for crates.io crate ferrous 0.1.0 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate ferrous 0.1.0 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 6 packages to latest compatible versions
[INFO] [stderr]       Adding time v0.1.45 (available: v0.3.44)
[INFO] [stderr]       Adding wasi v0.10.0+wasi-snapshot-preview1 (available: v0.10.2+wasi-snapshot-preview1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 81b594f0c2def976224b8f9a8f0dd5a77e2b31067b5863c2978de5c788765635
[INFO] running `Command { std: "docker" "start" "-a" "81b594f0c2def976224b8f9a8f0dd5a77e2b31067b5863c2978de5c788765635", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "81b594f0c2def976224b8f9a8f0dd5a77e2b31067b5863c2978de5c788765635", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "81b594f0c2def976224b8f9a8f0dd5a77e2b31067b5863c2978de5c788765635", kill_on_drop: false }`
[INFO] [stdout] 81b594f0c2def976224b8f9a8f0dd5a77e2b31067b5863c2978de5c788765635
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 32db8c37830ba381b927eece33dec065f81bd989887d893863974ad8f59de75b
[INFO] running `Command { std: "docker" "start" "-a" "32db8c37830ba381b927eece33dec065f81bd989887d893863974ad8f59de75b", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling time v0.1.45
[INFO] [stderr]    Compiling ferrous v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep`
[INFO] [stdout]    --> src/dsl/assertions.rs:123:21
[INFO] [stdout]     |
[INFO] [stdout] 123 |             thread::sleep_ms(self.polling_interval);
[INFO] [stdout]     |                     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep`
[INFO] [stdout]    --> src/dsl/assertions.rs:138:21
[INFO] [stdout]     |
[INFO] [stdout] 138 |             thread::sleep_ms(self.polling_interval);
[INFO] [stdout]     |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/dsl/assertions.rs:38:15
[INFO] [stdout]    |
[INFO] [stdout] 38 |     func: Box<Fn() -> A>,
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 38 |     func: Box<dyn Fn() -> A>,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]  --> src/dsl/matchers/equals.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn new(expected: &'a E) -> Equals<E> {
[INFO] [stdout]   |                           --       ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |                           |
[INFO] [stdout]   |                           the lifetime is named here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn new(expected: &'a E) -> Equals<'a, E> {
[INFO] [stdout]   |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]  --> src/dsl/matchers/contain.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn new(expected: &'a E) -> Contain<E> {
[INFO] [stdout]   |                           --       ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |                           |
[INFO] [stdout]   |                           the lifetime is named here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn new(expected: &'a E) -> Contain<'a, E> {
[INFO] [stdout]   |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/dsl/assertions.rs:20:20
[INFO] [stdout]    |
[INFO] [stdout] 20 |             panic!(matcher.failure_message(self.actual));
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 20 |             panic!("{}", matcher.failure_message(self.actual));
[INFO] [stdout]    |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/dsl/assertions.rs:26:20
[INFO] [stdout]    |
[INFO] [stdout] 26 |             panic!(matcher.negated_failure_message(self.actual));
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 26 |             panic!("{}", matcher.negated_failure_message(self.actual));
[INFO] [stdout]    |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/dsl/assertions.rs:69:28
[INFO] [stdout]    |
[INFO] [stdout] 69 |                     panic!(matcher.failure_message(&actual));
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 69 |                     panic!("{}", matcher.failure_message(&actual));
[INFO] [stdout]    |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/dsl/assertions.rs:89:28
[INFO] [stdout]    |
[INFO] [stdout] 89 |                     panic!(matcher.negated_failure_message(&actual));
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 89 |                     panic!("{}", matcher.negated_failure_message(&actual));
[INFO] [stdout]    |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/dsl/assertions.rs:98:24
[INFO] [stdout]    |
[INFO] [stdout] 98 |                 panic!(matcher.failure_message(&actual));
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 98 |                 panic!("{}", matcher.failure_message(&actual));
[INFO] [stdout]    |                        +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/dsl/assertions.rs:107:24
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 panic!(matcher.negated_failure_message(&actual));
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 panic!("{}", matcher.negated_failure_message(&actual));
[INFO] [stdout]     |                        +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.39s
[INFO] running `Command { std: "docker" "inspect" "32db8c37830ba381b927eece33dec065f81bd989887d893863974ad8f59de75b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "32db8c37830ba381b927eece33dec065f81bd989887d893863974ad8f59de75b", kill_on_drop: false }`
[INFO] [stdout] 32db8c37830ba381b927eece33dec065f81bd989887d893863974ad8f59de75b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2899c312a77ae17e1dc47cdef2d80816b8b95ae94cebb33c90715658fec404ad
[INFO] running `Command { std: "docker" "start" "-a" "2899c312a77ae17e1dc47cdef2d80816b8b95ae94cebb33c90715658fec404ad", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stdout] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep`
[INFO] [stdout]    --> src/dsl/assertions.rs:123:21
[INFO] [stdout]     |
[INFO] [stdout] 123 |             thread::sleep_ms(self.polling_interval);
[INFO] [stdout]     |                     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep`
[INFO] [stdout]    --> src/dsl/assertions.rs:138:21
[INFO] [stdout]     |
[INFO] [stdout] 138 |             thread::sleep_ms(self.polling_interval);
[INFO] [stdout]     |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/dsl/assertions.rs:38:15
[INFO] [stdout]    |
[INFO] [stdout] 38 |     func: Box<Fn() -> A>,
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 38 |     func: Box<dyn Fn() -> A>,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]  --> src/dsl/matchers/equals.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn new(expected: &'a E) -> Equals<E> {
[INFO] [stdout]   |                           --       ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |                           |
[INFO] [stdout]   |                           the lifetime is named here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn new(expected: &'a E) -> Equals<'a, E> {
[INFO] [stdout]   |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]  --> src/dsl/matchers/contain.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn new(expected: &'a E) -> Contain<E> {
[INFO] [stdout]   |                           --       ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |                           |
[INFO] [stdout]   |                           the lifetime is named here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn new(expected: &'a E) -> Contain<'a, E> {
[INFO] [stdout]   |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/dsl/assertions.rs:20:20
[INFO] [stdout]    |
[INFO] [stdout] 20 |             panic!(matcher.failure_message(self.actual));
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 20 |             panic!("{}", matcher.failure_message(self.actual));
[INFO] [stdout]    |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ferrous v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/dsl/assertions.rs:26:20
[INFO] [stdout]    |
[INFO] [stdout] 26 |             panic!(matcher.negated_failure_message(self.actual));
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 26 |             panic!("{}", matcher.negated_failure_message(self.actual));
[INFO] [stdout]    |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/dsl/assertions.rs:69:28
[INFO] [stdout]    |
[INFO] [stdout] 69 |                     panic!(matcher.failure_message(&actual));
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 69 |                     panic!("{}", matcher.failure_message(&actual));
[INFO] [stdout]    |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/dsl/assertions.rs:89:28
[INFO] [stdout]    |
[INFO] [stdout] 89 |                     panic!(matcher.negated_failure_message(&actual));
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 89 |                     panic!("{}", matcher.negated_failure_message(&actual));
[INFO] [stdout]    |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/dsl/assertions.rs:98:24
[INFO] [stdout]    |
[INFO] [stdout] 98 |                 panic!(matcher.failure_message(&actual));
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 98 |                 panic!("{}", matcher.failure_message(&actual));
[INFO] [stdout]    |                        +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/dsl/assertions.rs:107:24
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 panic!(matcher.negated_failure_message(&actual));
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 panic!("{}", matcher.negated_failure_message(&actual));
[INFO] [stdout]     |                        +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep`
[INFO] [stdout]    --> src/dsl/assertions.rs:123:21
[INFO] [stdout]     |
[INFO] [stdout] 123 |             thread::sleep_ms(self.polling_interval);
[INFO] [stdout]     |                     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep`
[INFO] [stdout]    --> src/dsl/assertions.rs:138:21
[INFO] [stdout]     |
[INFO] [stdout] 138 |             thread::sleep_ms(self.polling_interval);
[INFO] [stdout]     |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep`
[INFO] [stdout]    --> src/dsl/assertions.rs:172:21
[INFO] [stdout]     |
[INFO] [stdout] 172 |             thread::sleep_ms(500);
[INFO] [stdout]     |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep`
[INFO] [stdout]    --> src/dsl/assertions.rs:205:21
[INFO] [stdout]     |
[INFO] [stdout] 205 |             thread::sleep_ms(500);
[INFO] [stdout]     |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep`
[INFO] [stdout]    --> src/dsl/assertions.rs:249:21
[INFO] [stdout]     |
[INFO] [stdout] 249 |             thread::sleep_ms(500);
[INFO] [stdout]     |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep`
[INFO] [stdout]    --> src/dsl/assertions.rs:282:21
[INFO] [stdout]     |
[INFO] [stdout] 282 |             thread::sleep_ms(500);
[INFO] [stdout]     |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/dsl/assertions.rs:38:15
[INFO] [stdout]    |
[INFO] [stdout] 38 |     func: Box<Fn() -> A>,
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 38 |     func: Box<dyn Fn() -> A>,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]  --> src/dsl/matchers/equals.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn new(expected: &'a E) -> Equals<E> {
[INFO] [stdout]   |                           --       ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |                           |
[INFO] [stdout]   |                           the lifetime is named here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn new(expected: &'a E) -> Equals<'a, E> {
[INFO] [stdout]   |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]  --> src/dsl/matchers/contain.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn new(expected: &'a E) -> Contain<E> {
[INFO] [stdout]   |                           --       ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |                           |
[INFO] [stdout]   |                           the lifetime is named here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn new(expected: &'a E) -> Contain<'a, E> {
[INFO] [stdout]   |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/dsl/assertions.rs:20:20
[INFO] [stdout]    |
[INFO] [stdout] 20 |             panic!(matcher.failure_message(self.actual));
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 20 |             panic!("{}", matcher.failure_message(self.actual));
[INFO] [stdout]    |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/dsl/assertions.rs:26:20
[INFO] [stdout]    |
[INFO] [stdout] 26 |             panic!(matcher.negated_failure_message(self.actual));
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 26 |             panic!("{}", matcher.negated_failure_message(self.actual));
[INFO] [stdout]    |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/dsl/assertions.rs:69:28
[INFO] [stdout]    |
[INFO] [stdout] 69 |                     panic!(matcher.failure_message(&actual));
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 69 |                     panic!("{}", matcher.failure_message(&actual));
[INFO] [stdout]    |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/dsl/assertions.rs:89:28
[INFO] [stdout]    |
[INFO] [stdout] 89 |                     panic!(matcher.negated_failure_message(&actual));
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 89 |                     panic!("{}", matcher.negated_failure_message(&actual));
[INFO] [stdout]    |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/dsl/assertions.rs:98:24
[INFO] [stdout]    |
[INFO] [stdout] 98 |                 panic!(matcher.failure_message(&actual));
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 98 |                 panic!("{}", matcher.failure_message(&actual));
[INFO] [stdout]    |                        +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/dsl/assertions.rs:107:24
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 panic!(matcher.negated_failure_message(&actual));
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 panic!("{}", matcher.negated_failure_message(&actual));
[INFO] [stdout]     |                        +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.46s
[INFO] running `Command { std: "docker" "inspect" "2899c312a77ae17e1dc47cdef2d80816b8b95ae94cebb33c90715658fec404ad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2899c312a77ae17e1dc47cdef2d80816b8b95ae94cebb33c90715658fec404ad", kill_on_drop: false }`
[INFO] [stdout] 2899c312a77ae17e1dc47cdef2d80816b8b95ae94cebb33c90715658fec404ad
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a36eaf48552f39608d6b3ddd2a761e688a3072f3b709291dfd66840e5d27bf74
[INFO] running `Command { std: "docker" "start" "-a" "a36eaf48552f39608d6b3ddd2a761e688a3072f3b709291dfd66840e5d27bf74", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep`
[INFO] [stderr]    --> src/dsl/assertions.rs:123:21
[INFO] [stderr]     |
[INFO] [stderr] 123 |             thread::sleep_ms(self.polling_interval);
[INFO] [stderr]     |                     ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep`
[INFO] [stderr]    --> src/dsl/assertions.rs:138:21
[INFO] [stderr]     |
[INFO] [stderr] 138 |             thread::sleep_ms(self.polling_interval);
[INFO] [stderr]     |                     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/dsl/assertions.rs:38:15
[INFO] [stderr]    |
[INFO] [stderr] 38 |     func: Box<Fn() -> A>,
[INFO] [stderr]    |               ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 38 |     func: Box<dyn Fn() -> A>,
[INFO] [stderr]    |               +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]  --> src/dsl/matchers/equals.rs:9:36
[INFO] [stderr]   |
[INFO] [stderr] 9 |     pub fn new(expected: &'a E) -> Equals<E> {
[INFO] [stderr]   |                           --       ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]   |                           |
[INFO] [stderr]   |                           the lifetime is named here
[INFO] [stderr]   |
[INFO] [stderr]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]   |
[INFO] [stderr] 9 |     pub fn new(expected: &'a E) -> Equals<'a, E> {
[INFO] [stderr]   |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]  --> src/dsl/matchers/contain.rs:9:36
[INFO] [stderr]   |
[INFO] [stderr] 9 |     pub fn new(expected: &'a E) -> Contain<E> {
[INFO] [stderr]   |                           --       ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]   |                           |
[INFO] [stderr]   |                           the lifetime is named here
[INFO] [stderr]   |
[INFO] [stderr]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]   |
[INFO] [stderr] 9 |     pub fn new(expected: &'a E) -> Contain<'a, E> {
[INFO] [stderr]   |                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> src/dsl/assertions.rs:20:20
[INFO] [stderr]    |
[INFO] [stderr] 20 |             panic!(matcher.failure_message(self.actual));
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]    |
[INFO] [stderr] 20 |             panic!("{}", matcher.failure_message(self.actual));
[INFO] [stderr]    |                    +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> src/dsl/assertions.rs:26:20
[INFO] [stderr]    |
[INFO] [stderr] 26 |             panic!(matcher.negated_failure_message(self.actual));
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]    |
[INFO] [stderr] 26 |             panic!("{}", matcher.negated_failure_message(self.actual));
[INFO] [stderr]    |                    +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> src/dsl/assertions.rs:69:28
[INFO] [stderr]    |
[INFO] [stderr] 69 |                     panic!(matcher.failure_message(&actual));
[INFO] [stderr]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]    |
[INFO] [stderr] 69 |                     panic!("{}", matcher.failure_message(&actual));
[INFO] [stderr]    |                            +++++
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stdout] running 30 tests
[INFO] [stderr]   --> src/dsl/assertions.rs:89:28
[INFO] [stderr]    |
[INFO] [stderr] 89 |                     panic!(matcher.negated_failure_message(&actual));
[INFO] [stderr]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]    |
[INFO] [stderr] 89 |                     panic!("{}", matcher.negated_failure_message(&actual));
[INFO] [stderr]    |                            +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> src/dsl/assertions.rs:98:24
[INFO] [stderr]    |
[INFO] [stderr] 98 |                 panic!(matcher.failure_message(&actual));
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stdout] test dsl::matchers::contain::tests::test_equal_failure_msg ... ok
[INFO] [stderr]    |
[INFO] [stdout] test dsl::matchers::contain::tests::test_equal_negated_failure_msg ... ok
[INFO] [stderr] 98 |                 panic!("{}", matcher.failure_message(&actual));
[INFO] [stdout] test dsl::matchers::contain::tests::test_equal_matches ... ok
[INFO] [stderr]    |                        +++++
[INFO] [stdout] test dsl::matchers::equals::tests::test_equal_failure_msg ... ok
[INFO] [stderr] 
[INFO] [stdout] test dsl::matchers::equals::tests::test_equal_matches ... ok
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stdout] test dsl::matchers::option::tests::test_none_failure_msg ... ok
[INFO] [stderr]    --> src/dsl/assertions.rs:107:24
[INFO] [stdout] test dsl::matchers::option::tests::test_none_matches_fail ... ok
[INFO] [stderr]     |
[INFO] [stdout] test dsl::matchers::option::tests::test_none_negated_failure_msg ... ok
[INFO] [stderr] 107 |                 panic!(matcher.negated_failure_message(&actual));
[INFO] [stdout] test dsl::matchers::option::tests::test_some_failure_msg ... ok
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] test dsl::matchers::result::tests::test_err_matches_fails ... ok
[INFO] [stderr]     |
[INFO] [stdout] test dsl::matchers::result::tests::test_err_negated_failure_msg ... ok
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout] test dsl::matchers::result::tests::test_ok_failure_msg ... ok
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] test dsl::matchers::result::tests::test_err_matches ... ok
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stdout] test dsl::matchers::result::tests::test_ok_matches_fail ... ok
[INFO] [stderr]     |
[INFO] [stdout] test dsl::matchers::result::tests::test_ok_negated_failure_msg ... ok
[INFO] [stderr] 107 |                 panic!("{}", matcher.negated_failure_message(&actual));
[INFO] [stderr]     |                        +++++
[INFO] [stderr] 
[INFO] [stderr] warning: `ferrous` (lib) generated 11 warnings (run `cargo fix --lib -p ferrous` to apply 9 suggestions)
[INFO] [stderr] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep`
[INFO] [stderr]    --> src/dsl/assertions.rs:172:21
[INFO] [stderr]     |
[INFO] [stderr] 172 |             thread::sleep_ms(500);
[INFO] [stderr]     |                     ^^^^^^^^
[INFO] [stdout] test dsl::matchers::result::tests::test_ok_matches ... ok
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep`
[INFO] [stderr]    --> src/dsl/assertions.rs:205:21
[INFO] [stderr]     |
[INFO] [stderr] 205 |             thread::sleep_ms(500);
[INFO] [stderr]     |                     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep`
[INFO] [stderr]    --> src/dsl/assertions.rs:249:21
[INFO] [stderr]     |
[INFO] [stderr] 249 |             thread::sleep_ms(500);
[INFO] [stderr]     |                     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep`
[INFO] [stderr]    --> src/dsl/assertions.rs:282:21
[INFO] [stderr]     |
[INFO] [stderr] 282 |             thread::sleep_ms(500);
[INFO] [stderr]     |                     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `ferrous` (lib test) generated 15 warnings (11 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ferrous-c2e46872c8f9da45)
[INFO] [stdout] test dsl::matchers::equals::tests::test_equal_negated_failure_msg ... ok
[INFO] [stdout] test dsl::matchers::option::tests::test_none_matches ... ok
[INFO] [stdout] test dsl::matchers::option::tests::test_some_matches_fails ... ok
[INFO] [stdout] test dsl::matchers::result::tests::test_err_failure_msg ... ok
[INFO] [stdout] test dsl::matchers::option::tests::test_some_matches ... ok
[INFO] [stdout] test dsl::matchers::option::tests::test_some_negated_failure_msg ... ok
[INFO] [stdout] test dsl::assertions::tests::test_consistently_negated_fail - should panic ... ok
[INFO] [stdout] test dsl::assertions::tests::test_eventually_negated ... ok
[INFO] [stdout] test dsl::assertions::tests::test_eventually ... ok
[INFO] [stdout] test dsl::assertions::tests::test_consistently_fail - should panic ... ok
[INFO] [stdout] test dsl::assertions::tests::test_consistently ... ok
[INFO] [stdout] test dsl::assertions::tests::test_eventually_negated_timeout - should panic ... ok
[INFO] [stdout] test dsl::assertions::tests::test_consistently_negated ... ok
[INFO] [stdout] test dsl::assertions::tests::test_eventually_timeout - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 30 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/mod.rs (/opt/rustwide/target/debug/deps/mod-610b5b1851887dbc)
[INFO] [stdout] 
[INFO] [stdout] running 24 tests
[INFO] [stdout] test test_eventually_should_err ... ok
[INFO] [stdout] test test_expect_not_to ... ok
[INFO] [stdout] test test_expect_to ... ok
[INFO] [stdout] test test_expect_to_contain ... ok
[INFO] [stdout] test test_expect_to_custom ... ok
[INFO] [stdout] test test_expect_to_err ... ok
[INFO] [stdout] test test_expect_to_none ... ok
[INFO] [stdout] test test_expect_to_ok ... ok
[INFO] [stdout] test test_expect_to_some ... ok
[INFO] [stdout] test test_consistently_should_not_err_panic - should panic ... ok
[INFO] [stdout] test test_expect_not_to_err_panic - should panic ... ok
[INFO] [stdout] test test_expect_not_to_none_panic - should panic ... ok
[INFO] [stdout] test test_expect_not_to_ok_panic - should panic ... ok
[INFO] [stdout] test test_expect_not_to_panic - should panic ... ok
[INFO] [stdout] test test_expect_not_to_some_panic - should panic ... ok
[INFO] [stdout] test test_expect_to_contain_panic - should panic ... ok
[INFO] [stdout] test test_expect_to_custom_panic - should panic ... ok
[INFO] [stdout] test test_expect_to_err_panic - should panic ... ok
[INFO] [stdout] test test_expect_to_none_panic - should panic ... ok
[INFO] [stdout] test test_expect_to_ok_panic - should panic ... ok
[INFO] [stdout] test test_expect_to_panic - should panic ... ok
[INFO] [stdout] test test_expect_to_some_panic - should panic ... ok
[INFO] [stdout] test test_consistently_should_err ... ok
[INFO] [stdout] test test_eventually_should_not_err_panic - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.03s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests ferrous
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/dsl/mod.rs - dsl (line 5) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.28s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "a36eaf48552f39608d6b3ddd2a761e688a3072f3b709291dfd66840e5d27bf74", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a36eaf48552f39608d6b3ddd2a761e688a3072f3b709291dfd66840e5d27bf74", kill_on_drop: false }`
[INFO] [stdout] a36eaf48552f39608d6b3ddd2a761e688a3072f3b709291dfd66840e5d27bf74
