[INFO] cloning repository https://github.com/quantarmyz/ziki-reader
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/quantarmyz/ziki-reader" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fquantarmyz%2Fziki-reader", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fquantarmyz%2Fziki-reader'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4e1a692fbd55163dc8c88b66ad7559188db688d8
[INFO] checking quantarmyz/ziki-reader against 52995a223f2919dd3e2e427231db90a257350ded for pr-129249-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fquantarmyz%2Fziki-reader" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-5-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/quantarmyz/ziki-reader
[INFO] finished tweaking git repo https://github.com/quantarmyz/ziki-reader
[INFO] tweaked toml for git repo https://github.com/quantarmyz/ziki-reader written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/quantarmyz/ziki-reader on toolchain 52995a223f2919dd3e2e427231db90a257350ded
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/quantarmyz/ziki-reader already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:c0af3998e971868164375a7dfb646c9933ddd1a3bdb00fa2041266763dc1eeab" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 64469253fd0c99b660ff05a4b90c571c20bf707b4d340132e9685031fabf013a
[INFO] running `Command { std: "docker" "start" "64469253fd0c99b660ff05a4b90c571c20bf707b4d340132e9685031fabf013a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "64469253fd0c99b660ff05a4b90c571c20bf707b4d340132e9685031fabf013a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "64469253fd0c99b660ff05a4b90c571c20bf707b4d340132e9685031fabf013a" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "64469253fd0c99b660ff05a4b90c571c20bf707b4d340132e9685031fabf013a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "64469253fd0c99b660ff05a4b90c571c20bf707b4d340132e9685031fabf013a" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling aws-lc-rs v1.15.2
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]     Checking simd-adler32 v0.3.8
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]    Compiling zmij v1.0.12
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]     Checking zlib-rs v0.5.5
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking openssl-probe v0.2.0
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]     Checking bumpalo v3.19.1
[INFO] [stderr]     Checking winnow v0.7.14
[INFO] [stderr]     Checking time v0.3.44
[INFO] [stderr]     Checking indexmap v2.13.0
[INFO] [stderr]     Checking pbkdf2 v0.12.2
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking lzma-rust2 v0.15.6
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]     Checking zopfli v0.8.3
[INFO] [stderr]     Checking rustls-pki-types v1.13.2
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking atlatl v0.1.2
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]    Compiling cc v1.2.52
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking rustls-native-certs v0.8.3
[INFO] [stderr]     Checking webpki-roots v1.0.9
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]     Checking serde_spanned v1.0.4
[INFO] [stderr]     Checking kl-hyphenate-commons v0.7.3
[INFO] [stderr]     Checking toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]     Checking bstr v1.12.1
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking ppmd-rust v1.3.0
[INFO] [stderr]     Checking deflate64 v0.1.10
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking toml_writer v1.0.6+spec-1.1.0
[INFO] [stderr]    Compiling plato-core v1.0.0-beta (/opt/rustwide/workdir/crates/core)
[INFO] [stderr]     Checking libz-rs-sys v0.5.5
[INFO] [stderr]     Checking chrono v0.4.42
[INFO] [stderr]     Checking flate2 v1.1.5
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]     Checking rand_xoshiro v0.7.0
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking webpki-roots v0.26.11
[INFO] [stderr]     Checking levenshtein v1.0.5
[INFO] [stderr]     Checking entities v1.0.1
[INFO] [stderr]     Checking septem v1.1.0
[INFO] [stderr]     Checking xi-unicode v0.3.0
[INFO] [stderr]     Checking paragraph-breaker v0.4.4
[INFO] [stderr]     Checking downcast-rs v2.0.2
[INFO] [stderr]    Compiling cmake v0.1.57
[INFO] [stderr]    Compiling version-compare v0.1.1
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]    Compiling sdl2 v0.38.0
[INFO] [stderr]    Compiling signal-hook v0.4.1
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking getopts v0.2.24
[INFO] [stderr]    Compiling sdl2-sys v0.38.0
[INFO] [stderr]    Compiling kl-hyphenate v0.7.3
[INFO] [stderr]     Checking png v0.18.0
[INFO] [stderr]    Compiling aws-lc-sys v0.35.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking globset v0.4.18
[INFO] [stderr]     Checking toml_parser v1.0.6+spec-1.1.0
[INFO] [stderr]     Checking toml v0.9.11+spec-1.1.0
[INFO] [stderr]     Checking titlecase v3.6.0
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking hyper-util v0.1.19
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]     Checking zip v7.0.0
[INFO] [stderr]     Checking rustls-webpki v0.103.8
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking rustls-platform-verifier v0.6.2
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking reqwest v0.13.1
[INFO] [stdout] warning: use of deprecated constant `std::f32::EPSILON`: replaced by the `EPSILON` associated constant on `f32`
[INFO] [stdout]    --> crates/core/src/geom.rs:276:25
[INFO] [stdout]     |
[INFO] [stdout] 276 |     if l2 < ::std::f32::EPSILON {
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::i32::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> crates/core/src/framebuffer/mod.rs:302:37
[INFO] [stdout]     |
[INFO] [stdout] 302 |         let mut x_min = ::std::i32::MAX;
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::i32::MIN`: replaced by the `MIN` associated constant on this type
[INFO] [stdout]    --> crates/core/src/framebuffer/mod.rs:303:37
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let mut x_max = ::std::i32::MIN;
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::i32::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> crates/core/src/framebuffer/mod.rs:304:37
[INFO] [stdout]     |
[INFO] [stdout] 304 |         let mut y_min = ::std::i32::MAX;
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::i32::MIN`: replaced by the `MIN` associated constant on this type
[INFO] [stdout]    --> crates/core/src/framebuffer/mod.rs:305:37
[INFO] [stdout]     |
[INFO] [stdout] 305 |         let mut y_max = ::std::i32::MIN;
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f32::MAX`: replaced by the `MAX` associated constant on `f32`
[INFO] [stdout]    --> crates/core/src/framebuffer/mod.rs:347:44
[INFO] [stdout]     |
[INFO] [stdout] 347 |                 let mut dmin = ::std::f32::MAX;
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f32::EPSILON`: replaced by the `EPSILON` associated constant on `f32`
[INFO] [stdout]    --> crates/core/src/geom.rs:276:25
[INFO] [stdout]     |
[INFO] [stdout] 276 |     if l2 < ::std::f32::EPSILON {
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::i32::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> crates/core/src/framebuffer/mod.rs:302:37
[INFO] [stdout]     |
[INFO] [stdout] 302 |         let mut x_min = ::std::i32::MAX;
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::i32::MIN`: replaced by the `MIN` associated constant on this type
[INFO] [stdout]    --> crates/core/src/framebuffer/mod.rs:303:37
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let mut x_max = ::std::i32::MIN;
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::i32::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> crates/core/src/framebuffer/mod.rs:304:37
[INFO] [stdout]     |
[INFO] [stdout] 304 |         let mut y_min = ::std::i32::MAX;
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::i32::MIN`: replaced by the `MIN` associated constant on this type
[INFO] [stdout]    --> crates/core/src/framebuffer/mod.rs:305:37
[INFO] [stdout]     |
[INFO] [stdout] 305 |         let mut y_max = ::std::i32::MIN;
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f32::MAX`: replaced by the `MAX` associated constant on `f32`
[INFO] [stdout]    --> crates/core/src/framebuffer/mod.rs:347:44
[INFO] [stdout]     |
[INFO] [stdout] 347 |                 let mut dmin = ::std::f32::MAX;
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]    --> crates/core/src/gesture.rs:146:62
[INFO] [stdout]     |
[INFO] [stdout] 146 | ...                   if (ts.time - time).abs() < f64::EPSILON && (tp[tp.len()-1] - position).length() < hold_jitter
[INFO] [stdout]     |                                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]    --> crates/core/src/gesture.rs:169:62
[INFO] [stdout]     |
[INFO] [stdout] 169 | ...                   if (ts.time - time).abs() < f64::EPSILON && (tp[tp.len()-1] - position).length() < hold_jitter
[INFO] [stdout]     |                                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]    --> crates/core/src/gesture.rs:305:67
[INFO] [stdout]     |
[INFO] [stdout] 305 | ...                   if (initial_time - time).abs() < f64::EPSILON {
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]    --> crates/core/src/gesture.rs:314:67
[INFO] [stdout]     |
[INFO] [stdout] 314 | ...                   if (initial_time - time).abs() < f64::EPSILON {
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]    --> crates/core/src/gesture.rs:146:62
[INFO] [stdout]     |
[INFO] [stdout] 146 | ...                   if (ts.time - time).abs() < f64::EPSILON && (tp[tp.len()-1] - position).length() < hold_jitter
[INFO] [stdout]     |                                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]    --> crates/core/src/gesture.rs:169:62
[INFO] [stdout]     |
[INFO] [stdout] 169 | ...                   if (ts.time - time).abs() < f64::EPSILON && (tp[tp.len()-1] - position).length() < hold_jitter
[INFO] [stdout]     |                                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]    --> crates/core/src/gesture.rs:305:67
[INFO] [stdout]     |
[INFO] [stdout] 305 | ...                   if (initial_time - time).abs() < f64::EPSILON {
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]    --> crates/core/src/gesture.rs:314:67
[INFO] [stdout]     |
[INFO] [stdout] 314 | ...                   if (initial_time - time).abs() < f64::EPSILON {
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]   --> crates/core/src/helpers.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | /     serde_json::from_reader(reader)
[INFO] [stdout] 72 | |                .with_context(|| format!("can't parse JSON from {}", path.as_ref().display()))
[INFO] [stdout] 73 | |                .map_err(Into::into)
[INFO] [stdout]    | |___________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 72 -                .with_context(|| format!("can't parse JSON from {}", path.as_ref().display()))
[INFO] [stdout] 73 -                .map_err(Into::into)
[INFO] [stdout] 72 +                .with_context(|| format!("can't parse JSON from {}", path.as_ref().display()))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]   --> crates/core/src/helpers.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 | /     serde_json::to_writer_pretty(writer, data)
[INFO] [stdout] 81 | |                .with_context(|| format!("can't serialize to JSON file {}", path.as_ref().display()))
[INFO] [stdout] 82 | |                .map_err(Into::into)
[INFO] [stdout]    | |___________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 81 -                .with_context(|| format!("can't serialize to JSON file {}", path.as_ref().display()))
[INFO] [stdout] 82 -                .map_err(Into::into)
[INFO] [stdout] 81 +                .with_context(|| format!("can't serialize to JSON file {}", path.as_ref().display()))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]   --> crates/core/src/helpers.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 | /     toml::from_str(&s)
[INFO] [stdout] 89 | |          .with_context(|| format!("can't parse TOML content from {}", path.as_ref().display()))
[INFO] [stdout] 90 | |          .map_err(Into::into)
[INFO] [stdout]    | |_____________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 89 -          .with_context(|| format!("can't parse TOML content from {}", path.as_ref().display()))
[INFO] [stdout] 90 -          .map_err(Into::into)
[INFO] [stdout] 89 +          .with_context(|| format!("can't parse TOML content from {}", path.as_ref().display()))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]   --> crates/core/src/helpers.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 96 | /     fs::write(path.as_ref(), &s)
[INFO] [stdout] 97 | |        .with_context(|| format!("can't write to file {}", path.as_ref().display()))
[INFO] [stdout] 98 | |        .map_err(Into::into)
[INFO] [stdout]    | |___________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 97 -        .with_context(|| format!("can't write to file {}", path.as_ref().display()))
[INFO] [stdout] 98 -        .map_err(Into::into)
[INFO] [stdout] 97 +        .with_context(|| format!("can't write to file {}", path.as_ref().display()))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `plato-core` (lib) due to 4 previous errors; 10 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]   --> crates/core/src/helpers.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | /     serde_json::from_reader(reader)
[INFO] [stdout] 72 | |                .with_context(|| format!("can't parse JSON from {}", path.as_ref().display()))
[INFO] [stdout] 73 | |                .map_err(Into::into)
[INFO] [stdout]    | |___________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 72 -                .with_context(|| format!("can't parse JSON from {}", path.as_ref().display()))
[INFO] [stdout] 73 -                .map_err(Into::into)
[INFO] [stdout] 72 +                .with_context(|| format!("can't parse JSON from {}", path.as_ref().display()))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]   --> crates/core/src/helpers.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 | /     serde_json::to_writer_pretty(writer, data)
[INFO] [stdout] 81 | |                .with_context(|| format!("can't serialize to JSON file {}", path.as_ref().display()))
[INFO] [stdout] 82 | |                .map_err(Into::into)
[INFO] [stdout]    | |___________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 81 -                .with_context(|| format!("can't serialize to JSON file {}", path.as_ref().display()))
[INFO] [stdout] 82 -                .map_err(Into::into)
[INFO] [stdout] 81 +                .with_context(|| format!("can't serialize to JSON file {}", path.as_ref().display()))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]   --> crates/core/src/helpers.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 | /     toml::from_str(&s)
[INFO] [stdout] 89 | |          .with_context(|| format!("can't parse TOML content from {}", path.as_ref().display()))
[INFO] [stdout] 90 | |          .map_err(Into::into)
[INFO] [stdout]    | |_____________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 89 -          .with_context(|| format!("can't parse TOML content from {}", path.as_ref().display()))
[INFO] [stdout] 90 -          .map_err(Into::into)
[INFO] [stdout] 89 +          .with_context(|| format!("can't parse TOML content from {}", path.as_ref().display()))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]   --> crates/core/src/helpers.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 96 | /     fs::write(path.as_ref(), &s)
[INFO] [stdout] 97 | |        .with_context(|| format!("can't write to file {}", path.as_ref().display()))
[INFO] [stdout] 98 | |        .map_err(Into::into)
[INFO] [stdout]    | |___________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 97 -        .with_context(|| format!("can't write to file {}", path.as_ref().display()))
[INFO] [stdout] 98 -        .map_err(Into::into)
[INFO] [stdout] 97 +        .with_context(|| format!("can't write to file {}", path.as_ref().display()))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `plato-core` (lib test) due to 4 previous errors; 10 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "64469253fd0c99b660ff05a4b90c571c20bf707b4d340132e9685031fabf013a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "64469253fd0c99b660ff05a4b90c571c20bf707b4d340132e9685031fabf013a", kill_on_drop: false }`
[INFO] [stdout] 64469253fd0c99b660ff05a4b90c571c20bf707b4d340132e9685031fabf013a
