[INFO] cloning repository https://github.com/leemiyinghao/vec2seq-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/leemiyinghao/vec2seq-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fleemiyinghao%2Fvec2seq-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fleemiyinghao%2Fvec2seq-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 0351d58e007c139287ff70cd2fa03fa95bdad75d [INFO] checking leemiyinghao/vec2seq-rust against try#8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 for pr-82565 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fleemiyinghao%2Fvec2seq-rust" "/workspace/builds/worker-7/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/leemiyinghao/vec2seq-rust on toolchain 8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/leemiyinghao/vec2seq-rust [INFO] finished tweaking git repo https://github.com/leemiyinghao/vec2seq-rust [INFO] tweaked toml for git repo https://github.com/leemiyinghao/vec2seq-rust written to /workspace/builds/worker-7/source/Cargo.toml [INFO] crate git repo https://github.com/leemiyinghao/vec2seq-rust already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating git repository `https://github.com/granne/granne.git` [INFO] [stderr] error: the lock file /workspace/builds/worker-7/source/Cargo.lock needs to be updated but --locked was passed to prevent this [INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag. [INFO] the lockfile is outdated, regenerating it [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] [stderr] Updating git repository `https://github.com/granne/granne.git` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded cedarwood v0.4.4 [INFO] [stderr] Downloaded console v0.14.1 [INFO] [stderr] Downloaded leveldb v0.8.6 [INFO] [stderr] Downloaded db-key v0.0.5 [INFO] [stderr] Downloaded stream-vbyte v0.3.2 [INFO] [stderr] Downloaded rusqlite v0.23.1 [INFO] [stderr] Downloaded libflate v1.0.4 [INFO] [stderr] Downloaded finalfusion v0.12.4 [INFO] [stderr] Downloaded jieba-rs v0.5.1 [INFO] [stderr] Downloaded leveldb-sys v2.0.8 [INFO] [stderr] Downloaded lz_fnv v0.1.2 [INFO] [stderr] Downloaded timeit v0.1.2 [INFO] [stderr] Downloaded libsqlite3-sys v0.18.0 [INFO] [stderr] Downloaded reductive v0.4.0 [INFO] [stderr] Downloaded madvise v0.1.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] aaffdaa15c9678b986a8f18f40b535683a49eda32ed96ab6823fe3d013af1f2d [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "aaffdaa15c9678b986a8f18f40b535683a49eda32ed96ab6823fe3d013af1f2d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "aaffdaa15c9678b986a8f18f40b535683a49eda32ed96ab6823fe3d013af1f2d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "aaffdaa15c9678b986a8f18f40b535683a49eda32ed96ab6823fe3d013af1f2d", kill_on_drop: false }` [INFO] [stdout] aaffdaa15c9678b986a8f18f40b535683a49eda32ed96ab6823fe3d013af1f2d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3da28796f9e9af62648d3b05373d7c795972d50afa6201914462057eebf94152 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "3da28796f9e9af62648d3b05373d7c795972d50afa6201914462057eebf94152", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.89 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Compiling proc-macro2 v1.0.24 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Compiling syn v1.0.64 [INFO] [stderr] Compiling memchr v2.3.4 [INFO] [stderr] Compiling serde_derive v1.0.124 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Compiling serde v1.0.124 [INFO] [stderr] Compiling rayon-core v1.9.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.10 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Checking either v1.6.1 [INFO] [stderr] Checking smallvec v1.6.1 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Compiling crc32fast v1.2.1 [INFO] [stderr] Checking regex-syntax v0.6.23 [INFO] [stderr] Checking rawpointer v0.2.1 [INFO] [stderr] Compiling pkg-config v0.3.19 [INFO] [stderr] Compiling ndarray v0.13.1 [INFO] [stderr] Checking itoa v0.4.7 [INFO] [stderr] Checking adler v1.0.2 [INFO] [stderr] Compiling serde_json v1.0.64 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Checking quick-error v1.2.3 [INFO] [stderr] Compiling granne v0.5.1 (https://github.com/granne/granne.git#fe2fe5ac) [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Compiling glam v0.9.5 [INFO] [stderr] Checking fallible-streaming-iterator v0.1.9 [INFO] [stderr] Checking number_prefix v0.3.0 [INFO] [stderr] Checking db-key v0.0.5 [INFO] [stderr] Checking fallible-iterator v0.2.0 [INFO] [stderr] Checking adler32 v1.2.0 [INFO] [stderr] Checking lz_fnv v0.1.2 [INFO] [stderr] Compiling crossbeam-utils v0.8.3 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling memoffset v0.6.1 [INFO] [stderr] Compiling rayon v1.5.0 [INFO] [stderr] Compiling num-complex v0.2.4 [INFO] [stderr] Compiling memoffset v0.5.6 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Compiling hashbrown v0.8.2 [INFO] [stderr] Checking lock_api v0.3.4 [INFO] [stderr] Compiling cmake v0.1.45 [INFO] [stderr] Checking itertools v0.8.2 [INFO] [stderr] Checking matrixmultiply v0.2.4 [INFO] [stderr] Checking cedarwood v0.4.4 [INFO] [stderr] Checking humantime v1.3.0 [INFO] [stderr] Checking owning_ref v0.4.1 [INFO] [stderr] Checking crossbeam-utils v0.7.2 [INFO] [stderr] Checking aho-corasick v0.7.15 [INFO] [stderr] Checking csv-core v0.1.10 [INFO] [stderr] Checking libflate v1.0.4 [INFO] [stderr] Compiling libsqlite3-sys v0.18.0 [INFO] [stderr] Checking crossbeam-queue v0.2.3 [INFO] [stderr] Checking crossbeam-channel v0.4.4 [INFO] [stderr] Checking regex-automata v0.1.9 [INFO] [stderr] Checking stream-vbyte v0.3.2 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Checking crossbeam-epoch v0.9.3 [INFO] [stderr] Checking crossbeam-channel v0.5.0 [INFO] [stderr] Compiling num_cpus v1.13.0 [INFO] [stderr] Checking crossbeam-deque v0.7.3 [INFO] [stderr] Checking time v0.1.44 [INFO] [stderr] Checking parking_lot_core v0.7.2 [INFO] [stderr] Checking terminal_size v0.1.16 [INFO] [stderr] Checking memmap v0.7.0 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking madvise v0.1.0 [INFO] [stderr] Checking flate2 v1.0.20 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Checking threadpool v1.8.1 [INFO] [stderr] Checking crossbeam-deque v0.8.0 [INFO] [stderr] Checking crossbeam v0.7.3 [INFO] [stderr] Checking ordered-float v1.1.1 [INFO] [stderr] Checking approx v0.3.2 [INFO] [stderr] Checking pbr v1.0.4 [INFO] [stderr] Checking timeit v0.1.2 [INFO] [stderr] Checking parking_lot v0.10.2 [INFO] [stderr] Compiling leveldb-sys v2.0.8 [INFO] [stderr] Compiling rand_pcg v0.2.1 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Checking rusqlite v0.23.1 [INFO] [stderr] Checking rand_xorshift v0.2.0 [INFO] [stderr] Checking regex v1.4.5 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Checking console v0.14.1 [INFO] [stderr] Checking env_logger v0.7.1 [INFO] [stderr] Compiling phf_generator v0.8.0 [INFO] [stderr] Compiling phf_codegen v0.8.0 [INFO] [stderr] Compiling jieba-rs v0.5.1 [INFO] [stderr] Checking indicatif v0.15.0 [INFO] [stderr] Compiling thiserror-impl v1.0.24 [INFO] [stderr] Checking thiserror v1.0.24 [INFO] [stderr] Checking reductive v0.4.0 [INFO] [stderr] Checking leveldb v0.8.6 [INFO] [stderr] Checking bstr v0.2.15 [INFO] [stderr] Checking toml v0.5.8 [INFO] [stderr] Checking bincode v1.3.2 [INFO] [stderr] Checking csv v1.1.6 [INFO] [stderr] Checking finalfusion v0.12.4 [INFO] [stderr] Checking vec2seq_rust v0.1.6 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/lib.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/lib.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Connection`, `Result`, `params` [INFO] [stdout] --> src/database/mod.rs:1:16 [INFO] [stdout] | [INFO] [stdout] 1 | use rusqlite::{params, Connection, Result}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `unbounded` [INFO] [stdout] --> src/tasks/mod.rs:5:45 [INFO] [stdout] | [INFO] [stdout] 5 | use crossbeam::crossbeam_channel::{bounded, unbounded}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HumanDuration`, `MultiProgress` [INFO] [stdout] --> src/tasks/mod.rs:7:17 [INFO] [stdout] | [INFO] [stdout] 7 | use indicatif::{HumanDuration, MultiProgress, ProgressBar, ProgressStyle}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/tasks/mod.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::Value` [INFO] [stdout] --> src/tasks/mod.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use serde_json::Value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Receiver`, `Sender` [INFO] [stdout] --> src/tasks/mod.rs:22:23 [INFO] [stdout] | [INFO] [stdout] 22 | use std::sync::mpsc::{Receiver, Sender}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc`, `Mutex` [INFO] [stdout] --> src/tasks/mod.rs:23:17 [INFO] [stdout] | [INFO] [stdout] 23 | use std::sync::{Arc, Mutex}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration`, `Instant` [INFO] [stdout] --> src/tasks/mod.rs:24:17 [INFO] [stdout] | [INFO] [stdout] 24 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `threadpool::ThreadPool` [INFO] [stdout] --> src/tasks/mod.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use threadpool::ThreadPool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/tasks/mod.rs:110:12 [INFO] [stdout] | [INFO] [stdout] 110 | if (self.objects.len() > 0) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> src/tasks/mod.rs:189:13 [INFO] [stdout] | [INFO] [stdout] 189 | while true { [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(while_true)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> src/tasks/mod.rs:322:9 [INFO] [stdout] | [INFO] [stdout] 322 | while true { [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> src/tasks/mod.rs:410:13 [INFO] [stdout] | [INFO] [stdout] 410 | while true { [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BuildConfig`, `Granne` [INFO] [stdout] --> src/tasks/mod.rs:456:23 [INFO] [stdout] | [INFO] [stdout] 456 | use granne::{angular, BuildConfig, Builder, Granne, GranneBuilder, Index}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> src/tasks/mod.rs:505:13 [INFO] [stdout] | [INFO] [stdout] 505 | while true { [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BuildConfig`, `Builder`, `GranneBuilder` [INFO] [stdout] --> src/lib.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | use granne::{angular, BuildConfig, Builder, Granne, GranneBuilder, Index}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HumanDuration`, `MultiProgress`, `ProgressBar`, `ProgressStyle` [INFO] [stdout] --> src/lib.rs:11:17 [INFO] [stdout] | [INFO] [stdout] 11 | use indicatif::{HumanDuration, MultiProgress, ProgressBar, ProgressStyle}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `leveldb_sys` [INFO] [stdout] --> src/lib.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use leveldb_sys; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Connection`, `Result`, `params` [INFO] [stdout] --> src/lib.rs:15:16 [INFO] [stdout] | [INFO] [stdout] 15 | use rusqlite::{params, Connection, Result}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::Value` [INFO] [stdout] --> src/lib.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use serde_json::Value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/lib.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration`, `Instant` [INFO] [stdout] --> src/lib.rs:21:17 [INFO] [stdout] | [INFO] [stdout] 21 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/lib.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/lib.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Connection`, `Result`, `params` [INFO] [stdout] --> src/database/mod.rs:1:16 [INFO] [stdout] | [INFO] [stdout] 1 | use rusqlite::{params, Connection, Result}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `unbounded` [INFO] [stdout] --> src/tasks/mod.rs:5:45 [INFO] [stdout] | [INFO] [stdout] 5 | use crossbeam::crossbeam_channel::{bounded, unbounded}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HumanDuration`, `MultiProgress` [INFO] [stdout] --> src/tasks/mod.rs:7:17 [INFO] [stdout] | [INFO] [stdout] 7 | use indicatif::{HumanDuration, MultiProgress, ProgressBar, ProgressStyle}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/tasks/mod.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::Value` [INFO] [stdout] --> src/tasks/mod.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use serde_json::Value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Receiver`, `Sender` [INFO] [stdout] --> src/tasks/mod.rs:22:23 [INFO] [stdout] | [INFO] [stdout] 22 | use std::sync::mpsc::{Receiver, Sender}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc`, `Mutex` [INFO] [stdout] --> src/tasks/mod.rs:23:17 [INFO] [stdout] | [INFO] [stdout] 23 | use std::sync::{Arc, Mutex}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration`, `Instant` [INFO] [stdout] --> src/tasks/mod.rs:24:17 [INFO] [stdout] | [INFO] [stdout] 24 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `threadpool::ThreadPool` [INFO] [stdout] --> src/tasks/mod.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use threadpool::ThreadPool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/tasks/mod.rs:110:12 [INFO] [stdout] | [INFO] [stdout] 110 | if (self.objects.len() > 0) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> src/tasks/mod.rs:189:13 [INFO] [stdout] | [INFO] [stdout] 189 | while true { [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(while_true)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> src/tasks/mod.rs:322:9 [INFO] [stdout] | [INFO] [stdout] 322 | while true { [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> src/tasks/mod.rs:410:13 [INFO] [stdout] | [INFO] [stdout] 410 | while true { [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BuildConfig`, `Granne` [INFO] [stdout] --> src/tasks/mod.rs:456:23 [INFO] [stdout] | [INFO] [stdout] 456 | use granne::{angular, BuildConfig, Builder, Granne, GranneBuilder, Index}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> src/tasks/mod.rs:505:13 [INFO] [stdout] | [INFO] [stdout] 505 | while true { [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BuildConfig`, `Builder`, `GranneBuilder` [INFO] [stdout] --> src/lib.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | use granne::{angular, BuildConfig, Builder, Granne, GranneBuilder, Index}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HumanDuration`, `MultiProgress`, `ProgressBar`, `ProgressStyle` [INFO] [stdout] --> src/lib.rs:11:17 [INFO] [stdout] | [INFO] [stdout] 11 | use indicatif::{HumanDuration, MultiProgress, ProgressBar, ProgressStyle}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `leveldb_sys` [INFO] [stdout] --> src/lib.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use leveldb_sys; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Connection`, `Result`, `params` [INFO] [stdout] --> src/lib.rs:15:16 [INFO] [stdout] | [INFO] [stdout] 15 | use rusqlite::{params, Connection, Result}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::Value` [INFO] [stdout] --> src/lib.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use serde_json::Value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/lib.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration`, `Instant` [INFO] [stdout] --> src/lib.rs:21:17 [INFO] [stdout] | [INFO] [stdout] 21 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Index` [INFO] [stdout] --> src/lib.rs:10:68 [INFO] [stdout] | [INFO] [stdout] 10 | use granne::{angular, BuildConfig, Builder, Granne, GranneBuilder, Index}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reply_index` [INFO] [stdout] --> src/lib.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | reply_index: &std::path::Path, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reply_index` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reply_elements` [INFO] [stdout] --> src/lib.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | reply_elements: &std::path::Path, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reply_elements` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tmp` [INFO] [stdout] --> src/lib.rs:124:13 [INFO] [stdout] | [INFO] [stdout] 124 | let mut tmp: Vec<(usize, f32)> = Vec::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tmp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `title` [INFO] [stdout] --> src/tasks/mod.rs:203:75 [INFO] [stdout] | [INFO] [stdout] 203 | database::raw_ptt_article::ArticleOrigin::PttOrigin { title, board } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `title: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hit` [INFO] [stdout] --> src/tasks/mod.rs:227:25 [INFO] [stdout] | [INFO] [stdout] 227 | let hit = false; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_hit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reply_step` [INFO] [stdout] --> src/tasks/mod.rs:321:13 [INFO] [stdout] | [INFO] [stdout] 321 | let mut reply_step = 0i32; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reply_step` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `step` [INFO] [stdout] --> src/tasks/mod.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | let mut step = 0i32; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_step` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tasks/mod.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 162 | for i in 0..workers { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tasks/mod.rs:376:9 [INFO] [stdout] | [INFO] [stdout] 376 | for i in 0..workers { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tasks/mod.rs:405:9 [INFO] [stdout] | [INFO] [stdout] 405 | for i in 0..workers { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tasks/mod.rs:442:9 [INFO] [stdout] | [INFO] [stdout] 442 | for i in 0..workers { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tasks/mod.rs:561:13 [INFO] [stdout] | [INFO] [stdout] 561 | for i in 0..workers { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `join_receiver` [INFO] [stdout] --> src/tasks/mod.rs:479:23 [INFO] [stdout] | [INFO] [stdout] 479 | let (join_sender, join_receiver) = bounded::<()>(workers); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_join_receiver` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tasks/mod.rs:482:9 [INFO] [stdout] | [INFO] [stdout] 482 | for i in 0..workers { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `clone_join_sender` [INFO] [stdout] --> src/tasks/mod.rs:485:13 [INFO] [stdout] | [INFO] [stdout] 485 | let clone_join_sender = join_sender.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clone_join_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handle` [INFO] [stdout] --> src/tasks/mod.rs:486:13 [INFO] [stdout] | [INFO] [stdout] 486 | let handle = std::thread::spawn(move || { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `write_opts` [INFO] [stdout] --> src/tasks/mod.rs:603:17 [INFO] [stdout] | [INFO] [stdout] 603 | let write_opts = leveldb::options::WriteOptions::new(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_write_opts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `step` [INFO] [stdout] --> src/tasks/mod.rs:677:9 [INFO] [stdout] | [INFO] [stdout] 677 | let mut step = 0i32; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_step` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reply_file` [INFO] [stdout] --> src/tasks/mod.rs:704:9 [INFO] [stdout] | [INFO] [stdout] 704 | let mut reply_file = File::create("reply.bin").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reply_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:122:13 [INFO] [stdout] | [INFO] [stdout] 122 | let mut self_ids = self.reply.search(&vec, 200, 10); [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: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:124:13 [INFO] [stdout] | [INFO] [stdout] 124 | let mut tmp: Vec<(usize, f32)> = Vec::new(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Index` [INFO] [stdout] --> src/lib.rs:10:68 [INFO] [stdout] | [INFO] [stdout] 10 | use granne::{angular, BuildConfig, Builder, Granne, GranneBuilder, Index}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reply_index` [INFO] [stdout] --> src/lib.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | reply_index: &std::path::Path, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reply_index` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reply_elements` [INFO] [stdout] --> src/lib.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | reply_elements: &std::path::Path, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reply_elements` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tmp` [INFO] [stdout] --> src/lib.rs:124:13 [INFO] [stdout] | [INFO] [stdout] 124 | let mut tmp: Vec<(usize, f32)> = Vec::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tmp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `title` [INFO] [stdout] --> src/tasks/mod.rs:203:75 [INFO] [stdout] | [INFO] [stdout] 203 | database::raw_ptt_article::ArticleOrigin::PttOrigin { title, board } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `title: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hit` [INFO] [stdout] --> src/tasks/mod.rs:227:25 [INFO] [stdout] | [INFO] [stdout] 227 | let hit = false; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_hit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reply_step` [INFO] [stdout] --> src/tasks/mod.rs:321:13 [INFO] [stdout] | [INFO] [stdout] 321 | let mut reply_step = 0i32; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reply_step` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `step` [INFO] [stdout] --> src/tasks/mod.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | let mut step = 0i32; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_step` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tasks/mod.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 162 | for i in 0..workers { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tasks/mod.rs:376:9 [INFO] [stdout] | [INFO] [stdout] 376 | for i in 0..workers { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tasks/mod.rs:405:9 [INFO] [stdout] | [INFO] [stdout] 405 | for i in 0..workers { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tasks/mod.rs:442:9 [INFO] [stdout] | [INFO] [stdout] 442 | for i in 0..workers { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tasks/mod.rs:561:13 [INFO] [stdout] | [INFO] [stdout] 561 | for i in 0..workers { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `join_receiver` [INFO] [stdout] --> src/tasks/mod.rs:479:23 [INFO] [stdout] | [INFO] [stdout] 479 | let (join_sender, join_receiver) = bounded::<()>(workers); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_join_receiver` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tasks/mod.rs:482:9 [INFO] [stdout] | [INFO] [stdout] 482 | for i in 0..workers { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `clone_join_sender` [INFO] [stdout] --> src/tasks/mod.rs:485:13 [INFO] [stdout] | [INFO] [stdout] 485 | let clone_join_sender = join_sender.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clone_join_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handle` [INFO] [stdout] --> src/tasks/mod.rs:486:13 [INFO] [stdout] | [INFO] [stdout] 486 | let handle = std::thread::spawn(move || { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `write_opts` [INFO] [stdout] --> src/tasks/mod.rs:603:17 [INFO] [stdout] | [INFO] [stdout] 603 | let write_opts = leveldb::options::WriteOptions::new(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_write_opts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `step` [INFO] [stdout] --> src/tasks/mod.rs:677:9 [INFO] [stdout] | [INFO] [stdout] 677 | let mut step = 0i32; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_step` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reply_file` [INFO] [stdout] --> src/tasks/mod.rs:704:9 [INFO] [stdout] | [INFO] [stdout] 704 | let mut reply_file = File::create("reply.bin").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reply_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | let mut articles = stmt [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | let mut database = match leveldb::database::Database::open(Path::new("db/ldb.ldb"), options) { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:321:13 [INFO] [stdout] | [INFO] [stdout] 321 | let mut reply_step = 0i32; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | let mut input_database: leveldb::database::Database = [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | let mut output_database: leveldb::database::Database = [INFO] [stdout] | ----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | let mut step = 0i32; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:368:13 [INFO] [stdout] | [INFO] [stdout] 368 | let mut article = database::raw_ptt_article::ContentReply { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:122:13 [INFO] [stdout] | [INFO] [stdout] 122 | let mut self_ids = self.reply.search(&vec, 200, 10); [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: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:395:9 [INFO] [stdout] | [INFO] [stdout] 395 | let mut input_database: leveldb::database::Database = [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:124:13 [INFO] [stdout] | [INFO] [stdout] 124 | let mut tmp: Vec<(usize, f32)> = Vec::new(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:552:13 [INFO] [stdout] | [INFO] [stdout] 552 | let mut step = 0i32; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:510:21 [INFO] [stdout] | [INFO] [stdout] 510 | let mut result = ArticleVectorSet { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:469:9 [INFO] [stdout] | [INFO] [stdout] 469 | let mut input_database: leveldb::database::Database = [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:579:9 [INFO] [stdout] | [INFO] [stdout] 579 | let mut reply_group_output_database: leveldb::database::Database = [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:670:9 [INFO] [stdout] | [INFO] [stdout] 670 | let mut input_database: leveldb::database::Database = [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:677:9 [INFO] [stdout] | [INFO] [stdout] 677 | let mut step = 0i32; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:704:9 [INFO] [stdout] | [INFO] [stdout] 704 | let mut reply_file = File::create("reply.bin").unwrap(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `stopwords` [INFO] [stdout] --> src/sentence_embedding/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | stopwords: fnv::FnvHashSet, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `raw_article_sqlite_to_leveldb` [INFO] [stdout] --> src/tasks/mod.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn raw_article_sqlite_to_leveldb() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `KMediumObject` [INFO] [stdout] --> src/tasks/mod.rs:100:8 [INFO] [stdout] | [INFO] [stdout] 100 | struct KMediumObject { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `KMediumGroup` [INFO] [stdout] --> src/tasks/mod.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | struct KMediumGroup { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `updateMedium` [INFO] [stdout] --> src/tasks/mod.rs:109:12 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn updateMedium(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `rawarticle_filter_to_content_reply` [INFO] [stdout] --> src/tasks/mod.rs:122:8 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn rawarticle_filter_to_content_reply() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `rawarticle_to_tfidf` [INFO] [stdout] --> src/tasks/mod.rs:391:8 [INFO] [stdout] | [INFO] [stdout] 391 | pub fn rawarticle_to_tfidf() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `TextVectorSet` [INFO] [stdout] --> src/tasks/mod.rs:457:8 [INFO] [stdout] | [INFO] [stdout] 457 | struct TextVectorSet { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `ArticleVectorSet` [INFO] [stdout] --> src/tasks/mod.rs:461:8 [INFO] [stdout] | [INFO] [stdout] 461 | struct ArticleVectorSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `content_reply_to_reply_and_index` [INFO] [stdout] --> src/tasks/mod.rs:465:8 [INFO] [stdout] | [INFO] [stdout] 465 | pub fn content_reply_to_reply_and_index() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test_reply_storage` [INFO] [stdout] --> src/tasks/mod.rs:666:8 [INFO] [stdout] | [INFO] [stdout] 666 | pub fn test_reply_storage() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/tfidf/mod.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new_from_cutter` [INFO] [stdout] --> src/tfidf/mod.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn new_from_cutter(cutter: jieba_rs::Jieba) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `add_uncut_document` [INFO] [stdout] --> src/tfidf/mod.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn add_uncut_document(&mut self, content: String) -> Result<(), ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `add_cutted_document` [INFO] [stdout] --> src/tfidf/mod.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn add_cutted_document(&mut self, content: Vec) -> Result<(), ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_max` [INFO] [stdout] --> src/tfidf/mod.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn get_max(&self) -> u32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | let mut articles = stmt [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | let mut database = match leveldb::database::Database::open(Path::new("db/ldb.ldb"), options) { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:321:13 [INFO] [stdout] | [INFO] [stdout] 321 | let mut reply_step = 0i32; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | tfidf_bufreader.read_to_end(&mut buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 64 | stopwords_file.read_to_string(&mut stop_words); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `updateMedium` should have a snake case name [INFO] [stdout] --> src/tasks/mod.rs:109:12 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn updateMedium(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `update_medium` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tasks/mod.rs:169:13 [INFO] [stdout] | [INFO] [stdout] 169 | tfidf_bufreader.read_to_end(&mut buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tasks/mod.rs:179:13 [INFO] [stdout] | [INFO] [stdout] 179 | stopwords_file.read_to_string(&mut stop_words); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tasks/mod.rs:416:33 [INFO] [stdout] | [INFO] [stdout] 416 | ... tfidf_table.add_uncut_document(a.content); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tasks/mod.rs:418:37 [INFO] [stdout] | [INFO] [stdout] 418 | ... tfidf_table.add_uncut_document(push); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tasks/mod.rs:453:5 [INFO] [stdout] | [INFO] [stdout] 453 | file.write_all(&bincode::serialize(&tfidf_table).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tasks/mod.rs:489:13 [INFO] [stdout] | [INFO] [stdout] 489 | tfidf_bufreader.read_to_end(&mut buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tasks/mod.rs:499:13 [INFO] [stdout] | [INFO] [stdout] 499 | stopwords_file.read_to_string(&mut stop_words); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | let mut input_database: leveldb::database::Database = [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | let mut output_database: leveldb::database::Database = [INFO] [stdout] | ----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | let mut step = 0i32; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:368:13 [INFO] [stdout] | [INFO] [stdout] 368 | let mut article = database::raw_ptt_article::ContentReply { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:395:9 [INFO] [stdout] | [INFO] [stdout] 395 | let mut input_database: leveldb::database::Database = [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:552:13 [INFO] [stdout] | [INFO] [stdout] 552 | let mut step = 0i32; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:510:21 [INFO] [stdout] | [INFO] [stdout] 510 | let mut result = ArticleVectorSet { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:469:9 [INFO] [stdout] | [INFO] [stdout] 469 | let mut input_database: leveldb::database::Database = [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:579:9 [INFO] [stdout] | [INFO] [stdout] 579 | let mut reply_group_output_database: leveldb::database::Database = [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:670:9 [INFO] [stdout] | [INFO] [stdout] 670 | let mut input_database: leveldb::database::Database = [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:677:9 [INFO] [stdout] | [INFO] [stdout] 677 | let mut step = 0i32; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:704:9 [INFO] [stdout] | [INFO] [stdout] 704 | let mut reply_file = File::create("reply.bin").unwrap(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 87 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `stopwords` [INFO] [stdout] --> src/sentence_embedding/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | stopwords: fnv::FnvHashSet, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `raw_article_sqlite_to_leveldb` [INFO] [stdout] --> src/tasks/mod.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn raw_article_sqlite_to_leveldb() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `KMediumObject` [INFO] [stdout] --> src/tasks/mod.rs:100:8 [INFO] [stdout] | [INFO] [stdout] 100 | struct KMediumObject { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `KMediumGroup` [INFO] [stdout] --> src/tasks/mod.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | struct KMediumGroup { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `updateMedium` [INFO] [stdout] --> src/tasks/mod.rs:109:12 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn updateMedium(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `rawarticle_filter_to_content_reply` [INFO] [stdout] --> src/tasks/mod.rs:122:8 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn rawarticle_filter_to_content_reply() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `rawarticle_to_tfidf` [INFO] [stdout] --> src/tasks/mod.rs:391:8 [INFO] [stdout] | [INFO] [stdout] 391 | pub fn rawarticle_to_tfidf() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `TextVectorSet` [INFO] [stdout] --> src/tasks/mod.rs:457:8 [INFO] [stdout] | [INFO] [stdout] 457 | struct TextVectorSet { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `ArticleVectorSet` [INFO] [stdout] --> src/tasks/mod.rs:461:8 [INFO] [stdout] | [INFO] [stdout] 461 | struct ArticleVectorSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `content_reply_to_reply_and_index` [INFO] [stdout] --> src/tasks/mod.rs:465:8 [INFO] [stdout] | [INFO] [stdout] 465 | pub fn content_reply_to_reply_and_index() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test_reply_storage` [INFO] [stdout] --> src/tasks/mod.rs:666:8 [INFO] [stdout] | [INFO] [stdout] 666 | pub fn test_reply_storage() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/tfidf/mod.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new_from_cutter` [INFO] [stdout] --> src/tfidf/mod.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn new_from_cutter(cutter: jieba_rs::Jieba) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `add_uncut_document` [INFO] [stdout] --> src/tfidf/mod.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn add_uncut_document(&mut self, content: String) -> Result<(), ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `add_cutted_document` [INFO] [stdout] --> src/tfidf/mod.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn add_cutted_document(&mut self, content: Vec) -> Result<(), ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_max` [INFO] [stdout] --> src/tfidf/mod.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn get_max(&self) -> u32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | tfidf_bufreader.read_to_end(&mut buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 64 | stopwords_file.read_to_string(&mut stop_words); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `updateMedium` should have a snake case name [INFO] [stdout] --> src/tasks/mod.rs:109:12 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn updateMedium(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `update_medium` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tasks/mod.rs:169:13 [INFO] [stdout] | [INFO] [stdout] 169 | tfidf_bufreader.read_to_end(&mut buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tasks/mod.rs:179:13 [INFO] [stdout] | [INFO] [stdout] 179 | stopwords_file.read_to_string(&mut stop_words); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tasks/mod.rs:416:33 [INFO] [stdout] | [INFO] [stdout] 416 | ... tfidf_table.add_uncut_document(a.content); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tasks/mod.rs:418:37 [INFO] [stdout] | [INFO] [stdout] 418 | ... tfidf_table.add_uncut_document(push); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tasks/mod.rs:453:5 [INFO] [stdout] | [INFO] [stdout] 453 | file.write_all(&bincode::serialize(&tfidf_table).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tasks/mod.rs:489:13 [INFO] [stdout] | [INFO] [stdout] 489 | tfidf_bufreader.read_to_end(&mut buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tasks/mod.rs:499:13 [INFO] [stdout] | [INFO] [stdout] 499 | stopwords_file.read_to_string(&mut stop_words); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 87 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Connection`, `Result`, `params` [INFO] [stdout] --> src/database/mod.rs:1:16 [INFO] [stdout] | [INFO] [stdout] 1 | use rusqlite::{params, Connection, Result}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `unbounded` [INFO] [stdout] --> src/tasks/mod.rs:5:45 [INFO] [stdout] | [INFO] [stdout] 5 | use crossbeam::crossbeam_channel::{bounded, unbounded}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HumanDuration`, `MultiProgress` [INFO] [stdout] --> src/tasks/mod.rs:7:17 [INFO] [stdout] | [INFO] [stdout] 7 | use indicatif::{HumanDuration, MultiProgress, ProgressBar, ProgressStyle}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/tasks/mod.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::Value` [INFO] [stdout] --> src/tasks/mod.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use serde_json::Value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Receiver`, `Sender` [INFO] [stdout] --> src/tasks/mod.rs:22:23 [INFO] [stdout] | [INFO] [stdout] 22 | use std::sync::mpsc::{Receiver, Sender}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc`, `Mutex` [INFO] [stdout] --> src/tasks/mod.rs:23:17 [INFO] [stdout] | [INFO] [stdout] 23 | use std::sync::{Arc, Mutex}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration`, `Instant` [INFO] [stdout] --> src/tasks/mod.rs:24:17 [INFO] [stdout] | [INFO] [stdout] 24 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `threadpool::ThreadPool` [INFO] [stdout] --> src/tasks/mod.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use threadpool::ThreadPool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/tasks/mod.rs:110:12 [INFO] [stdout] | [INFO] [stdout] 110 | if (self.objects.len() > 0) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> src/tasks/mod.rs:189:13 [INFO] [stdout] | [INFO] [stdout] 189 | while true { [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(while_true)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> src/tasks/mod.rs:322:9 [INFO] [stdout] | [INFO] [stdout] 322 | while true { [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> src/tasks/mod.rs:410:13 [INFO] [stdout] | [INFO] [stdout] 410 | while true { [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BuildConfig`, `Granne` [INFO] [stdout] --> src/tasks/mod.rs:456:23 [INFO] [stdout] | [INFO] [stdout] 456 | use granne::{angular, BuildConfig, Builder, Granne, GranneBuilder, Index}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> src/tasks/mod.rs:505:13 [INFO] [stdout] | [INFO] [stdout] 505 | while true { [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BuildConfig`, `Builder`, `GranneBuilder`, `Granne`, `Index`, `angular` [INFO] [stdout] --> src/main.rs:10:14 [INFO] [stdout] | [INFO] [stdout] 10 | use granne::{angular, BuildConfig, Builder, Granne, GranneBuilder, Index}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HumanDuration`, `MultiProgress`, `ProgressBar`, `ProgressStyle` [INFO] [stdout] --> src/main.rs:11:17 [INFO] [stdout] | [INFO] [stdout] 11 | use indicatif::{HumanDuration, MultiProgress, ProgressBar, ProgressStyle}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `leveldb::kv::KV` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use leveldb::kv::KV; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `leveldb_sys` [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use leveldb_sys; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Connection`, `Result`, `params` [INFO] [stdout] --> src/main.rs:15:16 [INFO] [stdout] | [INFO] [stdout] 15 | use rusqlite::{params, Connection, Result}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::Value` [INFO] [stdout] --> src/main.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use serde_json::Value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/main.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration`, `Instant` [INFO] [stdout] --> src/main.rs:21:17 [INFO] [stdout] | [INFO] [stdout] 21 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:39:32 [INFO] [stdout] | [INFO] [stdout] 39 | vector.push(if (item == 0f32) { 1f32 } else { item }); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:49:32 [INFO] [stdout] | [INFO] [stdout] 49 | vector.push(if (item == 0f32) { 1f32 } else { item }); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TokenizeMode` [INFO] [stdout] --> src/main.rs:120:23 [INFO] [stdout] | [INFO] [stdout] 120 | use jieba_rs::{Jieba, TokenizeMode}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `finalfusion::prelude::*` [INFO] [stdout] --> src/main.rs:144:5 [INFO] [stdout] | [INFO] [stdout] 144 | use finalfusion::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Connection`, `Result`, `params` [INFO] [stdout] --> src/database/mod.rs:1:16 [INFO] [stdout] | [INFO] [stdout] 1 | use rusqlite::{params, Connection, Result}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `unbounded` [INFO] [stdout] --> src/tasks/mod.rs:5:45 [INFO] [stdout] | [INFO] [stdout] 5 | use crossbeam::crossbeam_channel::{bounded, unbounded}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HumanDuration`, `MultiProgress` [INFO] [stdout] --> src/tasks/mod.rs:7:17 [INFO] [stdout] | [INFO] [stdout] 7 | use indicatif::{HumanDuration, MultiProgress, ProgressBar, ProgressStyle}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/tasks/mod.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::Value` [INFO] [stdout] --> src/tasks/mod.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use serde_json::Value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Receiver`, `Sender` [INFO] [stdout] --> src/tasks/mod.rs:22:23 [INFO] [stdout] | [INFO] [stdout] 22 | use std::sync::mpsc::{Receiver, Sender}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc`, `Mutex` [INFO] [stdout] --> src/tasks/mod.rs:23:17 [INFO] [stdout] | [INFO] [stdout] 23 | use std::sync::{Arc, Mutex}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration`, `Instant` [INFO] [stdout] --> src/tasks/mod.rs:24:17 [INFO] [stdout] | [INFO] [stdout] 24 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `threadpool::ThreadPool` [INFO] [stdout] --> src/tasks/mod.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use threadpool::ThreadPool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/tasks/mod.rs:110:12 [INFO] [stdout] | [INFO] [stdout] 110 | if (self.objects.len() > 0) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> src/tasks/mod.rs:189:13 [INFO] [stdout] | [INFO] [stdout] 189 | while true { [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(while_true)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> src/tasks/mod.rs:322:9 [INFO] [stdout] | [INFO] [stdout] 322 | while true { [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> src/tasks/mod.rs:410:13 [INFO] [stdout] | [INFO] [stdout] 410 | while true { [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BuildConfig`, `Granne` [INFO] [stdout] --> src/tasks/mod.rs:456:23 [INFO] [stdout] | [INFO] [stdout] 456 | use granne::{angular, BuildConfig, Builder, Granne, GranneBuilder, Index}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> src/tasks/mod.rs:505:13 [INFO] [stdout] | [INFO] [stdout] 505 | while true { [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BuildConfig`, `Builder`, `GranneBuilder`, `Granne`, `Index`, `angular` [INFO] [stdout] --> src/main.rs:10:14 [INFO] [stdout] | [INFO] [stdout] 10 | use granne::{angular, BuildConfig, Builder, Granne, GranneBuilder, Index}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HumanDuration`, `MultiProgress`, `ProgressBar`, `ProgressStyle` [INFO] [stdout] --> src/main.rs:11:17 [INFO] [stdout] | [INFO] [stdout] 11 | use indicatif::{HumanDuration, MultiProgress, ProgressBar, ProgressStyle}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `leveldb::kv::KV` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use leveldb::kv::KV; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `leveldb_sys` [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use leveldb_sys; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Connection`, `Result`, `params` [INFO] [stdout] --> src/main.rs:15:16 [INFO] [stdout] | [INFO] [stdout] 15 | use rusqlite::{params, Connection, Result}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::Value` [INFO] [stdout] --> src/main.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use serde_json::Value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/main.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration`, `Instant` [INFO] [stdout] --> src/main.rs:21:17 [INFO] [stdout] | [INFO] [stdout] 21 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:39:32 [INFO] [stdout] | [INFO] [stdout] 39 | vector.push(if (item == 0f32) { 1f32 } else { item }); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:49:32 [INFO] [stdout] | [INFO] [stdout] 49 | vector.push(if (item == 0f32) { 1f32 } else { item }); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TokenizeMode` [INFO] [stdout] --> src/main.rs:120:23 [INFO] [stdout] | [INFO] [stdout] 120 | use jieba_rs::{Jieba, TokenizeMode}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `finalfusion::prelude::*` [INFO] [stdout] --> src/main.rs:144:5 [INFO] [stdout] | [INFO] [stdout] 144 | use finalfusion::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/main.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | for i in 1..10000 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `j` [INFO] [stdout] --> src/main.rs:37:17 [INFO] [stdout] | [INFO] [stdout] 37 | for j in 0..300 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/main.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | for i in 1..10000 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/main.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | for i in 1..10000 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `j` [INFO] [stdout] --> src/main.rs:47:17 [INFO] [stdout] | [INFO] [stdout] 47 | for j in 0..300 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `title` [INFO] [stdout] --> src/tasks/mod.rs:203:75 [INFO] [stdout] | [INFO] [stdout] 203 | database::raw_ptt_article::ArticleOrigin::PttOrigin { title, board } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `title: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hit` [INFO] [stdout] --> src/tasks/mod.rs:227:25 [INFO] [stdout] | [INFO] [stdout] 227 | let hit = false; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_hit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reply_step` [INFO] [stdout] --> src/tasks/mod.rs:321:13 [INFO] [stdout] | [INFO] [stdout] 321 | let mut reply_step = 0i32; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reply_step` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `step` [INFO] [stdout] --> src/tasks/mod.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | let mut step = 0i32; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_step` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tasks/mod.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 162 | for i in 0..workers { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tasks/mod.rs:376:9 [INFO] [stdout] | [INFO] [stdout] 376 | for i in 0..workers { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tasks/mod.rs:405:9 [INFO] [stdout] | [INFO] [stdout] 405 | for i in 0..workers { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tasks/mod.rs:442:9 [INFO] [stdout] | [INFO] [stdout] 442 | for i in 0..workers { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tasks/mod.rs:561:13 [INFO] [stdout] | [INFO] [stdout] 561 | for i in 0..workers { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `join_receiver` [INFO] [stdout] --> src/tasks/mod.rs:479:23 [INFO] [stdout] | [INFO] [stdout] 479 | let (join_sender, join_receiver) = bounded::<()>(workers); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_join_receiver` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tasks/mod.rs:482:9 [INFO] [stdout] | [INFO] [stdout] 482 | for i in 0..workers { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `clone_join_sender` [INFO] [stdout] --> src/tasks/mod.rs:485:13 [INFO] [stdout] | [INFO] [stdout] 485 | let clone_join_sender = join_sender.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clone_join_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handle` [INFO] [stdout] --> src/tasks/mod.rs:486:13 [INFO] [stdout] | [INFO] [stdout] 486 | let handle = std::thread::spawn(move || { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `write_opts` [INFO] [stdout] --> src/tasks/mod.rs:603:17 [INFO] [stdout] | [INFO] [stdout] 603 | let write_opts = leveldb::options::WriteOptions::new(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_write_opts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `step` [INFO] [stdout] --> src/tasks/mod.rs:677:9 [INFO] [stdout] | [INFO] [stdout] 677 | let mut step = 0i32; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_step` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reply_file` [INFO] [stdout] --> src/tasks/mod.rs:704:9 [INFO] [stdout] | [INFO] [stdout] 704 | let mut reply_file = File::create("reply.bin").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reply_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | let mut result = math_tool::dot( [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: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | let mut result = math_tool::dot( [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:51:17 [INFO] [stdout] | [INFO] [stdout] 51 | let mut result = math_tool::consine_similarity(&vector, &vector).unwrap(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/main.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | for i in 1..10000 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `j` [INFO] [stdout] --> src/main.rs:37:17 [INFO] [stdout] | [INFO] [stdout] 37 | for j in 0..300 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/main.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | for i in 1..10000 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/main.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | for i in 1..10000 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `j` [INFO] [stdout] --> src/main.rs:47:17 [INFO] [stdout] | [INFO] [stdout] 47 | for j in 0..300 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `title` [INFO] [stdout] --> src/tasks/mod.rs:203:75 [INFO] [stdout] | [INFO] [stdout] 203 | database::raw_ptt_article::ArticleOrigin::PttOrigin { title, board } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `title: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hit` [INFO] [stdout] --> src/tasks/mod.rs:227:25 [INFO] [stdout] | [INFO] [stdout] 227 | let hit = false; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_hit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reply_step` [INFO] [stdout] --> src/tasks/mod.rs:321:13 [INFO] [stdout] | [INFO] [stdout] 321 | let mut reply_step = 0i32; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reply_step` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `step` [INFO] [stdout] --> src/tasks/mod.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | let mut step = 0i32; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_step` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tasks/mod.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 162 | for i in 0..workers { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tasks/mod.rs:376:9 [INFO] [stdout] | [INFO] [stdout] 376 | for i in 0..workers { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tasks/mod.rs:405:9 [INFO] [stdout] | [INFO] [stdout] 405 | for i in 0..workers { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tasks/mod.rs:442:9 [INFO] [stdout] | [INFO] [stdout] 442 | for i in 0..workers { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tasks/mod.rs:561:13 [INFO] [stdout] | [INFO] [stdout] 561 | for i in 0..workers { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `join_receiver` [INFO] [stdout] --> src/tasks/mod.rs:479:23 [INFO] [stdout] | [INFO] [stdout] 479 | let (join_sender, join_receiver) = bounded::<()>(workers); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_join_receiver` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tasks/mod.rs:482:9 [INFO] [stdout] | [INFO] [stdout] 482 | for i in 0..workers { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `clone_join_sender` [INFO] [stdout] --> src/tasks/mod.rs:485:13 [INFO] [stdout] | [INFO] [stdout] 485 | let clone_join_sender = join_sender.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clone_join_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handle` [INFO] [stdout] --> src/tasks/mod.rs:486:13 [INFO] [stdout] | [INFO] [stdout] 486 | let handle = std::thread::spawn(move || { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `write_opts` [INFO] [stdout] --> src/tasks/mod.rs:603:17 [INFO] [stdout] | [INFO] [stdout] 603 | let write_opts = leveldb::options::WriteOptions::new(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_write_opts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `step` [INFO] [stdout] --> src/tasks/mod.rs:677:9 [INFO] [stdout] | [INFO] [stdout] 677 | let mut step = 0i32; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_step` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reply_file` [INFO] [stdout] --> src/tasks/mod.rs:704:9 [INFO] [stdout] | [INFO] [stdout] 704 | let mut reply_file = File::create("reply.bin").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reply_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | let mut result = math_tool::dot( [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: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | let mut result = math_tool::dot( [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:51:17 [INFO] [stdout] | [INFO] [stdout] 51 | let mut result = math_tool::consine_similarity(&vector, &vector).unwrap(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | let mut articles = stmt [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | let mut database = match leveldb::database::Database::open(Path::new("db/ldb.ldb"), options) { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:321:13 [INFO] [stdout] | [INFO] [stdout] 321 | let mut reply_step = 0i32; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | let mut input_database: leveldb::database::Database = [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | let mut output_database: leveldb::database::Database = [INFO] [stdout] | ----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | let mut step = 0i32; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:368:13 [INFO] [stdout] | [INFO] [stdout] 368 | let mut article = database::raw_ptt_article::ContentReply { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:395:9 [INFO] [stdout] | [INFO] [stdout] 395 | let mut input_database: leveldb::database::Database = [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | let mut articles = stmt [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:552:13 [INFO] [stdout] | [INFO] [stdout] 552 | let mut step = 0i32; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:510:21 [INFO] [stdout] | [INFO] [stdout] 510 | let mut result = ArticleVectorSet { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | let mut database = match leveldb::database::Database::open(Path::new("db/ldb.ldb"), options) { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:469:9 [INFO] [stdout] | [INFO] [stdout] 469 | let mut input_database: leveldb::database::Database = [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:321:13 [INFO] [stdout] | [INFO] [stdout] 321 | let mut reply_step = 0i32; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:579:9 [INFO] [stdout] | [INFO] [stdout] 579 | let mut reply_group_output_database: leveldb::database::Database = [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:670:9 [INFO] [stdout] | [INFO] [stdout] 670 | let mut input_database: leveldb::database::Database = [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:677:9 [INFO] [stdout] | [INFO] [stdout] 677 | let mut step = 0i32; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:704:9 [INFO] [stdout] | [INFO] [stdout] 704 | let mut reply_file = File::create("reply.bin").unwrap(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/database/raw_ptt_article.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn new() -> Self{ [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get` [INFO] [stdout] --> src/database/raw_ptt_article.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn get(&self)->Vec{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `push` [INFO] [stdout] --> src/database/raw_ptt_article.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn push(&mut self, reply: String){ [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `decompress` [INFO] [stdout] --> src/database/raw_ptt_article.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 70 | fn decompress(bytes: &Vec) -> Vec{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `stopwords` [INFO] [stdout] --> src/sentence_embedding/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | stopwords: fnv::FnvHashSet, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `raw_article_sqlite_to_leveldb` [INFO] [stdout] --> src/tasks/mod.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn raw_article_sqlite_to_leveldb() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `rawarticle_to_tfidf` [INFO] [stdout] --> src/tasks/mod.rs:391:8 [INFO] [stdout] | [INFO] [stdout] 391 | pub fn rawarticle_to_tfidf() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test_reply_storage` [INFO] [stdout] --> src/tasks/mod.rs:666:8 [INFO] [stdout] | [INFO] [stdout] 666 | pub fn test_reply_storage() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/tfidf/mod.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new_from_cutter` [INFO] [stdout] --> src/tfidf/mod.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn new_from_cutter(cutter: jieba_rs::Jieba) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `add_uncut_document` [INFO] [stdout] --> src/tfidf/mod.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn add_uncut_document(&mut self, content: String) -> Result<(), ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `add_cutted_document` [INFO] [stdout] --> src/tfidf/mod.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn add_cutted_document(&mut self, content: Vec) -> Result<(), ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_max` [INFO] [stdout] --> src/tfidf/mod.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn get_max(&self) -> u32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test` [INFO] [stdout] --> src/main.rs:23:4 [INFO] [stdout] | [INFO] [stdout] 23 | fn test() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test_vec2seq` [INFO] [stdout] --> src/main.rs:82:4 [INFO] [stdout] | [INFO] [stdout] 82 | fn test_vec2seq() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `jieba_test` [INFO] [stdout] --> src/main.rs:121:4 [INFO] [stdout] | [INFO] [stdout] 121 | fn jieba_test() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test_ff_subword` [INFO] [stdout] --> src/main.rs:145:4 [INFO] [stdout] | [INFO] [stdout] 145 | fn test_ff_subword(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | let mut input_database: leveldb::database::Database = [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | let mut output_database: leveldb::database::Database = [INFO] [stdout] | ----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | let mut step = 0i32; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:368:13 [INFO] [stdout] | [INFO] [stdout] 368 | let mut article = database::raw_ptt_article::ContentReply { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:395:9 [INFO] [stdout] | [INFO] [stdout] 395 | let mut input_database: leveldb::database::Database = [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `updateMedium` should have a snake case name [INFO] [stdout] --> src/tasks/mod.rs:109:12 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn updateMedium(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `update_medium` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:552:13 [INFO] [stdout] | [INFO] [stdout] 552 | let mut step = 0i32; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:510:21 [INFO] [stdout] | [INFO] [stdout] 510 | let mut result = ArticleVectorSet { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:469:9 [INFO] [stdout] | [INFO] [stdout] 469 | let mut input_database: leveldb::database::Database = [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:579:9 [INFO] [stdout] | [INFO] [stdout] 579 | let mut reply_group_output_database: leveldb::database::Database = [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:670:9 [INFO] [stdout] | [INFO] [stdout] 670 | let mut input_database: leveldb::database::Database = [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:677:9 [INFO] [stdout] | [INFO] [stdout] 677 | let mut step = 0i32; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tasks/mod.rs:704:9 [INFO] [stdout] | [INFO] [stdout] 704 | let mut reply_file = File::create("reply.bin").unwrap(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tasks/mod.rs:169:13 [INFO] [stdout] | [INFO] [stdout] 169 | tfidf_bufreader.read_to_end(&mut buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tasks/mod.rs:179:13 [INFO] [stdout] | [INFO] [stdout] 179 | stopwords_file.read_to_string(&mut stop_words); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tasks/mod.rs:416:33 [INFO] [stdout] | [INFO] [stdout] 416 | ... tfidf_table.add_uncut_document(a.content); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tasks/mod.rs:418:37 [INFO] [stdout] | [INFO] [stdout] 418 | ... tfidf_table.add_uncut_document(push); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tasks/mod.rs:453:5 [INFO] [stdout] | [INFO] [stdout] 453 | file.write_all(&bincode::serialize(&tfidf_table).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tasks/mod.rs:489:13 [INFO] [stdout] | [INFO] [stdout] 489 | tfidf_bufreader.read_to_end(&mut buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tasks/mod.rs:499:13 [INFO] [stdout] | [INFO] [stdout] 499 | stopwords_file.read_to_string(&mut stop_words); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/database/raw_ptt_article.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn new() -> Self{ [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get` [INFO] [stdout] --> src/database/raw_ptt_article.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn get(&self)->Vec{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `push` [INFO] [stdout] --> src/database/raw_ptt_article.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn push(&mut self, reply: String){ [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `decompress` [INFO] [stdout] --> src/database/raw_ptt_article.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 70 | fn decompress(bytes: &Vec) -> Vec{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `stopwords` [INFO] [stdout] --> src/sentence_embedding/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | stopwords: fnv::FnvHashSet, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `raw_article_sqlite_to_leveldb` [INFO] [stdout] --> src/tasks/mod.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn raw_article_sqlite_to_leveldb() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `rawarticle_to_tfidf` [INFO] [stdout] --> src/tasks/mod.rs:391:8 [INFO] [stdout] | [INFO] [stdout] 391 | pub fn rawarticle_to_tfidf() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test_reply_storage` [INFO] [stdout] --> src/tasks/mod.rs:666:8 [INFO] [stdout] | [INFO] [stdout] 666 | pub fn test_reply_storage() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/tfidf/mod.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new_from_cutter` [INFO] [stdout] --> src/tfidf/mod.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn new_from_cutter(cutter: jieba_rs::Jieba) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `add_uncut_document` [INFO] [stdout] --> src/tfidf/mod.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn add_uncut_document(&mut self, content: String) -> Result<(), ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `add_cutted_document` [INFO] [stdout] --> src/tfidf/mod.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn add_cutted_document(&mut self, content: Vec) -> Result<(), ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_max` [INFO] [stdout] --> src/tfidf/mod.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn get_max(&self) -> u32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test` [INFO] [stdout] --> src/main.rs:23:4 [INFO] [stdout] | [INFO] [stdout] 23 | fn test() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test_vec2seq` [INFO] [stdout] --> src/main.rs:82:4 [INFO] [stdout] | [INFO] [stdout] 82 | fn test_vec2seq() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `jieba_test` [INFO] [stdout] --> src/main.rs:121:4 [INFO] [stdout] | [INFO] [stdout] 121 | fn jieba_test() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test_ff_subword` [INFO] [stdout] --> src/main.rs:145:4 [INFO] [stdout] | [INFO] [stdout] 145 | fn test_ff_subword(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `updateMedium` should have a snake case name [INFO] [stdout] --> src/tasks/mod.rs:109:12 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn updateMedium(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `update_medium` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 91 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tasks/mod.rs:169:13 [INFO] [stdout] | [INFO] [stdout] 169 | tfidf_bufreader.read_to_end(&mut buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tasks/mod.rs:179:13 [INFO] [stdout] | [INFO] [stdout] 179 | stopwords_file.read_to_string(&mut stop_words); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tasks/mod.rs:416:33 [INFO] [stdout] | [INFO] [stdout] 416 | ... tfidf_table.add_uncut_document(a.content); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tasks/mod.rs:418:37 [INFO] [stdout] | [INFO] [stdout] 418 | ... tfidf_table.add_uncut_document(push); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tasks/mod.rs:453:5 [INFO] [stdout] | [INFO] [stdout] 453 | file.write_all(&bincode::serialize(&tfidf_table).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tasks/mod.rs:489:13 [INFO] [stdout] | [INFO] [stdout] 489 | tfidf_bufreader.read_to_end(&mut buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tasks/mod.rs:499:13 [INFO] [stdout] | [INFO] [stdout] 499 | stopwords_file.read_to_string(&mut stop_words); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 91 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2m 30s [INFO] running `Command { std: "docker" "inspect" "3da28796f9e9af62648d3b05373d7c795972d50afa6201914462057eebf94152", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3da28796f9e9af62648d3b05373d7c795972d50afa6201914462057eebf94152", kill_on_drop: false }` [INFO] [stdout] 3da28796f9e9af62648d3b05373d7c795972d50afa6201914462057eebf94152