[INFO] cloning repository https://github.com/g9in128/voca_injector [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/g9in128/voca_injector" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fg9in128%2Fvoca_injector", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fg9in128%2Fvoca_injector'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e2a3046e13ea943c8a348cd0c8d52d945975dee4 [INFO] linting g9in128/voca_injector against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fg9in128%2Fvoca_injector" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/g9in128/voca_injector [INFO] finished tweaking git repo https://github.com/g9in128/voca_injector [INFO] tweaked toml for git repo https://github.com/g9in128/voca_injector written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/g9in128/voca_injector on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/g9in128/voca_injector 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" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] fce95c941e1cb168802cd3d08d09f1fb9d6402d94eff0f0520b34aa712c28de2 [INFO] running `Command { std: "docker" "start" "-a" "fce95c941e1cb168802cd3d08d09f1fb9d6402d94eff0f0520b34aa712c28de2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fce95c941e1cb168802cd3d08d09f1fb9d6402d94eff0f0520b34aa712c28de2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fce95c941e1cb168802cd3d08d09f1fb9d6402d94eff0f0520b34aa712c28de2", kill_on_drop: false }` [INFO] [stdout] fce95c941e1cb168802cd3d08d09f1fb9d6402d94eff0f0520b34aa712c28de2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ed9d1db19d8596eb590d9627b90ce14b5496de71f51c448c06b2a31de8bd7ed8 [INFO] running `Command { std: "docker" "start" "-a" "ed9d1db19d8596eb590d9627b90ce14b5496de71f51c448c06b2a31de8bd7ed8", kill_on_drop: false }` [INFO] [stderr] Checking once_cell v1.20.2 [INFO] [stderr] Compiling cc v1.2.1 [INFO] [stderr] Checking ahash v0.8.11 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking hashlink v0.9.1 [INFO] [stderr] Compiling libsqlite3-sys v0.30.1 [INFO] [stderr] Checking rusqlite v0.32.1 [INFO] [stderr] Checking voca_injector v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `voca_injector::VocaInjector` [INFO] [stdout] --> src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use voca_injector::VocaInjector; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/voca_dao.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | if (!is_db_empty) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 26 - if (!is_db_empty) { [INFO] [stdout] 26 + if !is_db_empty { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/voca_dao.rs:101:20 [INFO] [stdout] | [INFO] [stdout] 101 | if (!self.dicts.contains_key(&tag)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 101 - if (!self.dicts.contains_key(&tag)) { [INFO] [stdout] 101 + if !self.dicts.contains_key(&tag) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/voca_dao.rs:130:16 [INFO] [stdout] | [INFO] [stdout] 130 | if (voca.eng == eng) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 130 - if (voca.eng == eng) { [INFO] [stdout] 130 + if voca.eng == eng { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/voca_dao.rs:140:16 [INFO] [stdout] | [INFO] [stdout] 140 | if (voca.kor == kor) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 140 - if (voca.kor == kor) { [INFO] [stdout] 140 + if voca.kor == kor { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `collections::HashMap` [INFO] [stdout] --> src/voca_injector.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashMap, vec}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `voca_injector::VocaInjector` [INFO] [stdout] --> src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use voca_injector::VocaInjector; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/voca_dao.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | if (!is_db_empty) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 26 - if (!is_db_empty) { [INFO] [stdout] 26 + if !is_db_empty { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/voca_dao.rs:101:20 [INFO] [stdout] | [INFO] [stdout] 101 | if (!self.dicts.contains_key(&tag)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 101 - if (!self.dicts.contains_key(&tag)) { [INFO] [stdout] 101 + if !self.dicts.contains_key(&tag) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/voca_dao.rs:130:16 [INFO] [stdout] | [INFO] [stdout] 130 | if (voca.eng == eng) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 130 - if (voca.eng == eng) { [INFO] [stdout] 130 + if voca.eng == eng { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/voca_dao.rs:140:16 [INFO] [stdout] | [INFO] [stdout] 140 | if (voca.kor == kor) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 140 - if (voca.kor == kor) { [INFO] [stdout] 140 + if voca.kor == kor { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `collections::HashMap` [INFO] [stdout] --> src/voca_injector.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashMap, vec}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IoManager` is never constructed [INFO] [stdout] --> src/io_manager.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | struct IoManager { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `first_menu` are never used [INFO] [stdout] --> src/io_manager.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl IoManager { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 11 | pub fn new() -> IoManager { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn first_menu(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VocaDao` is never constructed [INFO] [stdout] --> src/voca_dao.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct VocaDao { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/voca_dao.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl VocaDao { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 14 | pub fn connect() -> VocaDao { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | fn create_table(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | fn fetch_data_from_db(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn insert_voca(&self, voca: &Voca) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn insert_tag(&self, voca: &Voca) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn get_voca_eng(&self, eng: &str) -> Box<[&Voca]> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn get_voca_kor(&self, kor: &str) -> Box<[&Voca]> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn get_voca_tag(&self, tag: &str) -> Box<[&Voca]> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | fn get_voca_num(&self, num: usize) -> Option<&Voca> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VocaInjector` is never constructed [INFO] [stdout] --> src/voca_injector.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct VocaInjector { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/voca_injector.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl VocaInjector { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 10 | pub fn new() -> VocaInjector { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Dict` is never constructed [INFO] [stdout] --> src/voca_injector.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct Dict { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/voca_injector.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl Dict { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 24 | pub fn new(name: &str) -> Dict { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Voca` is never constructed [INFO] [stdout] --> src/voca_injector.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct Voca { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/voca_injector.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 39 | impl Voca { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 40 | pub fn new(num: usize, eng: String, kor: String) -> Voca { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/voca_dao.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | !a.is_err() && a.unwrap() > 0 && !b.is_err() && b.unwrap() > 0 [INFO] [stdout] | ^^^^^^^^^^^ help: try: `a.is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/voca_dao.rs:54:42 [INFO] [stdout] | [INFO] [stdout] 54 | !a.is_err() && a.unwrap() > 0 && !b.is_err() && b.unwrap() > 0 [INFO] [stdout] | ^^^^^^^^^^^ help: try: `b.is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/voca_dao.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | let dict: &mut Dict; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ created here [INFO] [stdout] ... [INFO] [stdout] 105 | dict = self.dicts.get_mut(&tag).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ initialised here [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `dict` here [INFO] [stdout] | [INFO] [stdout] 100 ~ [INFO] [stdout] 101 | if (!self.dicts.contains_key(&tag)) { [INFO] [stdout] ... [INFO] [stdout] 104 | } [INFO] [stdout] 105 ~ let dict: &mut Dict = self.dicts.get_mut(&tag).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/voca_dao.rs:129:27 [INFO] [stdout] | [INFO] [stdout] 129 | for (_i, voca) in &self.vocas { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] = note: `#[warn(clippy::for_kv_map)]` on by default [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 129 - for (_i, voca) in &self.vocas { [INFO] [stdout] 129 + for voca in self.vocas.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/voca_dao.rs:139:27 [INFO] [stdout] | [INFO] [stdout] 139 | for (_i, voca) in &self.vocas { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 139 - for (_i, voca) in &self.vocas { [INFO] [stdout] 139 + for voca in self.vocas.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IoManager` is never constructed [INFO] [stdout] --> src/io_manager.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | struct IoManager { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `first_menu` are never used [INFO] [stdout] --> src/io_manager.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl IoManager { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 11 | pub fn new() -> IoManager { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn first_menu(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VocaDao` is never constructed [INFO] [stdout] --> src/voca_dao.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct VocaDao { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/voca_dao.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl VocaDao { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 14 | pub fn connect() -> VocaDao { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | fn create_table(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | fn fetch_data_from_db(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn insert_voca(&self, voca: &Voca) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn insert_tag(&self, voca: &Voca) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn get_voca_eng(&self, eng: &str) -> Box<[&Voca]> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn get_voca_kor(&self, kor: &str) -> Box<[&Voca]> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn get_voca_tag(&self, tag: &str) -> Box<[&Voca]> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | fn get_voca_num(&self, num: usize) -> Option<&Voca> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VocaInjector` is never constructed [INFO] [stdout] --> src/voca_injector.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct VocaInjector { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/voca_injector.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl VocaInjector { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 10 | pub fn new() -> VocaInjector { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Dict` is never constructed [INFO] [stdout] --> src/voca_injector.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct Dict { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/voca_injector.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl Dict { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 24 | pub fn new(name: &str) -> Dict { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Voca` is never constructed [INFO] [stdout] --> src/voca_injector.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct Voca { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/voca_injector.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 39 | impl Voca { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 40 | pub fn new(num: usize, eng: String, kor: String) -> Voca { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/voca_dao.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | !a.is_err() && a.unwrap() > 0 && !b.is_err() && b.unwrap() > 0 [INFO] [stdout] | ^^^^^^^^^^^ help: try: `a.is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/voca_dao.rs:54:42 [INFO] [stdout] | [INFO] [stdout] 54 | !a.is_err() && a.unwrap() > 0 && !b.is_err() && b.unwrap() > 0 [INFO] [stdout] | ^^^^^^^^^^^ help: try: `b.is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/voca_dao.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | let dict: &mut Dict; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ created here [INFO] [stdout] ... [INFO] [stdout] 105 | dict = self.dicts.get_mut(&tag).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ initialised here [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `dict` here [INFO] [stdout] | [INFO] [stdout] 100 ~ [INFO] [stdout] 101 | if (!self.dicts.contains_key(&tag)) { [INFO] [stdout] ... [INFO] [stdout] 104 | } [INFO] [stdout] 105 ~ let dict: &mut Dict = self.dicts.get_mut(&tag).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/voca_dao.rs:129:27 [INFO] [stdout] | [INFO] [stdout] 129 | for (_i, voca) in &self.vocas { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] = note: `#[warn(clippy::for_kv_map)]` on by default [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 129 - for (_i, voca) in &self.vocas { [INFO] [stdout] 129 + for voca in self.vocas.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/voca_dao.rs:139:27 [INFO] [stdout] | [INFO] [stdout] 139 | for (_i, voca) in &self.vocas { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 139 - for (_i, voca) in &self.vocas { [INFO] [stdout] 139 + for voca in self.vocas.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.04s [INFO] running `Command { std: "docker" "inspect" "ed9d1db19d8596eb590d9627b90ce14b5496de71f51c448c06b2a31de8bd7ed8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ed9d1db19d8596eb590d9627b90ce14b5496de71f51c448c06b2a31de8bd7ed8", kill_on_drop: false }` [INFO] [stdout] ed9d1db19d8596eb590d9627b90ce14b5496de71f51c448c06b2a31de8bd7ed8