[INFO] fetching crate ot 0.2.0...
[INFO] testing ot-0.2.0 against 1.95.0 for beta-1.96-2
[INFO] extracting crate ot 0.2.0 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate ot 0.2.0
[INFO] finished tweaking crates.io crate ot 0.2.0
[INFO] tweaked toml for crates.io crate ot 0.2.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate ot 0.2.0 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 53 packages to latest compatible versions
[INFO] [stderr]       Adding enum-primitive-derive v0.1.2 (available: v0.3.0)
[INFO] [stderr]       Adding image v0.21.3 (available: v0.25.10)
[INFO] [stderr]       Adding num-traits v0.1.43 (available: v0.2.19)
[INFO] [stderr]       Adding rand v0.6.5 (available: v0.10.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded lzw v0.10.0
[INFO] [stderr]   Downloaded enum-primitive-derive v0.1.2
[INFO] [stderr]   Downloaded num-derive v0.2.5
[INFO] [stderr]   Downloaded deflate v0.7.20
[INFO] [stderr]   Downloaded png v0.14.1
[INFO] [stderr]   Downloaded gif v0.10.3
[INFO] [stderr]   Downloaded image v0.21.3
[INFO] [stderr]   Downloaded tiff v0.2.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4a559b859dd59d96a91d420889ed86169b6e49f409c0d7f0f563f45f993a1a91
[INFO] running `Command { std: "docker" "start" "-a" "4a559b859dd59d96a91d420889ed86169b6e49f409c0d7f0f563f45f993a1a91", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4a559b859dd59d96a91d420889ed86169b6e49f409c0d7f0f563f45f993a1a91", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4a559b859dd59d96a91d420889ed86169b6e49f409c0d7f0f563f45f993a1a91", kill_on_drop: false }`
[INFO] [stdout] 4a559b859dd59d96a91d420889ed86169b6e49f409c0d7f0f563f45f993a1a91
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ea9ba623298d50f9ff65de2f4c6a9a693ead8050db095977a3fa0e32e914022e
[INFO] running `Command { std: "docker" "start" "-a" "ea9ba623298d50f9ff65de2f4c6a9a693ead8050db095977a3fa0e32e914022e", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]    Compiling rand_core v0.4.2
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling adler32 v1.2.0
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling num-derive v0.2.5
[INFO] [stderr]    Compiling rand_core v0.3.1
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling lzw v0.10.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling deflate v0.7.20
[INFO] [stderr]    Compiling inflate v0.4.5
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]    Compiling gif v0.10.3
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stderr]    Compiling rand_xorshift v0.1.1
[INFO] [stderr]    Compiling rand_isaac v0.1.1
[INFO] [stderr]    Compiling rand_hc v0.1.0
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling rand_jitter v0.1.4
[INFO] [stderr]    Compiling png v0.14.1
[INFO] [stderr]    Compiling scoped_threadpool v0.1.9
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling enum-primitive-derive v0.1.2
[INFO] [stderr]    Compiling tiff v0.2.2
[INFO] [stderr]    Compiling jpeg-decoder v0.1.22
[INFO] [stderr]    Compiling image v0.21.3
[INFO] [stderr]    Compiling ot v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `image::Primitive`
[INFO] [stdout]  --> src/otb.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use image::Primitive;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToPrimitive`
[INFO] [stdout]  --> src/otbm.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 | use num_traits::{FromPrimitive, ToPrimitive};
[INFO] [stdout]   |                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/mem_read.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 |             let mut x: U = uninitialized();
[INFO] [stdout]    |                            ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/draw.rs:62:14
[INFO] [stdout]    |
[INFO] [stdout] 62 |         for (x, y, pixel) in self.enumerate_pixels_mut() {
[INFO] [stdout]    |              ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/draw.rs:62:17
[INFO] [stdout]    |
[INFO] [stdout] 62 |         for (x, y, pixel) in self.enumerate_pixels_mut() {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `category`
[INFO] [stdout]    --> src/dat.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         category: ThingCategory,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_category`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `num_layers` is assigned to, but never used
[INFO] [stdout]    --> src/dat.rs:392:13
[INFO] [stdout]     |
[INFO] [stdout] 392 |         let mut num_layers = frame.layers;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_num_layers` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `num_layers` is never read
[INFO] [stdout]    --> src/dat.rs:395:13
[INFO] [stdout]     |
[INFO] [stdout] 395 |             num_layers = 5;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame`
[INFO] [stdout]    --> src/dat.rs:448:35
[INFO] [stdout]     |
[INFO] [stdout] 448 |     fn get_best_texture_dimension(frame: &FrameGroup, mut w: i32, mut h: i32, count: i32) -> Size {
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signature`
[INFO] [stdout]    --> src/dat.rs:573:9
[INFO] [stdout]     |
[INFO] [stdout] 573 |     let signature = data.get::<u32>();
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signature`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/otbm.rs:54:27
[INFO] [stdout]    |
[INFO] [stdout] 54 |             Node::MapData(x) => write!(f, "MapData"),
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/otbm.rs:58:25
[INFO] [stdout]    |
[INFO] [stdout] 58 |             Node::Towns(x) => write!(f, "Towns"),
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/otbm.rs:59:24
[INFO] [stdout]    |
[INFO] [stdout] 59 |             Node::Town(x) => write!(f, "Town"),
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/otbm.rs:60:29
[INFO] [stdout]    |
[INFO] [stdout] 60 |             Node::HouseTile(x) => write!(f, "HouseTile"),
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/otbm.rs:61:29
[INFO] [stdout]    |
[INFO] [stdout] 61 |             Node::Waypoints(x) => write!(f, "Waypoints"),
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/otbm.rs:62:28
[INFO] [stdout]    |
[INFO] [stdout] 62 |             Node::Waypoint(x) => write!(f, "Waypoint"),
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/otbm.rs:93:26
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn parse<T: MemRead>(data: &mut T) -> Result<MapDataNode, Error> {
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/otbm.rs:168:26
[INFO] [stdout]     |
[INFO] [stdout] 168 |     fn parse<T: MemRead>(data: &mut T) -> Result<WaypointsNode, Error> {
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/otbm.rs:182:26
[INFO] [stdout]     |
[INFO] [stdout] 182 |     fn parse<T: MemRead>(data: &mut T) -> Result<WaypointNode, Error> {
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/otbm.rs:198:26
[INFO] [stdout]     |
[INFO] [stdout] 198 |     fn parse<T: MemRead>(data: &mut T) -> Result<TownsNode, Error> {
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color_key`
[INFO] [stdout]   --> src/spr.rs:52:21
[INFO] [stdout]    |
[INFO] [stdout] 52 |                 let color_key = data.get::<[u8; 3]>()?;
[INFO] [stdout]    |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_color_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&[u8]` instead of cloning the inner type
[INFO] [stdout]   --> src/spr.rs:32:21
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let begin = data.clone();
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 26.90s
[INFO] running `Command { std: "docker" "inspect" "ea9ba623298d50f9ff65de2f4c6a9a693ead8050db095977a3fa0e32e914022e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ea9ba623298d50f9ff65de2f4c6a9a693ead8050db095977a3fa0e32e914022e", kill_on_drop: false }`
[INFO] [stdout] ea9ba623298d50f9ff65de2f4c6a9a693ead8050db095977a3fa0e32e914022e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 854b09d55c1c8ed5147d1cacd3d400223b53d71a4a65fa71c79bd84c6943d0d8
[INFO] running `Command { std: "docker" "start" "-a" "854b09d55c1c8ed5147d1cacd3d400223b53d71a4a65fa71c79bd84c6943d0d8", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stdout] warning: unused import: `image::Primitive`
[INFO] [stdout]  --> src/otb.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use image::Primitive;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToPrimitive`
[INFO] [stdout]  --> src/otbm.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 | use num_traits::{FromPrimitive, ToPrimitive};
[INFO] [stdout]   |                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/mem_read.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 |             let mut x: U = uninitialized();
[INFO] [stdout]    |                            ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/draw.rs:62:14
[INFO] [stdout]    |
[INFO] [stdout] 62 |         for (x, y, pixel) in self.enumerate_pixels_mut() {
[INFO] [stdout]    |              ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/draw.rs:62:17
[INFO] [stdout]    |
[INFO] [stdout] 62 |         for (x, y, pixel) in self.enumerate_pixels_mut() {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `category`
[INFO] [stdout]    --> src/dat.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         category: ThingCategory,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_category`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `num_layers` is assigned to, but never used
[INFO] [stdout]    --> src/dat.rs:392:13
[INFO] [stdout]     |
[INFO] [stdout] 392 |         let mut num_layers = frame.layers;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_num_layers` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `num_layers` is never read
[INFO] [stdout]    --> src/dat.rs:395:13
[INFO] [stdout]     |
[INFO] [stdout] 395 |             num_layers = 5;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame`
[INFO] [stdout]    --> src/dat.rs:448:35
[INFO] [stdout]     |
[INFO] [stdout] 448 |     fn get_best_texture_dimension(frame: &FrameGroup, mut w: i32, mut h: i32, count: i32) -> Size {
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signature`
[INFO] [stdout]    --> src/dat.rs:573:9
[INFO] [stdout]     |
[INFO] [stdout] 573 |     let signature = data.get::<u32>();
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signature`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/otbm.rs:54:27
[INFO] [stdout]    |
[INFO] [stdout] 54 |             Node::MapData(x) => write!(f, "MapData"),
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/otbm.rs:58:25
[INFO] [stdout]    |
[INFO] [stdout] 58 |             Node::Towns(x) => write!(f, "Towns"),
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/otbm.rs:59:24
[INFO] [stdout]    |
[INFO] [stdout] 59 |             Node::Town(x) => write!(f, "Town"),
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/otbm.rs:60:29
[INFO] [stdout]    |
[INFO] [stdout] 60 |             Node::HouseTile(x) => write!(f, "HouseTile"),
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/otbm.rs:61:29
[INFO] [stdout]    |
[INFO] [stdout] 61 |             Node::Waypoints(x) => write!(f, "Waypoints"),
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/otbm.rs:62:28
[INFO] [stdout]    |
[INFO] [stdout] 62 |             Node::Waypoint(x) => write!(f, "Waypoint"),
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/otbm.rs:93:26
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn parse<T: MemRead>(data: &mut T) -> Result<MapDataNode, Error> {
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/otbm.rs:168:26
[INFO] [stdout]     |
[INFO] [stdout] 168 |     fn parse<T: MemRead>(data: &mut T) -> Result<WaypointsNode, Error> {
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/otbm.rs:182:26
[INFO] [stdout]     |
[INFO] [stdout] 182 |     fn parse<T: MemRead>(data: &mut T) -> Result<WaypointNode, Error> {
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/otbm.rs:198:26
[INFO] [stdout]     |
[INFO] [stdout] 198 |     fn parse<T: MemRead>(data: &mut T) -> Result<TownsNode, Error> {
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color_key`
[INFO] [stdout]   --> src/spr.rs:52:21
[INFO] [stdout]    |
[INFO] [stdout] 52 |                 let color_key = data.get::<[u8; 3]>()?;
[INFO] [stdout]    |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_color_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&[u8]` instead of cloning the inner type
[INFO] [stdout]   --> src/spr.rs:32:21
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let begin = data.clone();
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ot v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `image::Primitive`
[INFO] [stdout]  --> src/otb.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use image::Primitive;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToPrimitive`
[INFO] [stdout]  --> src/otbm.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 | use num_traits::{FromPrimitive, ToPrimitive};
[INFO] [stdout]   |                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/mem_read.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 |             let mut x: U = uninitialized();
[INFO] [stdout]    |                            ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/draw.rs:62:14
[INFO] [stdout]    |
[INFO] [stdout] 62 |         for (x, y, pixel) in self.enumerate_pixels_mut() {
[INFO] [stdout]    |              ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/draw.rs:62:17
[INFO] [stdout]    |
[INFO] [stdout] 62 |         for (x, y, pixel) in self.enumerate_pixels_mut() {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `category`
[INFO] [stdout]    --> src/dat.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         category: ThingCategory,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_category`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `num_layers` is assigned to, but never used
[INFO] [stdout]    --> src/dat.rs:392:13
[INFO] [stdout]     |
[INFO] [stdout] 392 |         let mut num_layers = frame.layers;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_num_layers` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `num_layers` is never read
[INFO] [stdout]    --> src/dat.rs:395:13
[INFO] [stdout]     |
[INFO] [stdout] 395 |             num_layers = 5;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame`
[INFO] [stdout]    --> src/dat.rs:448:35
[INFO] [stdout]     |
[INFO] [stdout] 448 |     fn get_best_texture_dimension(frame: &FrameGroup, mut w: i32, mut h: i32, count: i32) -> Size {
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signature`
[INFO] [stdout]    --> src/dat.rs:573:9
[INFO] [stdout]     |
[INFO] [stdout] 573 |     let signature = data.get::<u32>();
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signature`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/otbm.rs:54:27
[INFO] [stdout]    |
[INFO] [stdout] 54 |             Node::MapData(x) => write!(f, "MapData"),
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/otbm.rs:58:25
[INFO] [stdout]    |
[INFO] [stdout] 58 |             Node::Towns(x) => write!(f, "Towns"),
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/otbm.rs:59:24
[INFO] [stdout]    |
[INFO] [stdout] 59 |             Node::Town(x) => write!(f, "Town"),
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/otbm.rs:60:29
[INFO] [stdout]    |
[INFO] [stdout] 60 |             Node::HouseTile(x) => write!(f, "HouseTile"),
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/otbm.rs:61:29
[INFO] [stdout]    |
[INFO] [stdout] 61 |             Node::Waypoints(x) => write!(f, "Waypoints"),
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/otbm.rs:62:28
[INFO] [stdout]    |
[INFO] [stdout] 62 |             Node::Waypoint(x) => write!(f, "Waypoint"),
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/otbm.rs:93:26
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn parse<T: MemRead>(data: &mut T) -> Result<MapDataNode, Error> {
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/otbm.rs:168:26
[INFO] [stdout]     |
[INFO] [stdout] 168 |     fn parse<T: MemRead>(data: &mut T) -> Result<WaypointsNode, Error> {
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/otbm.rs:182:26
[INFO] [stdout]     |
[INFO] [stdout] 182 |     fn parse<T: MemRead>(data: &mut T) -> Result<WaypointNode, Error> {
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/otbm.rs:198:26
[INFO] [stdout]     |
[INFO] [stdout] 198 |     fn parse<T: MemRead>(data: &mut T) -> Result<TownsNode, Error> {
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color_key`
[INFO] [stdout]   --> src/spr.rs:52:21
[INFO] [stdout]    |
[INFO] [stdout] 52 |                 let color_key = data.get::<[u8; 3]>()?;
[INFO] [stdout]    |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_color_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&[u8]` instead of cloning the inner type
[INFO] [stdout]   --> src/spr.rs:32:21
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let begin = data.clone();
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.57s
[INFO] running `Command { std: "docker" "inspect" "854b09d55c1c8ed5147d1cacd3d400223b53d71a4a65fa71c79bd84c6943d0d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "854b09d55c1c8ed5147d1cacd3d400223b53d71a4a65fa71c79bd84c6943d0d8", kill_on_drop: false }`
[INFO] [stdout] 854b09d55c1c8ed5147d1cacd3d400223b53d71a4a65fa71c79bd84c6943d0d8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] cf5126c075c23f9d556d270bf495d2992d30c27cae1d151c63dbbdf98f031dcf
[INFO] running `Command { std: "docker" "start" "-a" "cf5126c075c23f9d556d270bf495d2992d30c27cae1d151c63dbbdf98f031dcf", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: unused import: `image::Primitive`
[INFO] [stderr]  --> src/otb.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use image::Primitive;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ToPrimitive`
[INFO] [stderr]  --> src/otbm.rs:9:33
[INFO] [stderr]   |
[INFO] [stderr] 9 | use num_traits::{FromPrimitive, ToPrimitive};
[INFO] [stderr]   |                                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/mem_read.rs:27:28
[INFO] [stderr]    |
[INFO] [stderr] 27 |             let mut x: U = uninitialized();
[INFO] [stderr]    |                            ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]   --> src/draw.rs:62:14
[INFO] [stderr]    |
[INFO] [stderr] 62 |         for (x, y, pixel) in self.enumerate_pixels_mut() {
[INFO] [stderr]    |              ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `y`
[INFO] [stderr]   --> src/draw.rs:62:17
[INFO] [stderr]    |
[INFO] [stderr] 62 |         for (x, y, pixel) in self.enumerate_pixels_mut() {
[INFO] [stderr]    |                 ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `category`
[INFO] [stderr]    --> src/dat.rs:144:9
[INFO] [stderr]     |
[INFO] [stderr] 144 |         category: ThingCategory,
[INFO] [stderr]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_category`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `num_layers` is assigned to, but never used
[INFO] [stderr]    --> src/dat.rs:392:13
[INFO] [stderr]     |
[INFO] [stderr] 392 |         let mut num_layers = frame.layers;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_num_layers` instead
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `num_layers` is never read
[INFO] [stderr]    --> src/dat.rs:395:13
[INFO] [stderr]     |
[INFO] [stderr] 395 |             num_layers = 5;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `frame`
[INFO] [stderr]    --> src/dat.rs:448:35
[INFO] [stderr]     |
[INFO] [stderr] 448 |     fn get_best_texture_dimension(frame: &FrameGroup, mut w: i32, mut h: i32, count: i32) -> Size {
[INFO] [stderr]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `signature`
[INFO] [stderr]    --> src/dat.rs:573:9
[INFO] [stderr]     |
[INFO] [stderr] 573 |     let signature = data.get::<u32>();
[INFO] [stderr]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signature`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]   --> src/otbm.rs:54:27
[INFO] [stderr]    |
[INFO] [stderr] 54 |             Node::MapData(x) => write!(f, "MapData"),
[INFO] [stderr]    |                           ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]   --> src/otbm.rs:58:25
[INFO] [stderr]    |
[INFO] [stderr] 58 |             Node::Towns(x) => write!(f, "Towns"),
[INFO] [stderr]    |                         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]   --> src/otbm.rs:59:24
[INFO] [stderr]    |
[INFO] [stderr] 59 |             Node::Town(x) => write!(f, "Town"),
[INFO] [stderr]    |                        ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]   --> src/otbm.rs:60:29
[INFO] [stderr]    |
[INFO] [stderr] 60 |             Node::HouseTile(x) => write!(f, "HouseTile"),
[INFO] [stderr]    |                             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]   --> src/otbm.rs:61:29
[INFO] [stderr]    |
[INFO] [stderr] 61 |             Node::Waypoints(x) => write!(f, "Waypoints"),
[INFO] [stderr]    |                             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]   --> src/otbm.rs:62:28
[INFO] [stderr]    |
[INFO] [stderr] 62 |             Node::Waypoint(x) => write!(f, "Waypoint"),
[INFO] [stderr]    |                            ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/otbm.rs:93:26
[INFO] [stderr]    |
[INFO] [stderr] 93 |     fn parse<T: MemRead>(data: &mut T) -> Result<MapDataNode, Error> {
[INFO] [stderr]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> src/otbm.rs:168:26
[INFO] [stderr]     |
[INFO] [stderr] 168 |     fn parse<T: MemRead>(data: &mut T) -> Result<WaypointsNode, Error> {
[INFO] [stderr]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> src/otbm.rs:182:26
[INFO] [stderr]     |
[INFO] [stderr] 182 |     fn parse<T: MemRead>(data: &mut T) -> Result<WaypointNode, Error> {
[INFO] [stderr]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> src/otbm.rs:198:26
[INFO] [stderr]     |
[INFO] [stderr] 198 |     fn parse<T: MemRead>(data: &mut T) -> Result<TownsNode, Error> {
[INFO] [stderr]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `color_key`
[INFO] [stderr]   --> src/spr.rs:52:21
[INFO] [stderr]    |
[INFO] [stderr] 52 |                 let color_key = data.get::<[u8; 3]>()?;
[INFO] [stderr]    |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_color_key`
[INFO] [stderr] 
[INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&[u8]` instead of cloning the inner type
[INFO] [stderr]   --> src/spr.rs:32:21
[INFO] [stderr]    |
[INFO] [stderr] 32 |     let begin = data.clone();
[INFO] [stderr]    |                     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `ot` (lib) generated 22 warnings (run `cargo fix --lib -p ot` to apply 18 suggestions)
[INFO] [stderr] warning: `ot` (lib test) generated 22 warnings (22 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.15s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ot-675c7b44670c7dd8)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stderr]    Doc-tests ot
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "cf5126c075c23f9d556d270bf495d2992d30c27cae1d151c63dbbdf98f031dcf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cf5126c075c23f9d556d270bf495d2992d30c27cae1d151c63dbbdf98f031dcf", kill_on_drop: false }`
[INFO] [stdout] cf5126c075c23f9d556d270bf495d2992d30c27cae1d151c63dbbdf98f031dcf
