[INFO] updating cached repository https://github.com/Tarouka/rust-co-toolkit [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] db527e1a2f16022fa7fd9fba7ad0f8bff6d63a22 [INFO] testing Tarouka/rust-co-toolkit against 1.44.0 for beta-1.45-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTarouka%2Frust-co-toolkit" "/workspace/builds/worker-8/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-8/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Tarouka/rust-co-toolkit on toolchain 1.44.0 [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "read-manifest" "--manifest-path" "Cargo.toml"` [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-8/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 `"/workspace/cargo-home/bin/cargo" "+1.44.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "build" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 273fc390094debef4cfba3aa6edd9c06f0f0effa8b9db565f3e64b927d1638fe [INFO] running `"docker" "start" "-a" "273fc390094debef4cfba3aa6edd9c06f0f0effa8b9db565f3e64b927d1638fe"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling libc v0.2.23 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Compiling ansi_term v0.9.0 [INFO] [stderr] Compiling vec_map v0.8.0 [INFO] [stderr] Compiling dtoa v0.4.1 [INFO] [stderr] Compiling unicode-segmentation v1.2.0 [INFO] [stderr] Compiling strsim v0.6.0 [INFO] [stderr] Compiling unicode-width v0.1.4 [INFO] [stderr] Compiling itoa v0.3.1 [INFO] [stderr] Compiling regex-syntax v0.4.1 [INFO] [stderr] Compiling num-traits v0.1.39 [INFO] [stderr] Compiling serde v1.0.8 [INFO] [stderr] Compiling utf8-ranges v1.0.0 [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 unreachable v0.1.1 [INFO] [stderr] Compiling serde_derive_internals v0.15.1 [INFO] [stderr] Compiling thread-id v3.1.0 [INFO] [stderr] Compiling memchr v1.0.1 [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 serde_derive v1.0.8 [INFO] [stderr] Compiling regex v0.2.2 [INFO] [stderr] Compiling serde_json v1.0.2 [INFO] [stderr] Compiling toolkit v0.4.0 (/opt/rustwide/workdir) [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`, `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` [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] = note: `#[warn(unused_variables)]` on by default [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] 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: value assigned to `encoded_bytes` is never read [INFO] [stderr] --> src/main.rs:309:13 [INFO] [stderr] | [INFO] [stderr] 309 | let mut encoded_bytes: Vec = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `encoded_bytes` is never read [INFO] [stderr] --> src/main.rs:351:13 [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: value assigned to `encoded_bytes` is never read [INFO] [stderr] --> src/main.rs:402:13 [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: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: 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: 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 is never constructed: `Level` [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 is never constructed: `LevelExpFile` [INFO] [stderr] --> src/levelexp.rs:24:12 [INFO] [stderr] | [INFO] [stderr] 24 | pub struct LevelExpFile { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_levels` [INFO] [stderr] --> src/levelexp.rs:29:2 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn get_levels(&self) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_levels_as_map` [INFO] [stderr] --> src/levelexp.rs:46:2 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn get_levels_as_map(&self) -> HashMap { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_levels_count` [INFO] [stderr] --> src/levelexp.rs:61:2 [INFO] [stderr] | [INFO] [stderr] 61 | fn get_levels_count(&self, levels_data: &Vec) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_level_from_idx` [INFO] [stderr] --> src/levelexp.rs:65:2 [INFO] [stderr] | [INFO] [stderr] 65 | fn get_level_from_idx(&self, idx: &usize) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_exp_from_level` [INFO] [stderr] --> src/levelexp.rs:69:2 [INFO] [stderr] | [INFO] [stderr] 69 | fn get_exp_from_level(&self, levels: &Vec, idx: &usize) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_file_bytes` [INFO] [stderr] --> src/levelexp.rs:76:2 [INFO] [stderr] | [INFO] [stderr] 76 | fn get_file_bytes(&self) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `serialize_monster_entries_to_str` [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: unused `std::result::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: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: 38 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 44.17s [INFO] running `"docker" "inspect" "273fc390094debef4cfba3aa6edd9c06f0f0effa8b9db565f3e64b927d1638fe"` [INFO] running `"docker" "rm" "-f" "273fc390094debef4cfba3aa6edd9c06f0f0effa8b9db565f3e64b927d1638fe"` [INFO] [stdout] 273fc390094debef4cfba3aa6edd9c06f0f0effa8b9db565f3e64b927d1638fe [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen" "--no-run"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] b3bcaec4202a35b0d81d073f06f30554885f7ff15767bd74d03dc9f409da42c1 [INFO] running `"docker" "start" "-a" "b3bcaec4202a35b0d81d073f06f30554885f7ff15767bd74d03dc9f409da42c1"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling toolkit v0.4.0 (/opt/rustwide/workdir) [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`, `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` [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] = note: `#[warn(unused_variables)]` on by default [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] 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: value assigned to `encoded_bytes` is never read [INFO] [stderr] --> src/main.rs:309:13 [INFO] [stderr] | [INFO] [stderr] 309 | let mut encoded_bytes: Vec = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `encoded_bytes` is never read [INFO] [stderr] --> src/main.rs:351:13 [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: value assigned to `encoded_bytes` is never read [INFO] [stderr] --> src/main.rs:402:13 [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: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: 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: 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 is never constructed: `Level` [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 is never constructed: `LevelExpFile` [INFO] [stderr] --> src/levelexp.rs:24:12 [INFO] [stderr] | [INFO] [stderr] 24 | pub struct LevelExpFile { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_levels` [INFO] [stderr] --> src/levelexp.rs:29:2 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn get_levels(&self) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_levels_as_map` [INFO] [stderr] --> src/levelexp.rs:46:2 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn get_levels_as_map(&self) -> HashMap { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_levels_count` [INFO] [stderr] --> src/levelexp.rs:61:2 [INFO] [stderr] | [INFO] [stderr] 61 | fn get_levels_count(&self, levels_data: &Vec) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_level_from_idx` [INFO] [stderr] --> src/levelexp.rs:65:2 [INFO] [stderr] | [INFO] [stderr] 65 | fn get_level_from_idx(&self, idx: &usize) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_exp_from_level` [INFO] [stderr] --> src/levelexp.rs:69:2 [INFO] [stderr] | [INFO] [stderr] 69 | fn get_exp_from_level(&self, levels: &Vec, idx: &usize) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_file_bytes` [INFO] [stderr] --> src/levelexp.rs:76:2 [INFO] [stderr] | [INFO] [stderr] 76 | fn get_file_bytes(&self) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `serialize_monster_entries_to_str` [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 item is never used: `MONSTER_ENTRY_UNFORMATTED` [INFO] [stderr] --> src/monster.rs:209:3 [INFO] [stderr] | [INFO] [stderr] 209 | const MONSTER_ENTRY_UNFORMATTED: &str = "[AMonster] [INFO] [stderr] | _________^ [INFO] [stderr] 210 | | SizeAdd=2 [INFO] [stderr] 211 | | ZoomPercent=90 [INFO] [stderr] 212 | | MaxLife=1000 [INFO] [stderr] ... | [INFO] [stderr] 231 | | ExtraExp=100 [INFO] [stderr] 232 | | StcType=18"; [INFO] [stderr] | |____________^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `test_monster_entry_parse_then_reformat_returns_start_val` [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 `std::result::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: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: 40 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 6.12s [INFO] running `"docker" "inspect" "b3bcaec4202a35b0d81d073f06f30554885f7ff15767bd74d03dc9f409da42c1"` [INFO] running `"docker" "rm" "-f" "b3bcaec4202a35b0d81d073f06f30554885f7ff15767bd74d03dc9f409da42c1"` [INFO] [stdout] b3bcaec4202a35b0d81d073f06f30554885f7ff15767bd74d03dc9f409da42c1 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 509db87adfb294dec89931b3bdafd5afbfee11cd9bf52b4f6015e56c3a90c7aa [INFO] running `"docker" "start" "-a" "509db87adfb294dec89931b3bdafd5afbfee11cd9bf52b4f6015e56c3a90c7aa"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [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`, `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` [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] = note: `#[warn(unused_variables)]` on by default [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] 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: value assigned to `encoded_bytes` is never read [INFO] [stderr] --> src/main.rs:309:13 [INFO] [stderr] | [INFO] [stderr] 309 | let mut encoded_bytes: Vec = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `encoded_bytes` is never read [INFO] [stderr] --> src/main.rs:351:13 [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: value assigned to `encoded_bytes` is never read [INFO] [stderr] --> src/main.rs:402:13 [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: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: 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: 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 is never constructed: `Level` [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 is never constructed: `LevelExpFile` [INFO] [stderr] --> src/levelexp.rs:24:12 [INFO] [stderr] | [INFO] [stderr] 24 | pub struct LevelExpFile { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_levels` [INFO] [stderr] --> src/levelexp.rs:29:2 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn get_levels(&self) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_levels_as_map` [INFO] [stderr] --> src/levelexp.rs:46:2 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn get_levels_as_map(&self) -> HashMap { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_levels_count` [INFO] [stderr] --> src/levelexp.rs:61:2 [INFO] [stderr] | [INFO] [stderr] 61 | fn get_levels_count(&self, levels_data: &Vec) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_level_from_idx` [INFO] [stderr] --> src/levelexp.rs:65:2 [INFO] [stderr] | [INFO] [stderr] 65 | fn get_level_from_idx(&self, idx: &usize) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_exp_from_level` [INFO] [stderr] --> src/levelexp.rs:69:2 [INFO] [stderr] | [INFO] [stderr] 69 | fn get_exp_from_level(&self, levels: &Vec, idx: &usize) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_file_bytes` [INFO] [stderr] --> src/levelexp.rs:76:2 [INFO] [stderr] | [INFO] [stderr] 76 | fn get_file_bytes(&self) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `serialize_monster_entries_to_str` [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 item is never used: `MONSTER_ENTRY_UNFORMATTED` [INFO] [stderr] --> src/monster.rs:209:3 [INFO] [stderr] | [INFO] [stderr] 209 | const MONSTER_ENTRY_UNFORMATTED: &str = "[AMonster] [INFO] [stderr] | _________^ [INFO] [stderr] 210 | | SizeAdd=2 [INFO] [stderr] 211 | | ZoomPercent=90 [INFO] [stderr] 212 | | MaxLife=1000 [INFO] [stderr] ... | [INFO] [stderr] 231 | | ExtraExp=100 [INFO] [stderr] 232 | | StcType=18"; [INFO] [stderr] | |____________^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `test_monster_entry_parse_then_reformat_returns_start_val` [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 `std::result::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: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: 40 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.07s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/toolkit-c3691f1e701ee36d [INFO] [stdout] [INFO] [stdout] running 131 tests [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_serialize_will_return_initial_line_2 ... ok [INFO] [stdout] test itemtype::parser::tests::parse_header_serialize_will_return_initial_header_1 ... 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_serialize_will_return_initial_line_3 ... 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_amount ... 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_buy_cps_price ... 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_does_item_never_drop_on_death ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_agi_req ... ok [INFO] [stdout] test itemtype::parser::tests::parse_header_serialize_will_return_initial_header_2 ... 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_gem2 ... 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_is_unstoreable ... 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_fray_mode ... 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_gem1 ... 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_is_untradeable ... 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_magic2 ... 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_lvl_req ... 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_magic3 ... 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_min_phys_atk ... 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_name ... 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_repair_mode ... 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_profession_req ... 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_mp_restored ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_status ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_weight ... 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_proficiency_req ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_type_mask ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_str_req ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_serialize_will_return_initial_line_2 ... 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_3 ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_serialize_will_return_initial_line_1 ... 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_type_name ... 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_unknown_1 ... 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_action_sort ... 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_ground_effect ... 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_auto_active ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_drop_weapon ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_serialize_will_return_initial_line_1 ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_intone_effect_duration ... ok [INFO] [stdout] test itemtype::parser::tests::parse_header_serialize_will_return_initial_header_3 ... 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_desc ... 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_is_auto_learned ... 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_header_will_return_right_val ... 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_is_passive_target ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_intone_sfx ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_magic1 ... 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_mp_cost ... 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_is_none_target ... 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_lvl_required ... 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_is_terrain_target ... 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_sender_action ... 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_usable_in_market ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_spi_req ... 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_sender_effect ... 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_range ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_should_show_important_sell_hint ... 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_name ... 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_sender_sfx ... 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_weapon_required ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_use_delay ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_target_delay ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_time ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_target_sfx ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_skill_type ... ok [INFO] [stdout] test monster::parser::tests::test_valid_monster_entry_parse_armet ... ok [INFO] [stdout] test monster::parser::tests::test_valid_monster_entry_parse_armet_color ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_uses_item ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_xp_required ... 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_born_action ... ok [INFO] [stdout] test monster::parser::tests::test_valid_monster_entry_parse_battle_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_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_misc ... 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_target_effect ... ok [INFO] [stdout] test monster::parser::tests::test_valid_monster_entry_parse_r_weapon ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_screen_represent ... 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_asb ... ok [INFO] [stdout] test monster::parser::tests::test_valid_monster_entry_parse_adb ... ok [INFO] [stdout] test itemtype::parser::tests::parse_item_entry_will_return_right_phys_def ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_use_item_num ... ok [INFO] [stdout] test magictype::parser::tests::parse_magic_entry_will_return_right_trace_effect ... 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_size_add ... 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_zoom_pct ... ok [INFO] [stdout] test monster::parser::tests::test_valid_monster_entry_parse_anti_type ... ok [INFO] [stdout] test monster::parser::tests::test_valid_monster_entry_parse_mount ... 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_stamina_cost ... ok [INFO] [stdout] test monster::parser::tests::test_valid_monster_entry_parse_lvl ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 131 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] running `"docker" "inspect" "509db87adfb294dec89931b3bdafd5afbfee11cd9bf52b4f6015e56c3a90c7aa"` [INFO] running `"docker" "rm" "-f" "509db87adfb294dec89931b3bdafd5afbfee11cd9bf52b4f6015e56c3a90c7aa"` [INFO] [stdout] 509db87adfb294dec89931b3bdafd5afbfee11cd9bf52b4f6015e56c3a90c7aa