[INFO] fetching crate astrolog 0.1.0... [INFO] testing astrolog-0.1.0 against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] extracting crate astrolog 0.1.0 into /workspace/builds/worker-4-tc1/source [INFO] started tweaking crates.io crate astrolog 0.1.0 [INFO] finished tweaking crates.io crate astrolog 0.1.0 [INFO] tweaked toml for crates.io crate astrolog 0.1.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate astrolog 0.1.0 on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 45 packages to latest compatible versions [INFO] [stderr] Adding regex v0.2.11 (available: v1.11.1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1ad6b238a2dddf44bfd07b96e2d0ad4561f15a47ecd75aad67171eedf87a150c [INFO] running `Command { std: "docker" "start" "-a" "1ad6b238a2dddf44bfd07b96e2d0ad4561f15a47ecd75aad67171eedf87a150c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1ad6b238a2dddf44bfd07b96e2d0ad4561f15a47ecd75aad67171eedf87a150c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1ad6b238a2dddf44bfd07b96e2d0ad4561f15a47ecd75aad67171eedf87a150c", kill_on_drop: false }` [INFO] [stdout] 1ad6b238a2dddf44bfd07b96e2d0ad4561f15a47ecd75aad67171eedf87a150c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 8418b2dc664aec69f3dcd91c91dbf3948189065267aeccae2d7f119cd7d4d285 [INFO] running `Command { std: "docker" "start" "-a" "8418b2dc664aec69f3dcd91c91dbf3948189065267aeccae2d7f119cd7d4d285", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling regex v0.2.11 [INFO] [stderr] Compiling ucd-util v0.1.10 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling utf8-ranges v1.0.5 [INFO] [stderr] Compiling thread_local v0.3.6 [INFO] [stderr] Compiling regex-syntax v0.5.6 [INFO] [stderr] Compiling aho-corasick v0.6.10 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling chrono v0.4.41 [INFO] [stderr] Compiling astrolog v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:28:20 [INFO] [stdout] | [INFO] [stdout] 28 | cause: Option>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 28 | cause: Option>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/formatter/level/mod.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | Custom(Box String + Send + Sync + 'static>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 | Custom(Box String + Send + Sync + 'static>), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/formatter/mod.rs:65:19 [INFO] [stdout] | [INFO] [stdout] 65 | pub context: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 65 | pub context: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/handler/console.rs:38:17 [INFO] [stdout] | [INFO] [stdout] 38 | formatter: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 | formatter: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/handler/mod.rs:66:27 [INFO] [stdout] | [INFO] [stdout] 66 | handlers: RwLock>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 66 | handlers: RwLock>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/handler/mod.rs:67:15 [INFO] [stdout] | [INFO] [stdout] 67 | default: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 67 | default: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:66:29 [INFO] [stdout] | [INFO] [stdout] 66 | fn cause(&self) -> Option<&Error> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 66 | fn cause(&self) -> Option<&dyn Error> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/formatter/record/html.rs:86:25 [INFO] [stdout] | [INFO] [stdout] 86 | context_renderer: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 86 | context_renderer: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/formatter/context/mod.rs:35:60 [INFO] [stdout] | [INFO] [stdout] 35 | fn set_context_formatter(&mut self, context_renderer: Box) -> &mut Self; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 35 | fn set_context_formatter(&mut self, context_renderer: Box) -> &mut Self; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/formatter/record/json.rs:69:45 [INFO] [stdout] | [INFO] [stdout] 69 | fn set_context_formatter(&mut self, _: Box) -> &mut Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 69 | fn set_context_formatter(&mut self, _: Box) -> &mut Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/formatter/record/line.rs:74:25 [INFO] [stdout] | [INFO] [stdout] 74 | context_renderer: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 74 | context_renderer: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/formatter/mod.rs:110:61 [INFO] [stdout] | [INFO] [stdout] 110 | fn set_context_formatter(&mut self, context_formatter: Box) -> &mut Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 110 | fn set_context_formatter(&mut self, context_formatter: Box) -> &mut Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/logger/item.rs:66:34 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn with_error(mut self, e: &Error) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 66 | pub fn with_error(mut self, e: &dyn Error) -> Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:73:23 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn with_error(e: &Error) -> logger::Item { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 73 | pub fn with_error(e: &dyn Error) -> logger::Item { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/logger/record.rs:78:34 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn set_error(&mut self, e: &Error) -> &mut Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 78 | pub fn set_error(&mut self, e: &dyn Error) -> &mut Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/logger/record.rs:94:34 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn with_error(mut self, e: &Error) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 94 | pub fn with_error(mut self, e: &dyn Error) -> Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/logger/mod.rs:164:31 [INFO] [stdout] | [INFO] [stdout] 164 | pub fn with_error(&self, e: &Error) -> Item { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 164 | pub fn with_error(&self, e: &dyn Error) -> Item { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/errors.rs:76:24 [INFO] [stdout] | [INFO] [stdout] 76 | write!(f, "{}", self.description()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/logger/record.rs:79:23 [INFO] [stdout] | [INFO] [stdout] 79 | self.set("error", e.description().to_owned()); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> src/logger/record.rs:82:30 [INFO] [stdout] | [INFO] [stdout] 82 | while let Some(cause) = e2.cause() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:66:19 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn with(k: &str, v: V) -> logger::Item [INFO] [stdout] | ^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 66 | pub fn with(k: &str, v: V) -> logger::Item<'_> [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:73:22 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn with_error(e: &Error) -> logger::Item { [INFO] [stdout] | ^^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 73 | pub fn with_error(e: &Error) -> logger::Item<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/logger/mod.rs:153:17 [INFO] [stdout] | [INFO] [stdout] 153 | pub fn with(&self, k: &str, v: V) -> Item [INFO] [stdout] | ^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 153 | pub fn with(&self, k: &str, v: V) -> Item<'_> [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/logger/mod.rs:160:38 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn with_multi>(&self, ctx: V) -> Item { [INFO] [stdout] | ^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 160 | pub fn with_multi>(&self, ctx: V) -> Item<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/logger/mod.rs:164:20 [INFO] [stdout] | [INFO] [stdout] 164 | pub fn with_error(&self, e: &Error) -> Item { [INFO] [stdout] | ^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 164 | pub fn with_error(&self, e: &Error) -> Item<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/logger/mod.rs:168:26 [INFO] [stdout] | [INFO] [stdout] 168 | pub fn with_new_context(&self, ctx: Context) -> Item { [INFO] [stdout] | ^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 168 | pub fn with_new_context(&self, ctx: Context) -> Item<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 20.82s [INFO] running `Command { std: "docker" "inspect" "8418b2dc664aec69f3dcd91c91dbf3948189065267aeccae2d7f119cd7d4d285", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8418b2dc664aec69f3dcd91c91dbf3948189065267aeccae2d7f119cd7d4d285", kill_on_drop: false }` [INFO] [stdout] 8418b2dc664aec69f3dcd91c91dbf3948189065267aeccae2d7f119cd7d4d285 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 5b1114f3192db4f09e708d6c0bb283e0760356eea05d0e542d2c81f1e5e23eaa [INFO] running `Command { std: "docker" "start" "-a" "5b1114f3192db4f09e708d6c0bb283e0760356eea05d0e542d2c81f1e5e23eaa", kill_on_drop: false }` [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:28:20 [INFO] [stdout] | [INFO] [stdout] 28 | cause: Option>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 28 | cause: Option>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/formatter/level/mod.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | Custom(Box String + Send + Sync + 'static>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 | Custom(Box String + Send + Sync + 'static>), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/formatter/mod.rs:65:19 [INFO] [stdout] | [INFO] [stdout] 65 | pub context: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 65 | pub context: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/handler/console.rs:38:17 [INFO] [stdout] | [INFO] [stdout] 38 | formatter: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 | formatter: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/handler/mod.rs:66:27 [INFO] [stdout] | [INFO] [stdout] 66 | handlers: RwLock>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 66 | handlers: RwLock>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/handler/mod.rs:67:15 [INFO] [stdout] | [INFO] [stdout] 67 | default: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 67 | default: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:66:29 [INFO] [stdout] | [INFO] [stdout] 66 | fn cause(&self) -> Option<&Error> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 66 | fn cause(&self) -> Option<&dyn Error> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/formatter/record/html.rs:86:25 [INFO] [stdout] | [INFO] [stdout] 86 | context_renderer: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 86 | context_renderer: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/formatter/context/mod.rs:35:60 [INFO] [stdout] | [INFO] [stdout] 35 | fn set_context_formatter(&mut self, context_renderer: Box) -> &mut Self; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 35 | fn set_context_formatter(&mut self, context_renderer: Box) -> &mut Self; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/formatter/record/json.rs:69:45 [INFO] [stdout] | [INFO] [stdout] 69 | fn set_context_formatter(&mut self, _: Box) -> &mut Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 69 | fn set_context_formatter(&mut self, _: Box) -> &mut Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/formatter/record/line.rs:74:25 [INFO] [stdout] | [INFO] [stdout] 74 | context_renderer: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 74 | context_renderer: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/formatter/mod.rs:110:61 [INFO] [stdout] | [INFO] [stdout] 110 | fn set_context_formatter(&mut self, context_formatter: Box) -> &mut Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 110 | fn set_context_formatter(&mut self, context_formatter: Box) -> &mut Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/logger/item.rs:66:34 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn with_error(mut self, e: &Error) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 66 | pub fn with_error(mut self, e: &dyn Error) -> Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:73:23 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn with_error(e: &Error) -> logger::Item { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 73 | pub fn with_error(e: &dyn Error) -> logger::Item { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/logger/record.rs:78:34 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn set_error(&mut self, e: &Error) -> &mut Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 78 | pub fn set_error(&mut self, e: &dyn Error) -> &mut Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/logger/record.rs:94:34 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn with_error(mut self, e: &Error) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 94 | pub fn with_error(mut self, e: &dyn Error) -> Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/logger/mod.rs:164:31 [INFO] [stdout] | [INFO] [stdout] 164 | pub fn with_error(&self, e: &Error) -> Item { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 164 | pub fn with_error(&self, e: &dyn Error) -> Item { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/errors.rs:76:24 [INFO] [stdout] | [INFO] [stdout] 76 | write!(f, "{}", self.description()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/logger/record.rs:79:23 [INFO] [stdout] | [INFO] [stdout] 79 | self.set("error", e.description().to_owned()); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> src/logger/record.rs:82:30 [INFO] [stdout] | [INFO] [stdout] 82 | while let Some(cause) = e2.cause() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:66:19 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn with(k: &str, v: V) -> logger::Item [INFO] [stdout] | ^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 66 | pub fn with(k: &str, v: V) -> logger::Item<'_> [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling astrolog v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:73:22 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn with_error(e: &Error) -> logger::Item { [INFO] [stdout] | ^^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 73 | pub fn with_error(e: &Error) -> logger::Item<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/logger/mod.rs:153:17 [INFO] [stdout] | [INFO] [stdout] 153 | pub fn with(&self, k: &str, v: V) -> Item [INFO] [stdout] | ^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 153 | pub fn with(&self, k: &str, v: V) -> Item<'_> [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/logger/mod.rs:160:38 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn with_multi>(&self, ctx: V) -> Item { [INFO] [stdout] | ^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 160 | pub fn with_multi>(&self, ctx: V) -> Item<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/logger/mod.rs:164:20 [INFO] [stdout] | [INFO] [stdout] 164 | pub fn with_error(&self, e: &Error) -> Item { [INFO] [stdout] | ^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 164 | pub fn with_error(&self, e: &Error) -> Item<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/logger/mod.rs:168:26 [INFO] [stdout] | [INFO] [stdout] 168 | pub fn with_new_context(&self, ctx: Context) -> Item { [INFO] [stdout] | ^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 168 | pub fn with_new_context(&self, ctx: Context) -> Item<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> examples/errors.rs:32:20 [INFO] [stdout] | [INFO] [stdout] 32 | cause: Option>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 | cause: Option>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> examples/errors.rs:54:29 [INFO] [stdout] | [INFO] [stdout] 54 | fn cause(&self) -> Option<&Error> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 54 | fn cause(&self) -> Option<&dyn Error> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> tests/global_logger.rs:70:4 [INFO] [stdout] | [INFO] [stdout] 70 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> tests/global_logger.rs:106:4 [INFO] [stdout] | [INFO] [stdout] 106 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> tests/global_logger.rs:153:4 [INFO] [stdout] | [INFO] [stdout] 153 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> tests/global_logger.rs:192:4 [INFO] [stdout] | [INFO] [stdout] 192 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> examples/errors.rs:64:24 [INFO] [stdout] | [INFO] [stdout] 64 | write!(f, "{}", self.description()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> examples/errors.rs:70:24 [INFO] [stdout] | [INFO] [stdout] 70 | write!(f, "{}", self.description()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:28:20 [INFO] [stdout] | [INFO] [stdout] 28 | cause: Option>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 28 | cause: Option>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/formatter/level/mod.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | Custom(Box String + Send + Sync + 'static>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 | Custom(Box String + Send + Sync + 'static>), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/formatter/mod.rs:65:19 [INFO] [stdout] | [INFO] [stdout] 65 | pub context: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 65 | pub context: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/handler/console.rs:38:17 [INFO] [stdout] | [INFO] [stdout] 38 | formatter: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 | formatter: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/handler/mod.rs:66:27 [INFO] [stdout] | [INFO] [stdout] 66 | handlers: RwLock>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 66 | handlers: RwLock>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/handler/mod.rs:67:15 [INFO] [stdout] | [INFO] [stdout] 67 | default: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 67 | default: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:66:29 [INFO] [stdout] | [INFO] [stdout] 66 | fn cause(&self) -> Option<&Error> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 66 | fn cause(&self) -> Option<&dyn Error> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/formatter/record/html.rs:86:25 [INFO] [stdout] | [INFO] [stdout] 86 | context_renderer: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 86 | context_renderer: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/formatter/context/mod.rs:35:60 [INFO] [stdout] | [INFO] [stdout] 35 | fn set_context_formatter(&mut self, context_renderer: Box) -> &mut Self; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 35 | fn set_context_formatter(&mut self, context_renderer: Box) -> &mut Self; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/formatter/record/json.rs:69:45 [INFO] [stdout] | [INFO] [stdout] 69 | fn set_context_formatter(&mut self, _: Box) -> &mut Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 69 | fn set_context_formatter(&mut self, _: Box) -> &mut Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/formatter/record/line.rs:74:25 [INFO] [stdout] | [INFO] [stdout] 74 | context_renderer: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 74 | context_renderer: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/formatter/mod.rs:110:61 [INFO] [stdout] | [INFO] [stdout] 110 | fn set_context_formatter(&mut self, context_formatter: Box) -> &mut Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 110 | fn set_context_formatter(&mut self, context_formatter: Box) -> &mut Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/logger/item.rs:66:34 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn with_error(mut self, e: &Error) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 66 | pub fn with_error(mut self, e: &dyn Error) -> Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:73:23 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn with_error(e: &Error) -> logger::Item { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 73 | pub fn with_error(e: &dyn Error) -> logger::Item { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/logger/record.rs:78:34 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn set_error(&mut self, e: &Error) -> &mut Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 78 | pub fn set_error(&mut self, e: &dyn Error) -> &mut Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/logger/record.rs:94:34 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn with_error(mut self, e: &Error) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 94 | pub fn with_error(mut self, e: &dyn Error) -> Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/logger/mod.rs:164:31 [INFO] [stdout] | [INFO] [stdout] 164 | pub fn with_error(&self, e: &Error) -> Item { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 164 | pub fn with_error(&self, e: &dyn Error) -> Item { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/errors.rs:76:24 [INFO] [stdout] | [INFO] [stdout] 76 | write!(f, "{}", self.description()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead [INFO] [stdout] --> src/formatter/date/mod.rs:79:15 [INFO] [stdout] | [INFO] [stdout] 79 | let d = Utc.ymd(2004, 5, 6).and_hms(13, 2, 3); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::Date::::and_hms`: Use and_hms_opt() instead [INFO] [stdout] --> src/formatter/date/mod.rs:79:31 [INFO] [stdout] | [INFO] [stdout] 79 | let d = Utc.ymd(2004, 5, 6).and_hms(13, 2, 3); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/logger/record.rs:79:23 [INFO] [stdout] | [INFO] [stdout] 79 | self.set("error", e.description().to_owned()); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> src/logger/record.rs:82:30 [INFO] [stdout] | [INFO] [stdout] 82 | while let Some(cause) = e2.cause() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:66:19 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn with(k: &str, v: V) -> logger::Item [INFO] [stdout] | ^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 66 | pub fn with(k: &str, v: V) -> logger::Item<'_> [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:73:22 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn with_error(e: &Error) -> logger::Item { [INFO] [stdout] | ^^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 73 | pub fn with_error(e: &Error) -> logger::Item<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/logger/mod.rs:153:17 [INFO] [stdout] | [INFO] [stdout] 153 | pub fn with(&self, k: &str, v: V) -> Item [INFO] [stdout] | ^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 153 | pub fn with(&self, k: &str, v: V) -> Item<'_> [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/logger/mod.rs:160:38 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn with_multi>(&self, ctx: V) -> Item { [INFO] [stdout] | ^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 160 | pub fn with_multi>(&self, ctx: V) -> Item<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/logger/mod.rs:164:20 [INFO] [stdout] | [INFO] [stdout] 164 | pub fn with_error(&self, e: &Error) -> Item { [INFO] [stdout] | ^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 164 | pub fn with_error(&self, e: &Error) -> Item<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/logger/mod.rs:168:26 [INFO] [stdout] | [INFO] [stdout] 168 | pub fn with_new_context(&self, ctx: Context) -> Item { [INFO] [stdout] | ^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 168 | pub fn with_new_context(&self, ctx: Context) -> Item<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 4.81s [INFO] running `Command { std: "docker" "inspect" "5b1114f3192db4f09e708d6c0bb283e0760356eea05d0e542d2c81f1e5e23eaa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5b1114f3192db4f09e708d6c0bb283e0760356eea05d0e542d2c81f1e5e23eaa", kill_on_drop: false }` [INFO] [stdout] 5b1114f3192db4f09e708d6c0bb283e0760356eea05d0e542d2c81f1e5e23eaa [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] d8c2d3a7112fa7ff884245afe0e83466f581ef9ec8285bcbab30bfe954bb53d4 [INFO] running `Command { std: "docker" "start" "-a" "d8c2d3a7112fa7ff884245afe0e83466f581ef9ec8285bcbab30bfe954bb53d4", kill_on_drop: false }` [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/errors.rs:28:20 [INFO] [stderr] | [INFO] [stderr] 28 | cause: Option>, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 28 | cause: Option>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/formatter/level/mod.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | Custom(Box String + Send + Sync + 'static>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 32 | Custom(Box String + Send + Sync + 'static>), [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/formatter/mod.rs:65:19 [INFO] [stderr] | [INFO] [stderr] 65 | pub context: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 65 | pub context: Box, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/handler/console.rs:38:17 [INFO] [stderr] | [INFO] [stderr] 38 | formatter: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 38 | formatter: Box, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/handler/mod.rs:66:27 [INFO] [stderr] | [INFO] [stderr] 66 | handlers: RwLock>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 66 | handlers: RwLock>>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/handler/mod.rs:67:15 [INFO] [stderr] | [INFO] [stderr] 67 | default: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 67 | default: Box, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/errors.rs:66:29 [INFO] [stderr] | [INFO] [stderr] 66 | fn cause(&self) -> Option<&Error> { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 66 | fn cause(&self) -> Option<&dyn Error> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/formatter/record/html.rs:86:25 [INFO] [stderr] | [INFO] [stderr] 86 | context_renderer: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 86 | context_renderer: Box, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/formatter/context/mod.rs:35:60 [INFO] [stderr] | [INFO] [stderr] 35 | fn set_context_formatter(&mut self, context_renderer: Box) -> &mut Self; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 35 | fn set_context_formatter(&mut self, context_renderer: Box) -> &mut Self; [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/formatter/record/json.rs:69:45 [INFO] [stderr] | [INFO] [stderr] 69 | fn set_context_formatter(&mut self, _: Box) -> &mut Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 69 | fn set_context_formatter(&mut self, _: Box) -> &mut Self { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/formatter/record/line.rs:74:25 [INFO] [stderr] | [INFO] [stderr] 74 | context_renderer: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 74 | context_renderer: Box, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/formatter/mod.rs:110:61 [INFO] [stderr] | [INFO] [stderr] 110 | fn set_context_formatter(&mut self, context_formatter: Box) -> &mut Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 110 | fn set_context_formatter(&mut self, context_formatter: Box) -> &mut Self { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/logger/item.rs:66:34 [INFO] [stderr] | [INFO] [stderr] 66 | pub fn with_error(mut self, e: &Error) -> Self { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 66 | pub fn with_error(mut self, e: &dyn Error) -> Self { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:73:23 [INFO] [stderr] | [INFO] [stderr] 73 | pub fn with_error(e: &Error) -> logger::Item { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 73 | pub fn with_error(e: &dyn Error) -> logger::Item { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/logger/record.rs:78:34 [INFO] [stderr] | [INFO] [stderr] 78 | pub fn set_error(&mut self, e: &Error) -> &mut Self { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 78 | pub fn set_error(&mut self, e: &dyn Error) -> &mut Self { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/logger/record.rs:94:34 [INFO] [stderr] | [INFO] [stderr] 94 | pub fn with_error(mut self, e: &Error) -> Self { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 94 | pub fn with_error(mut self, e: &dyn Error) -> Self { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/logger/mod.rs:164:31 [INFO] [stderr] | [INFO] [stderr] 164 | pub fn with_error(&self, e: &Error) -> Item { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 164 | pub fn with_error(&self, e: &dyn Error) -> Item { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stderr] --> src/errors.rs:76:24 [INFO] [stderr] | [INFO] [stderr] 76 | write!(f, "{}", self.description()) [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stderr] --> src/logger/record.rs:79:23 [INFO] [stderr] | [INFO] [stderr] 79 | self.set("error", e.description().to_owned()); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stderr] --> src/logger/record.rs:82:30 [INFO] [stderr] | [INFO] [stderr] 82 | while let Some(cause) = e2.cause() { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lib.rs:66:19 [INFO] [stderr] | [INFO] [stderr] 66 | pub fn with(k: &str, v: V) -> logger::Item [INFO] [stderr] | ^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 66 | pub fn with(k: &str, v: V) -> logger::Item<'_> [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lib.rs:73:22 [INFO] [stderr] | [INFO] [stderr] 73 | pub fn with_error(e: &Error) -> logger::Item { [INFO] [stderr] | ^^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 73 | pub fn with_error(e: &Error) -> logger::Item<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/logger/mod.rs:153:17 [INFO] [stderr] | [INFO] [stderr] 153 | pub fn with(&self, k: &str, v: V) -> Item [INFO] [stderr] | ^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 153 | pub fn with(&self, k: &str, v: V) -> Item<'_> [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/logger/mod.rs:160:38 [INFO] [stderr] | [INFO] [stderr] 160 | pub fn with_multi>(&self, ctx: V) -> Item { [INFO] [stderr] | ^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 160 | pub fn with_multi>(&self, ctx: V) -> Item<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/logger/mod.rs:164:20 [INFO] [stderr] | [INFO] [stderr] 164 | pub fn with_error(&self, e: &Error) -> Item { [INFO] [stderr] | ^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 164 | pub fn with_error(&self, e: &Error) -> Item<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/logger/mod.rs:168:26 [INFO] [stderr] | [INFO] [stderr] 168 | pub fn with_new_context(&self, ctx: Context) -> Item { [INFO] [stderr] | ^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 168 | pub fn with_new_context(&self, ctx: Context) -> Item<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead [INFO] [stderr] --> src/formatter/date/mod.rs:79:15 [INFO] [stderr] | [INFO] [stderr] 79 | let d = Utc.ymd(2004, 5, 6).and_hms(13, 2, 3); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated method `chrono::Date::::and_hms`: Use and_hms_opt() instead [INFO] [stderr] --> src/formatter/date/mod.rs:79:31 [INFO] [stderr] | [INFO] [stderr] 79 | let d = Utc.ymd(2004, 5, 6).and_hms(13, 2, 3); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `astrolog` (lib) generated 26 warnings (run `cargo fix --lib -p astrolog` to apply 23 suggestions) [INFO] [stderr] warning: `astrolog` (lib test) generated 28 warnings (26 duplicates) [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> tests/global_logger.rs:70:4 [INFO] [stderr] | [INFO] [stderr] 70 | }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> tests/global_logger.rs:106:4 [INFO] [stderr] | [INFO] [stderr] 106 | }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> tests/global_logger.rs:153:4 [INFO] [stderr] | [INFO] [stderr] 153 | }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> tests/global_logger.rs:192:4 [INFO] [stderr] | [INFO] [stderr] 192 | }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> examples/errors.rs:32:20 [INFO] [stderr] | [INFO] [stderr] 32 | cause: Option>, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 32 | cause: Option>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> examples/errors.rs:54:29 [INFO] [stderr] | [INFO] [stderr] 54 | fn cause(&self) -> Option<&Error> { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 54 | fn cause(&self) -> Option<&dyn Error> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stderr] --> examples/errors.rs:64:24 [INFO] [stderr] | [INFO] [stderr] 64 | write!(f, "{}", self.description()) [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stderr] --> examples/errors.rs:70:24 [INFO] [stderr] | [INFO] [stderr] 70 | write!(f, "{}", self.description()) [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `astrolog` (test "global_logger") generated 4 warnings [INFO] [stderr] warning: `astrolog` (example "errors") generated 4 warnings (run `cargo fix --example "errors"` to apply 2 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.10s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/astrolog-43cd7f850d63d2e0) [INFO] [stdout] [INFO] [stdout] running 31 tests [INFO] [stdout] test errors::tests::test_basic_error ... ok [INFO] [stdout] test errors::tests::test_error_context ... ok [INFO] [stdout] test errors::tests::test_error_wrapper ... ok [INFO] [stdout] test formatter::record::json::tests::basic_conversion ... ok [INFO] [stdout] test handler::vec::tests::handler_with_levels ... ok [INFO] [stdout] test formatter::record::html::tests::string_html_special_chars ... ok [INFO] [stdout] test formatter::record::html::tests::record_html_special_chars ... ok [INFO] [stdout] test logger::level::tests::level_print ... ok [INFO] [stdout] test formatter::record::html::tests::value_html_special_chars ... ok [INFO] [stdout] test logger::level::tests::range ... ok [INFO] [stdout] test logger::record::tests::test_context_merge ... ok [INFO] [stdout] test logger::tests::multi_thread_logger_with_item ... ok [INFO] [stdout] test logger::tests::multi_with_error ... ok [INFO] [stdout] test logger::tests::test_context ... ok [INFO] [stdout] test logger::tests::test_build_with_async_dispatcher ... ok [INFO] [stdout] test logger::tests::multi_thread_logger ... ok [INFO] [stdout] test logger::tests::test_build_with_null_handler ... ok [INFO] [stdout] test logger::tests::test_levels_with_item ... ok [INFO] [stdout] test formatter::tests::replacer_with_unknown_and_context ... ok [INFO] [stdout] test logger::tests::test_with_levels ... ok [INFO] [stdout] test logger::tests::test_with_handler_levels ... ok [INFO] [stdout] test logger::tests::test_levels ... ok [INFO] [stdout] test formatter::record::html::tests::basic ... ok [INFO] [stdout] test formatter::tests::replacer_with_prefixed_message_in_message ... ok [INFO] [stdout] test formatter::tests::replacer_with_unknown ... ok [INFO] [stdout] test formatter::tests::replacer_with_suffixed_message_in_message ... ok [INFO] [stderr] [2025-06-29 13:17:21] DEBG: a debug message [INFO] [stdout] test formatter::tests::replacer_with_message_in_message ... ok [INFO] [stdout] test formatter::tests::replacer_basic ... ok [INFO] [stdout] test logger::tests::test_build_with_no_handler ... ok [INFO] [stderr] [2025-06-29 13:17:21] EMRG: an emergency message [INFO] [stdout] test tests::multi_thread ... ok [INFO] [stdout] test formatter::date::tests::date_formats ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- formatter::date::tests::date_formats stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'formatter::date::tests::date_formats' panicked at src/formatter/date/mod.rs:84:9: [INFO] [stdout] assertion `left == right` failed [INFO] [stdout] left: "Thu, 6 May 2004 13:02:03 +0000" [INFO] [stdout] right: "Thu, 6 May 2004 13:02:03 +0000" [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x733c0025cf62 - std::backtrace_rs::backtrace::libunwind::trace::h559918daaaf51ab7 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x733c0025cf62 - std::backtrace_rs::backtrace::trace_unsynchronized::hb04fbcf80d07af8b [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x733c0025cf62 - std::sys::backtrace::_print_fmt::h7c0bbbbfac0065d4 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x733c0025cf62 - ::fmt::hb62c8ed31943daa5 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x733c00298ba3 - core::fmt::rt::Argument::fmt::he5eaa7dd607ed4c9 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x733c00298ba3 - core::fmt::write::h375399f8cb90b45a [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/fmt/mod.rs:1460:25 [INFO] [stdout] 6: 0x733c0025a293 - std::io::default_write_fmt::hdc1b4dd565dd0099 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x733c0025a293 - std::io::Write::write_fmt::h29f6044e9bc43c23 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x733c0025cdb2 - std::sys::backtrace::BacktraceLock::print::ha189c586374f916a [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x733c0025e53c - std::panicking::default_hook::{{closure}}::ha3a26c98ff210e12 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:300:27 [INFO] [stdout] 10: 0x733c0025e392 - std::panicking::default_hook::h8c8a86b4390ab794 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:324:9 [INFO] [stdout] 11: 0x733c000e24a4 - as core::ops::function::Fn>::call::ha39ae63ed1e9a130 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/alloc/src/boxed.rs:1980:9 [INFO] [stdout] 12: 0x733c000e24a4 - test::test_main_with_exit_callback::{{closure}}::h9df7c328ebe18c28 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x733c0025efa3 - as core::ops::function::Fn>::call::h96b7201b552e9069 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/alloc/src/boxed.rs:1980:9 [INFO] [stdout] 14: 0x733c0025efa3 - std::panicking::rust_panic_with_hook::hb3b66c2e80efa371 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:841:13 [INFO] [stdout] 15: 0x733c0025ec8a - std::panicking::begin_panic_handler::{{closure}}::h9c68d0f839e62070 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:706:13 [INFO] [stdout] 16: 0x733c0025d469 - std::sys::backtrace::__rust_end_short_backtrace::h68d22ddde4a73ad6 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/sys/backtrace.rs:168:18 [INFO] [stdout] 17: 0x733c0025e91d - __rustc[f4ffc7196a45a630]::rust_begin_unwind [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:697:5 [INFO] [stdout] 18: 0x733c000535b0 - core::panicking::panic_fmt::h8cdd4c81eb9069aa [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/panicking.rs:75:14 [INFO] [stdout] 19: 0x733c00053903 - core::panicking::assert_failed_inner::h483faaa3ae844fd5 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/panicking.rs:432:17 [INFO] [stdout] 20: 0x733c00088102 - core::panicking::assert_failed::he387bdf4be65efae [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/panicking.rs:387:5 [INFO] [stdout] 21: 0x733c000a0d15 - astrolog::formatter::date::tests::date_formats::he55ef320088f66b2 [INFO] [stdout] at /opt/rustwide/workdir/src/formatter/date/mod.rs:84:3 [INFO] [stdout] 22: 0x733c000a0687 - astrolog::formatter::date::tests::date_formats::{{closure}}::h2d1a450707b349b5 [INFO] [stdout] at /opt/rustwide/workdir/src/formatter/date/mod.rs:78:19 [INFO] [stdout] 23: 0x733c0008f7f6 - core::ops::function::FnOnce::call_once::he9a2e551d21ae146 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x733c000e7b9b - core::ops::function::FnOnce::call_once::h9633dcf760ae81b2 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 25: 0x733c000e7b9b - test::__rust_begin_short_backtrace::h12ad5e04c8d7b4a5 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/test/src/lib.rs:648:18 [INFO] [stdout] 26: 0x733c000e6e0e - test::run_test_in_process::{{closure}}::he596b4fd3fa4893c [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/test/src/lib.rs:671:74 [INFO] [stdout] 27: 0x733c000e6e0e - as core::ops::function::FnOnce<()>>::call_once::hc746bc3fa75190e0 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 28: 0x733c000e6e0e - std::panicking::catch_unwind::do_call::hf4843906108d6299 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:589:40 [INFO] [stdout] 29: 0x733c000e6e0e - std::panicking::catch_unwind::h849d4e8b03577bb9 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:552:19 [INFO] [stdout] 30: 0x733c000e6e0e - std::panic::catch_unwind::ha1f814c1dec025d2 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x733c000e6e0e - test::run_test_in_process::h542aad3fe61255e7 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/test/src/lib.rs:671:27 [INFO] [stdout] 32: 0x733c000e6e0e - test::run_test::{{closure}}::h612788d75908cb63 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/test/src/lib.rs:592:43 [INFO] [stdout] 33: 0x733c000abc94 - test::run_test::{{closure}}::hbfeea3bcb7245123 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/test/src/lib.rs:622:41 [INFO] [stdout] 34: 0x733c000abc94 - std::sys::backtrace::__rust_begin_short_backtrace::h72542b83b4f87d5b [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/sys/backtrace.rs:152:18 [INFO] [stdout] 35: 0x733c000af48a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hff26a7547ea762c9 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/thread/mod.rs:559:17 [INFO] [stdout] 36: 0x733c000af48a - as core::ops::function::FnOnce<()>>::call_once::hbee49bc759312884 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 37: 0x733c000af48a - std::panicking::catch_unwind::do_call::h61de12ce5e04e28f [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:589:40 [INFO] [stdout] 38: 0x733c000af48a - std::panicking::catch_unwind::h454dd49873d22e18 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:552:19 [INFO] [stdout] 39: 0x733c000af48a - std::panic::catch_unwind::h5c15187324f8cebb [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x733c000af48a - std::thread::Builder::spawn_unchecked_::{{closure}}::hbc9d9c7427673d42 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/thread/mod.rs:557:30 [INFO] [stdout] 41: 0x733c000af48a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hefd458a129ddca13 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 42: 0x733c002619f7 - as core::ops::function::FnOnce>::call_once::h2d6e2e526b02c3da [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/alloc/src/boxed.rs:1966:9 [INFO] [stdout] 43: 0x733c002619f7 - as core::ops::function::FnOnce>::call_once::h1aefced482b33c72 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/alloc/src/boxed.rs:1966:9 [INFO] [stdout] 44: 0x733c002619f7 - std::sys::pal::unix::thread::Thread::new::thread_start::h7c9c6951b48f721d [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/sys/pal/unix/thread.rs:97:17 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] formatter::date::tests::date_formats [INFO] [stdout] [INFO] [stdout] test result: FAILED. 30 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--lib` [INFO] running `Command { std: "docker" "inspect" "d8c2d3a7112fa7ff884245afe0e83466f581ef9ec8285bcbab30bfe954bb53d4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d8c2d3a7112fa7ff884245afe0e83466f581ef9ec8285bcbab30bfe954bb53d4", kill_on_drop: false }` [INFO] [stdout] d8c2d3a7112fa7ff884245afe0e83466f581ef9ec8285bcbab30bfe954bb53d4