[INFO] cloning repository https://github.com/Tarouka/rust-co-toolkit [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Tarouka/rust-co-toolkit" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTarouka%2Frust-co-toolkit", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTarouka%2Frust-co-toolkit'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] db527e1a2f16022fa7fd9fba7ad0f8bff6d63a22 [INFO] testing Tarouka/rust-co-toolkit/db527e1a2f16022fa7fd9fba7ad0f8bff6d63a22 against 1.81.0 for beta-1.82-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTarouka%2Frust-co-toolkit" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Tarouka/rust-co-toolkit on toolchain 1.81.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.81.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Tarouka/rust-co-toolkit [INFO] finished tweaking git repo https://github.com/Tarouka/rust-co-toolkit [INFO] tweaked toml for git repo https://github.com/Tarouka/rust-co-toolkit written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/Tarouka/rust-co-toolkit already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.81.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 2021 [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded serde_derive v1.0.8 [INFO] [stderr] Downloaded rust-ini v0.9.12 [INFO] [stderr] Downloaded nom v3.0.0 [INFO] [stderr] Downloaded clap v2.24.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:96c0aa5895ecf336b730ef27bcdde6e21027415df19888aad3cf1448e5d65d90" "/opt/rustwide/cargo-home/bin/cargo" "+1.81.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d6936763143ae7bd5fde93c31407385d31a4075ed04f07d8fa1cbfd3b6518987 [INFO] running `Command { std: "docker" "start" "-a" "d6936763143ae7bd5fde93c31407385d31a4075ed04f07d8fa1cbfd3b6518987", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d6936763143ae7bd5fde93c31407385d31a4075ed04f07d8fa1cbfd3b6518987", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d6936763143ae7bd5fde93c31407385d31a4075ed04f07d8fa1cbfd3b6518987", kill_on_drop: false }` [INFO] [stdout] d6936763143ae7bd5fde93c31407385d31a4075ed04f07d8fa1cbfd3b6518987 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:96c0aa5895ecf336b730ef27bcdde6e21027415df19888aad3cf1448e5d65d90" "/opt/rustwide/cargo-home/bin/cargo" "+1.81.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5da7795d9fa7f0e4e9915ee3f83bed62196cae942b0e227334b4861024b79668 [INFO] running `Command { std: "docker" "start" "-a" "5da7795d9fa7f0e4e9915ee3f83bed62196cae942b0e227334b4861024b79668", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Compiling libc v0.2.23 [INFO] [stderr] Compiling unicode-xid v0.0.4 [INFO] [stderr] Compiling quote v0.3.15 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Compiling bitflags v0.8.2 [INFO] [stderr] Compiling unicode-segmentation v1.2.0 [INFO] [stderr] Compiling dtoa v0.4.1 [INFO] [stderr] Compiling serde v1.0.8 [INFO] [stderr] Compiling regex-syntax v0.4.1 [INFO] [stderr] Compiling vec_map v0.8.0 [INFO] [stderr] Compiling ansi_term v0.9.0 [INFO] [stderr] Compiling strsim v0.6.0 [INFO] [stderr] Compiling unicode-width v0.1.4 [INFO] [stderr] Compiling utf8-ranges v1.0.0 [INFO] [stderr] Compiling log v0.3.8 [INFO] [stderr] Compiling itoa v0.3.1 [INFO] [stderr] Compiling unreachable v0.1.1 [INFO] [stderr] Compiling synom v0.11.3 [INFO] [stderr] Compiling num-traits v0.1.39 [INFO] [stderr] Compiling byteorder v1.0.0 [INFO] [stderr] Compiling nom v3.0.0 [INFO] [stderr] Compiling rust-ini v0.9.12 [INFO] [stderr] Compiling syn v0.11.11 [INFO] [stderr] Compiling memchr v1.0.1 [INFO] [stderr] Compiling thread-id v3.1.0 [INFO] [stderr] Compiling term_size v0.3.0 [INFO] [stderr] Compiling atty v0.2.2 [INFO] [stderr] Compiling thread_local v0.3.3 [INFO] [stderr] Compiling clap v2.24.2 [INFO] [stderr] Compiling aho-corasick v0.6.3 [INFO] [stderr] Compiling regex v0.2.2 [INFO] [stderr] Compiling serde_derive_internals v0.15.1 [INFO] [stderr] Compiling serde_derive v1.0.8 [INFO] [stderr] Compiling serde_json v1.0.2 [INFO] [stderr] Compiling toolkit v0.4.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::prelude::*` [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::Command` [INFO] [stdout] --> src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::process::Command; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Cursor` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::io::Cursor; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::env` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::env; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/main.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ErrorKind`, `IResult`, and `not_line_ending` [INFO] [stdout] --> src/datfiles.rs:46:15 [INFO] [stdout] | [INFO] [stdout] 46 | use nom::{not_line_ending, IResult, ErrorKind}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/levelexp.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/levelexp.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/levelexp.rs:36:48 [INFO] [stdout] | [INFO] [stdout] 36 | let level: u8 = self.get_level_from_idx(&b);; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::IResult` [INFO] [stdout] --> src/itemtype.rs:117:6 [INFO] [stdout] | [INFO] [stdout] 117 | use nom::IResult; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::IResult::Done` [INFO] [stdout] --> src/itemtype.rs:118:6 [INFO] [stdout] | [INFO] [stdout] 118 | use nom::IResult::Done; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `datfiles::parser` [INFO] [stdout] --> src/magictype.rs:128:6 [INFO] [stdout] | [INFO] [stdout] 128 | use datfiles::parser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::*` [INFO] [stdout] --> src/magictype.rs:133:6 [INFO] [stdout] | [INFO] [stdout] 133 | use nom::*; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ReadBytesExt` [INFO] [stdout] --> src/levelexp.rs:16:42 [INFO] [stdout] | [INFO] [stdout] 16 | use byteorder::{ByteOrder, LittleEndian, ReadBytesExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bytes_read_mb` [INFO] [stdout] --> src/levelexp.rs:82:10 [INFO] [stdout] | [INFO] [stdout] 82 | let bytes_read_mb: f64 = (bytes_read as f64) / 1024.0 / 1024.0; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes_read_mb` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `header` [INFO] [stdout] --> src/itemtype.rs:298:11 [INFO] [stdout] | [INFO] [stdout] 298 | let header = item_type_header_parsed; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `header` [INFO] [stdout] --> src/magictype.rs:325:11 [INFO] [stdout] | [INFO] [stdout] 325 | let header = magic_type_header_parsed; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entry_idx` [INFO] [stdout] --> src/magictype.rs:348:17 [INFO] [stdout] | [INFO] [stdout] 348 | Result::Err(entry_idx) => { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entry_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bytes_read` [INFO] [stdout] --> src/main.rs:210:9 [INFO] [stdout] | [INFO] [stdout] 210 | let bytes_read = f.read_to_end(&mut buffer).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes_read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `encoded_bytes` is never read [INFO] [stdout] --> src/main.rs:309:17 [INFO] [stdout] | [INFO] [stdout] 309 | let mut encoded_bytes: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:317:13 [INFO] [stdout] | [INFO] [stdout] 317 | let mut bytes_to_write = if args.encrypt { encrypt_cofac_bytes(encoded_bytes) } else { encoded_bytes }; [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `encoded_bytes` is never read [INFO] [stdout] --> src/main.rs:351:17 [INFO] [stdout] | [INFO] [stdout] 351 | let mut encoded_bytes: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:359:13 [INFO] [stdout] | [INFO] [stdout] 359 | let mut bytes_to_write = if args.encrypt { encrypt_cofac_bytes(encoded_bytes) } else { encoded_bytes }; [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `encoded_bytes` is never read [INFO] [stdout] --> src/main.rs:402:17 [INFO] [stdout] | [INFO] [stdout] 402 | let mut encoded_bytes: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:411:13 [INFO] [stdout] | [INFO] [stdout] 411 | let mut bytes_to_write = if args.encrypt { encrypt_cofac_bytes(encoded_bytes) } else { encoded_bytes }; [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Level` is never constructed [INFO] [stdout] --> src/levelexp.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Level { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LevelExpFile` is never constructed [INFO] [stdout] --> src/levelexp.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct LevelExpFile { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_levels`, `get_levels_as_map`, `get_levels_count`, `get_level_from_idx`, `get_exp_from_level`, and `get_file_bytes` are never used [INFO] [stdout] --> src/levelexp.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 28 | impl LevelExpFile { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] 29 | pub fn get_levels(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn get_levels_as_map(&self) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | fn get_levels_count(&self, levels_data: &Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | fn get_level_from_idx(&self, idx: &usize) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | fn get_exp_from_level(&self, levels: &Vec, idx: &usize) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | fn get_file_bytes(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `serialize_monster_entries_to_str` is never used [INFO] [stdout] --> src/monster.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn serialize_monster_entries_to_str(entries: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:218:5 [INFO] [stdout] | [INFO] [stdout] 218 | f.write_all(&bytes); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 218 | let _ = f.write_all(&bytes); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 33 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.04s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.8.2, nom v3.0.0 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "5da7795d9fa7f0e4e9915ee3f83bed62196cae942b0e227334b4861024b79668", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5da7795d9fa7f0e4e9915ee3f83bed62196cae942b0e227334b4861024b79668", kill_on_drop: false }` [INFO] [stdout] 5da7795d9fa7f0e4e9915ee3f83bed62196cae942b0e227334b4861024b79668 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:96c0aa5895ecf336b730ef27bcdde6e21027415df19888aad3cf1448e5d65d90" "/opt/rustwide/cargo-home/bin/cargo" "+1.81.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e3c3f82c50bc7b15c5aa1fb89f4dc43cfaa5eae1c7ff5cd8ce1de8fb3117b175 [INFO] running `Command { std: "docker" "start" "-a" "e3c3f82c50bc7b15c5aa1fb89f4dc43cfaa5eae1c7ff5cd8ce1de8fb3117b175", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Compiling toolkit v0.4.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::prelude::*` [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::Command` [INFO] [stdout] --> src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::process::Command; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Cursor` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::io::Cursor; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::env` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::env; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/main.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ErrorKind`, `IResult`, and `not_line_ending` [INFO] [stdout] --> src/datfiles.rs:46:15 [INFO] [stdout] | [INFO] [stdout] 46 | use nom::{not_line_ending, IResult, ErrorKind}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/levelexp.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/levelexp.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/levelexp.rs:36:48 [INFO] [stdout] | [INFO] [stdout] 36 | let level: u8 = self.get_level_from_idx(&b);; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::IResult` [INFO] [stdout] --> src/itemtype.rs:117:6 [INFO] [stdout] | [INFO] [stdout] 117 | use nom::IResult; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::IResult::Done` [INFO] [stdout] --> src/itemtype.rs:118:6 [INFO] [stdout] | [INFO] [stdout] 118 | use nom::IResult::Done; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `datfiles::parser` [INFO] [stdout] --> src/magictype.rs:128:6 [INFO] [stdout] | [INFO] [stdout] 128 | use datfiles::parser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::*` [INFO] [stdout] --> src/magictype.rs:133:6 [INFO] [stdout] | [INFO] [stdout] 133 | use nom::*; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ReadBytesExt` [INFO] [stdout] --> src/levelexp.rs:16:42 [INFO] [stdout] | [INFO] [stdout] 16 | use byteorder::{ByteOrder, LittleEndian, ReadBytesExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bytes_read_mb` [INFO] [stdout] --> src/levelexp.rs:82:10 [INFO] [stdout] | [INFO] [stdout] 82 | let bytes_read_mb: f64 = (bytes_read as f64) / 1024.0 / 1024.0; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes_read_mb` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `header` [INFO] [stdout] --> src/itemtype.rs:298:11 [INFO] [stdout] | [INFO] [stdout] 298 | let header = item_type_header_parsed; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `header` [INFO] [stdout] --> src/magictype.rs:325:11 [INFO] [stdout] | [INFO] [stdout] 325 | let header = magic_type_header_parsed; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entry_idx` [INFO] [stdout] --> src/magictype.rs:348:17 [INFO] [stdout] | [INFO] [stdout] 348 | Result::Err(entry_idx) => { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entry_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bytes_read` [INFO] [stdout] --> src/main.rs:210:9 [INFO] [stdout] | [INFO] [stdout] 210 | let bytes_read = f.read_to_end(&mut buffer).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes_read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `encoded_bytes` is never read [INFO] [stdout] --> src/main.rs:309:17 [INFO] [stdout] | [INFO] [stdout] 309 | let mut encoded_bytes: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:317:13 [INFO] [stdout] | [INFO] [stdout] 317 | let mut bytes_to_write = if args.encrypt { encrypt_cofac_bytes(encoded_bytes) } else { encoded_bytes }; [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `encoded_bytes` is never read [INFO] [stdout] --> src/main.rs:351:17 [INFO] [stdout] | [INFO] [stdout] 351 | let mut encoded_bytes: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:359:13 [INFO] [stdout] | [INFO] [stdout] 359 | let mut bytes_to_write = if args.encrypt { encrypt_cofac_bytes(encoded_bytes) } else { encoded_bytes }; [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `encoded_bytes` is never read [INFO] [stdout] --> src/main.rs:402:17 [INFO] [stdout] | [INFO] [stdout] 402 | let mut encoded_bytes: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:411:13 [INFO] [stdout] | [INFO] [stdout] 411 | let mut bytes_to_write = if args.encrypt { encrypt_cofac_bytes(encoded_bytes) } else { encoded_bytes }; [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Level` is never constructed [INFO] [stdout] --> src/levelexp.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Level { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LevelExpFile` is never constructed [INFO] [stdout] --> src/levelexp.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct LevelExpFile { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_levels`, `get_levels_as_map`, `get_levels_count`, `get_level_from_idx`, `get_exp_from_level`, and `get_file_bytes` are never used [INFO] [stdout] --> src/levelexp.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 28 | impl LevelExpFile { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] 29 | pub fn get_levels(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn get_levels_as_map(&self) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | fn get_levels_count(&self, levels_data: &Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | fn get_level_from_idx(&self, idx: &usize) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | fn get_exp_from_level(&self, levels: &Vec, idx: &usize) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | fn get_file_bytes(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `serialize_monster_entries_to_str` is never used [INFO] [stdout] --> src/monster.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn serialize_monster_entries_to_str(entries: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MONSTER_ENTRY_UNFORMATTED` is never used [INFO] [stdout] --> src/monster.rs:209:9 [INFO] [stdout] | [INFO] [stdout] 209 | const MONSTER_ENTRY_UNFORMATTED: &str = "[AMonster] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_monster_entry_parse_then_reformat_returns_start_val` is never used [INFO] [stdout] --> src/monster.rs:245:6 [INFO] [stdout] | [INFO] [stdout] 245 | fn test_monster_entry_parse_then_reformat_returns_start_val() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:218:5 [INFO] [stdout] | [INFO] [stdout] 218 | f.write_all(&bytes); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 218 | let _ = f.write_all(&bytes); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 35 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.24s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.8.2, nom v3.0.0 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "e3c3f82c50bc7b15c5aa1fb89f4dc43cfaa5eae1c7ff5cd8ce1de8fb3117b175", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e3c3f82c50bc7b15c5aa1fb89f4dc43cfaa5eae1c7ff5cd8ce1de8fb3117b175", kill_on_drop: false }` [INFO] [stdout] e3c3f82c50bc7b15c5aa1fb89f4dc43cfaa5eae1c7ff5cd8ce1de8fb3117b175 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:96c0aa5895ecf336b730ef27bcdde6e21027415df19888aad3cf1448e5d65d90" "/opt/rustwide/cargo-home/bin/cargo" "+1.81.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] ca45e788ce3849a9be24db84c2a637eb70222c083e3359b34d030769be29508f [INFO] running `Command { std: "docker" "start" "-a" "ca45e788ce3849a9be24db84c2a637eb70222c083e3359b34d030769be29508f", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/main.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::prelude::*` [INFO] [stderr] --> src/main.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs` [INFO] [stderr] --> src/main.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::fs; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::process::Command` [INFO] [stderr] --> src/main.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::process::Command; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/main.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Cursor` [INFO] [stderr] --> src/main.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::io::Cursor; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::env` [INFO] [stderr] --> src/main.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use std::env; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:15:1 [INFO] [stderr] | [INFO] [stderr] 15 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ErrorKind`, `IResult`, and `not_line_ending` [INFO] [stderr] --> src/datfiles.rs:46:15 [INFO] [stderr] | [INFO] [stderr] 46 | use nom::{not_line_ending, IResult, ErrorKind}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/levelexp.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs` [INFO] [stderr] --> src/levelexp.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::fs; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/levelexp.rs:36:48 [INFO] [stderr] | [INFO] [stderr] 36 | let level: u8 = self.get_level_from_idx(&b);; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `nom::IResult` [INFO] [stderr] --> src/itemtype.rs:117:6 [INFO] [stderr] | [INFO] [stderr] 117 | use nom::IResult; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `nom::IResult::Done` [INFO] [stderr] --> src/itemtype.rs:118:6 [INFO] [stderr] | [INFO] [stderr] 118 | use nom::IResult::Done; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `datfiles::parser` [INFO] [stderr] --> src/magictype.rs:128:6 [INFO] [stderr] | [INFO] [stderr] 128 | use datfiles::parser; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `nom::*` [INFO] [stderr] --> src/magictype.rs:133:6 [INFO] [stderr] | [INFO] [stderr] 133 | use nom::*; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ReadBytesExt` [INFO] [stderr] --> src/levelexp.rs:16:42 [INFO] [stderr] | [INFO] [stderr] 16 | use byteorder::{ByteOrder, LittleEndian, ReadBytesExt}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytes_read_mb` [INFO] [stderr] --> src/levelexp.rs:82:10 [INFO] [stderr] | [INFO] [stderr] 82 | let bytes_read_mb: f64 = (bytes_read as f64) / 1024.0 / 1024.0; [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes_read_mb` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `header` [INFO] [stderr] --> src/itemtype.rs:298:11 [INFO] [stderr] | [INFO] [stderr] 298 | let header = item_type_header_parsed; [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `header` [INFO] [stderr] --> src/magictype.rs:325:11 [INFO] [stderr] | [INFO] [stderr] 325 | let header = magic_type_header_parsed; [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `entry_idx` [INFO] [stderr] --> src/magictype.rs:348:17 [INFO] [stderr] | [INFO] [stderr] 348 | Result::Err(entry_idx) => { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entry_idx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytes_read` [INFO] [stderr] --> src/main.rs:210:9 [INFO] [stderr] | [INFO] [stderr] 210 | let bytes_read = f.read_to_end(&mut buffer).unwrap(); [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes_read` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `encoded_bytes` is never read [INFO] [stderr] --> src/main.rs:309:17 [INFO] [stderr] | [INFO] [stderr] 309 | let mut encoded_bytes: Vec = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:317:13 [INFO] [stderr] | [INFO] [stderr] 317 | let mut bytes_to_write = if args.encrypt { encrypt_cofac_bytes(encoded_bytes) } else { encoded_bytes }; [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `encoded_bytes` is never read [INFO] [stderr] --> src/main.rs:351:17 [INFO] [stderr] | [INFO] [stderr] 351 | let mut encoded_bytes: Vec = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:359:13 [INFO] [stderr] | [INFO] [stderr] 359 | let mut bytes_to_write = if args.encrypt { encrypt_cofac_bytes(encoded_bytes) } else { encoded_bytes }; [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `encoded_bytes` is never read [INFO] [stderr] --> src/main.rs:402:17 [INFO] [stderr] | [INFO] [stderr] 402 | let mut encoded_bytes: Vec = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:411:13 [INFO] [stderr] | [INFO] [stderr] 411 | let mut bytes_to_write = if args.encrypt { encrypt_cofac_bytes(encoded_bytes) } else { encoded_bytes }; [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct `Level` is never constructed [INFO] [stderr] --> src/levelexp.rs:19:12 [INFO] [stderr] | [INFO] [stderr] 19 | pub struct Level { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: struct `LevelExpFile` is never constructed [INFO] [stderr] --> src/levelexp.rs:24:12 [INFO] [stderr] | [INFO] [stderr] 24 | pub struct LevelExpFile { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `get_levels`, `get_levels_as_map`, `get_levels_count`, `get_level_from_idx`, `get_exp_from_level`, and `get_file_bytes` are never used [INFO] [stderr] --> src/levelexp.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 28 | impl LevelExpFile { [INFO] [stderr] | ----------------- methods in this implementation [INFO] [stderr] 29 | pub fn get_levels(&self) -> Vec { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 46 | pub fn get_levels_as_map(&self) -> HashMap { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 61 | fn get_levels_count(&self, levels_data: &Vec) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 65 | fn get_level_from_idx(&self, idx: &usize) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 69 | fn get_exp_from_level(&self, levels: &Vec, idx: &usize) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 76 | fn get_file_bytes(&self) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `serialize_monster_entries_to_str` is never used [INFO] [stderr] --> src/monster.rs:108:9 [INFO] [stderr] | [INFO] [stderr] 108 | pub fn serialize_monster_entries_to_str(entries: &Vec) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MONSTER_ENTRY_UNFORMATTED` is never used [INFO] [stderr] --> src/monster.rs:209:9 [INFO] [stderr] | [INFO] [stderr] 209 | const MONSTER_ENTRY_UNFORMATTED: &str = "[AMonster] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `test_monster_entry_parse_then_reformat_returns_start_val` is never used [INFO] [stderr] --> src/monster.rs:245:6 [INFO] [stderr] | [INFO] [stderr] 245 | fn test_monster_entry_parse_then_reformat_returns_start_val() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/main.rs:218:5 [INFO] [stderr] | [INFO] [stderr] 218 | f.write_all(&bytes); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 218 | let _ = f.write_all(&bytes); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `toolkit` (bin "toolkit" test) generated 35 warnings (run `cargo fix --bin "toolkit" --tests` to apply 17 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.8.2, nom v3.0.0 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/toolkit-973d53b3a5d34803) [INFO] [stdout] [INFO] [stdout] running 131 tests [INFO] [stdout] test itemtype::parser::tests::parse_header_serialize_will_return_initial_header_2 ... ok [INFO] [stdout] test itemtype::parser::tests::parse_header_serialize_will_return_initial_header_1 ... ok [INFO] [stdout] test itemtype::parser::tests::parse_header_serialize_will_return_initial_header_3 ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_serialize_will_return_initial_line_1 ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_serialize_will_return_initial_line_2 ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_serialize_will_return_initial_line_3 ... ok [INFO] [stdout] test itemtype::parser::tests::parse_header_will_return_right_val ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_amount ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_action_id ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_amount_limit ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_accuracy ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_agi_req ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_atk_speed ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_atk_range ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_buy_price ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_buy_cps_price ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_dodge ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_does_item_never_drop_on_death ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_fray_mode ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_description ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_gem2 ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_gem1 ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_id ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_is_untradeable ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_is_unstoreable ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_hp_restored ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_lvl_req ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_is_sell_disabled ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_magic3 ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_magic2 ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_magic1 ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_magic_atk ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_max_phys_atk ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_min_phys_atk ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_magic_def ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_mp_restored ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_phys_def ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_profession_req ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_proficiency_req ... ok [INFO] [stdout] test magictype::parser::tests::parse_header_serialize_will_return_initial_header_1 ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_sex_req ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_should_show_important_drop_hint ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_name ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_repair_mode ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_status ... ok [INFO] [stdout] test magictype::parser::tests::parse_header_serialize_will_return_initial_header_2 ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_should_show_important_sell_hint ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_str_req ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_type_name ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_unknown_1 ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_type_mask ... ok [INFO] [stdout] test magictype::parser::tests::parse_header_serialize_will_return_initial_header_3 ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_vit_req ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_serialize_will_return_initial_line_1 ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_weight ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_serialize_will_return_initial_line_2 ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_serialize_will_return_initial_line_3 ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_spi_req ... ok [INFO] [stdout] test magictype::parser::tests::parse_header_will_return_right_val ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_accuracy ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_active_time ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_auto_learn_lvl ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_desc ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_action_sort ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_drop_weapon ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_auto_active ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_is_auto_learned ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_hits_with_weapon ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_intone_effect_duration ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_ground_effect ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_intone_effect ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_id ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_is_body_target ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_is_ground_targeted ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_intone_sfx ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_is_multi_target ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_is_none_target ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_is_passive_target ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_is_offensive_on_use ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_is_staggering ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_is_self_target ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_is_terrain_target ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_lvl_required ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_is_usable_in_market ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_job_required ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_max_distance ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_mp_cost ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_next_skill_id_auto_cast ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_screen_represent ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_power ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_sender_action ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_range ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_sender_effect ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_sender_sfx ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_stamina_cost ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_skill_type ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_status ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_skill_lvl ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_short_desc ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_target_delay ... ok [INFO] [stdout] test monster::parser::tests::test_valid_monster_entry_parse_act_res_ctrl ... ok [INFO] [stdout] test monster::parser::tests::test_valid_monster_entry_parse_anti_type ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_skill_name ... ok [INFO] [stdout] test monster::parser::tests::test_valid_monster_entry_parse_armet_color ... ok [INFO] [stdout] test monster::parser::tests::test_valid_monster_entry_parse_adb ... ok [INFO] [stdout] test monster::parser::tests::test_valid_monster_entry_parse_armet ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_target_effect ... ok [INFO] [stdout] test monster::parser::tests::test_valid_monster_entry_parse_asb ... ok [INFO] [stdout] test monster::parser::tests::test_valid_monster_entry_parse_body_type ... ok [INFO] [stdout] test monster::parser::tests::test_valid_monster_entry_parse_battle_lvl ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_use_delay ... ok [INFO] [stdout] test monster::parser::tests::test_valid_monster_entry_parse_born_action ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_uses_item ... ok [INFO] [stdout] test monster::parser::tests::test_valid_monster_entry_parse_extra_xp ... ok [INFO] [stdout] test monster::parser::tests::test_valid_monster_entry_parse_l_weapon ... ok [INFO] [stdout] test monster::parser::tests::test_valid_monster_entry_parse_max_life ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_trace_effect ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_weapon_required ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_use_item_num ... ok [INFO] [stdout] test monster::parser::tests::test_valid_monster_entry_parse_lvl ... ok [INFO] [stdout] test monster::parser::tests::test_valid_monster_entry_parse_l_weapon_color ... ok [INFO] [stdout] test monster::parser::tests::test_valid_monster_entry_parse_misc ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_time ... ok [INFO] [stdout] test monster::parser::tests::test_valid_monster_entry_parse_mount ... ok [INFO] [stdout] test monster::parser::tests::test_valid_monster_entry_parse_r_weapon ... ok [INFO] [stdout] test monster::parser::tests::test_valid_monster_entry_parse_stc_type ... ok [INFO] [stdout] test monster::parser::tests::test_valid_monster_entry_parse_size_add ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_target_sfx ... ok [INFO] [stdout] test monster::parser::tests::test_valid_monster_entry_parse_type_id ... ok [INFO] [stdout] test monster::parser::tests::test_valid_monster_entry_parse_zoom_pct ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_xp_required ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 131 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "ca45e788ce3849a9be24db84c2a637eb70222c083e3359b34d030769be29508f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ca45e788ce3849a9be24db84c2a637eb70222c083e3359b34d030769be29508f", kill_on_drop: false }` [INFO] [stdout] ca45e788ce3849a9be24db84c2a637eb70222c083e3359b34d030769be29508f