[INFO] cloning repository https://github.com/jianglibo/play-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jianglibo/play-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjianglibo%2Fplay-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjianglibo%2Fplay-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 22f88bc8e01591254bccda84743424602eff78aa [INFO] checking jianglibo/play-rs against try#39e1293fce4b650061e85dda88aa428f726a8444 for pr-88041 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjianglibo%2Fplay-rs" "/workspace/builds/worker-42/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-42/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/jianglibo/play-rs on toolchain 39e1293fce4b650061e85dda88aa428f726a8444 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+39e1293fce4b650061e85dda88aa428f726a8444" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/jianglibo/play-rs [INFO] finished tweaking git repo https://github.com/jianglibo/play-rs [INFO] tweaked toml for git repo https://github.com/jianglibo/play-rs written to /workspace/builds/worker-42/source/Cargo.toml [INFO] crate git repo https://github.com/jianglibo/play-rs already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+39e1293fce4b650061e85dda88aa428f726a8444" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded ident_case v1.0.0 [INFO] [stderr] Downloaded derive_builder_core v0.4.1 [INFO] [stderr] Downloaded darling v0.8.5 [INFO] [stderr] Downloaded darling_core v0.8.5 [INFO] [stderr] Downloaded notify v4.0.9 [INFO] [stderr] Downloaded darling_macro v0.8.5 [INFO] [stderr] Downloaded derive_builder v0.7.1 [INFO] [stderr] Downloaded headless_chrome v0.1.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-42/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-42/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+39e1293fce4b650061e85dda88aa428f726a8444" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 180c98a4db0a3b5e8a5622bc6ca223722f93b500881efb21c038dc0e794f775b [INFO] running `Command { std: "docker" "start" "-a" "180c98a4db0a3b5e8a5622bc6ca223722f93b500881efb21c038dc0e794f775b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "180c98a4db0a3b5e8a5622bc6ca223722f93b500881efb21c038dc0e794f775b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "180c98a4db0a3b5e8a5622bc6ca223722f93b500881efb21c038dc0e794f775b", kill_on_drop: false }` [INFO] [stdout] 180c98a4db0a3b5e8a5622bc6ca223722f93b500881efb21c038dc0e794f775b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-42/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-42/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+39e1293fce4b650061e85dda88aa428f726a8444" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 65064fb0f1c8634e81485d8a3ac594295a919113940646daabf38f770093193b [INFO] running `Command { std: "docker" "start" "-a" "65064fb0f1c8634e81485d8a3ac594295a919113940646daabf38f770093193b", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling libc v0.2.48 [INFO] [stderr] Checking cfg-if v0.1.6 [INFO] [stderr] Compiling autocfg v0.1.2 [INFO] [stderr] Checking rand_core v0.4.0 [INFO] [stderr] Checking lazy_static v1.2.0 [INFO] [stderr] Compiling proc-macro2 v0.4.27 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Checking smallvec v0.6.9 [INFO] [stderr] Compiling byteorder v1.3.1 [INFO] [stderr] Checking futures v0.1.25 [INFO] [stderr] Checking scopeguard v0.3.3 [INFO] [stderr] Checking stable_deref_trait v1.1.1 [INFO] [stderr] Checking lazycell v1.2.1 [INFO] [stderr] Compiling arrayvec v0.4.10 [INFO] [stderr] Checking nodrop v0.1.13 [INFO] [stderr] Compiling cc v1.0.29 [INFO] [stderr] Compiling ident_case v1.0.0 [INFO] [stderr] Checking memoffset v0.2.1 [INFO] [stderr] Compiling memchr v2.2.0 [INFO] [stderr] Compiling fnv v1.0.6 [INFO] [stderr] Compiling serde v1.0.88 [INFO] [stderr] Compiling failure_derive v0.1.5 [INFO] [stderr] Checking bitflags v1.0.4 [INFO] [stderr] Compiling num-traits v0.2.6 [INFO] [stderr] Compiling httparse v1.3.3 [INFO] [stderr] Checking safemem v0.3.0 [INFO] [stderr] Compiling num-integer v0.1.39 [INFO] [stderr] Compiling regex v1.1.0 [INFO] [stderr] Checking rustc-demangle v0.1.13 [INFO] [stderr] Compiling ryu v0.2.7 [INFO] [stderr] Checking ucd-util v0.1.3 [INFO] [stderr] Checking percent-encoding v1.0.1 [INFO] [stderr] Checking quick-error v1.2.2 [INFO] [stderr] Checking utf8-ranges v1.0.2 [INFO] [stderr] Compiling derive_builder v0.7.1 [INFO] [stderr] Checking typeable v0.1.2 [INFO] [stderr] Checking traitobject v0.1.0 [INFO] [stderr] Checking language-tags v0.2.2 [INFO] [stderr] Checking remove_dir_all v0.5.1 [INFO] [stderr] Checking same-file v1.0.4 [INFO] [stderr] Checking sha1 v0.6.0 [INFO] [stderr] Checking unicode-width v0.1.5 [INFO] [stderr] Checking termcolor v1.0.4 [INFO] [stderr] Checking itoa v0.4.3 [INFO] [stderr] Checking yaml-rust v0.3.5 [INFO] [stderr] Checking strsim v0.7.0 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Compiling unicase v1.4.2 [INFO] [stderr] Compiling rand_pcg v0.1.1 [INFO] [stderr] Compiling parking_lot_core v0.4.0 [INFO] [stderr] Checking log v0.4.6 [INFO] [stderr] Checking owning_ref v0.4.0 [INFO] [stderr] Checking textwrap v0.10.0 [INFO] [stderr] Checking crossbeam-utils v0.6.5 [INFO] [stderr] Checking thread_local v0.3.6 [INFO] [stderr] Checking walkdir v2.2.7 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking rand_jitter v0.1.3 [INFO] [stderr] Checking humantime v1.2.0 [INFO] [stderr] Checking regex-syntax v0.6.5 [INFO] [stderr] Checking unicode-normalization v0.1.8 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling backtrace v0.3.14 [INFO] [stderr] Compiling backtrace-sys v0.1.28 [INFO] [stderr] Checking lock_api v0.1.5 [INFO] [stderr] Checking idna v0.1.5 [INFO] [stderr] Checking tokio-sync v0.1.1 [INFO] [stderr] Checking rand_xorshift v0.1.1 [INFO] [stderr] Checking rand_isaac v0.1.1 [INFO] [stderr] Checking rand_hc v0.1.0 [INFO] [stderr] Checking log v0.3.9 [INFO] [stderr] Checking tokio-executor v0.1.6 [INFO] [stderr] Checking crossbeam-channel v0.3.8 [INFO] [stderr] Checking aho-corasick v0.6.9 [INFO] [stderr] Checking base64 v0.9.3 [INFO] [stderr] Checking base64 v0.10.1 [INFO] [stderr] Checking crossbeam-epoch v0.7.1 [INFO] [stderr] Checking rand_os v0.1.2 [INFO] [stderr] Checking iovec v0.1.2 [INFO] [stderr] Checking num_cpus v1.10.0 [INFO] [stderr] Checking net2 v0.2.33 [INFO] [stderr] Checking time v0.1.42 [INFO] [stderr] Checking atty v0.2.11 [INFO] [stderr] Checking inotify-sys v0.1.3 [INFO] [stderr] Checking filetime v0.2.4 [INFO] [stderr] Checking tokio-current-thread v0.1.4 [INFO] [stderr] Checking tokio-timer v0.2.10 [INFO] [stderr] Checking bytes v0.4.11 [INFO] [stderr] Compiling quote v0.6.11 [INFO] [stderr] Compiling syn v0.15.26 [INFO] [stderr] Checking mime v0.2.6 [INFO] [stderr] Checking url v1.7.2 [INFO] [stderr] Checking inotify v0.6.1 [INFO] [stderr] Checking clap v2.32.0 [INFO] [stderr] Checking crossbeam-deque v0.6.3 [INFO] [stderr] Checking mio v0.6.16 [INFO] [stderr] Checking tokio-io v0.1.11 [INFO] [stderr] Checking chrono v0.4.6 [INFO] [stderr] Checking tokio-codec v0.1.1 [INFO] [stderr] Checking hyper v0.10.15 [INFO] [stderr] Checking mio-uds v0.6.7 [INFO] [stderr] Checking mio-extras v2.0.5 [INFO] [stderr] Checking tempfile v3.0.7 [INFO] [stderr] Checking notify v4.0.9 [INFO] [stderr] Checking parking_lot v0.7.1 [INFO] [stderr] Checking env_logger v0.6.0 [INFO] [stderr] Checking tokio-reactor v0.1.8 [INFO] [stderr] Checking crossbeam v0.6.0 [INFO] [stderr] Checking tokio-threadpool v0.1.11 [INFO] [stderr] Checking tokio-uds v0.2.5 [INFO] [stderr] Checking tokio-udp v0.1.3 [INFO] [stderr] Checking tokio-tcp v0.1.3 [INFO] [stderr] Checking tokio-fs v0.1.5 [INFO] [stderr] Checking tokio v0.1.15 [INFO] [stderr] Checking websocket v0.22.2 [INFO] [stderr] Compiling darling_core v0.8.5 [INFO] [stderr] Compiling synstructure v0.10.1 [INFO] [stderr] Compiling serde_derive v1.0.88 [INFO] [stderr] Compiling darling_macro v0.8.5 [INFO] [stderr] Checking failure v0.1.5 [INFO] [stderr] Compiling darling v0.8.5 [INFO] [stderr] Compiling derive_builder_core v0.4.1 [INFO] [stderr] Checking which v2.0.1 [INFO] [stderr] Checking toml v0.4.10 [INFO] [stderr] Checking serde_json v1.0.38 [INFO] [stderr] Checking headless_chrome v0.1.3 [INFO] [stderr] Checking play-rs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/main.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 imports: `App`, `SubCommand` [INFO] [stdout] --> src/main.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | use clap::{App, SubCommand, Shell}; [INFO] [stdout] | ^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `IO_ERROR` should have an upper camel case name [INFO] [stdout] --> src/tests/test_file.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | IO_ERROR(std::io::Error), //std::io::Error [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `IoError` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:68:20 [INFO] [stdout] | [INFO] [stdout] 68 | 0x0000_0000...0x0000_007F => Some(vec![cp as u8]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:70:20 [INFO] [stdout] | [INFO] [stdout] 70 | 0x0000_0080...0x0000_07FF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:76:20 [INFO] [stdout] | [INFO] [stdout] 76 | 0x0000_0800...0x0000_FFFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:83:20 [INFO] [stdout] | [INFO] [stdout] 83 | 0x0001_0000...0x010_FFFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:165:13 [INFO] [stdout] | [INFO] [stdout] 165 | b'0'...b'9' => Some(b - b'0'), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:166:13 [INFO] [stdout] | [INFO] [stdout] 166 | b'a'...b'f' => Some(b - b'a' + 10), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:167:13 [INFO] [stdout] | [INFO] [stdout] 167 | b'A'...b'F' => Some(b - b'A' + 10), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:175:13 [INFO] [stdout] | [INFO] [stdout] 175 | b'0'...b'9' => Some(b - b'0'), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:176:13 [INFO] [stdout] | [INFO] [stdout] 176 | b'a'...b'f' => Some(b - b'a' + 10), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:177:13 [INFO] [stdout] | [INFO] [stdout] 177 | b'A'...b'F' => Some(b - b'A' + 10), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:218:21 [INFO] [stdout] | [INFO] [stdout] 218 | b'0'...b'9' | b'a'...b'f' | b'A'...b'F' => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:218:35 [INFO] [stdout] | [INFO] [stdout] 218 | b'0'...b'9' | b'a'...b'f' | b'A'...b'F' => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:218:49 [INFO] [stdout] | [INFO] [stdout] 218 | b'0'...b'9' | b'a'...b'f' | b'A'...b'F' => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:229:40 [INFO] [stdout] | [INFO] [stdout] 229 | (Some(BSL), Some(XC), Some(b'0'...b'9')) [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:230:42 [INFO] [stdout] | [INFO] [stdout] 230 | | (Some(BSL), Some(XC), Some(b'a'...b'f')) [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:231:42 [INFO] [stdout] | [INFO] [stdout] 231 | | (Some(BSL), Some(XC), Some(b'A'...b'F')) => match it { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:232:17 [INFO] [stdout] | [INFO] [stdout] 232 | b'0'...b'9' | b'a'...b'f' | b'A'...b'F' => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:232:31 [INFO] [stdout] | [INFO] [stdout] 232 | b'0'...b'9' | b'a'...b'f' | b'A'...b'F' => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:232:45 [INFO] [stdout] | [INFO] [stdout] 232 | b'0'...b'9' | b'a'...b'f' | b'A'...b'F' => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::code_util::get_hex_pairs` [INFO] [stdout] --> src/gb18030.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::code_util::get_hex_pairs; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/gb18030.rs:83:17 [INFO] [stdout] | [INFO] [stdout] 83 | 0x00...0x7F => Ok(char::from_u32(u32::from(current_byte)).unwrap()), // state keep empty. [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/gb18030.rs:91:17 [INFO] [stdout] | [INFO] [stdout] 91 | 0x81...0xFE => match current_byte { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/gb18030.rs:92:21 [INFO] [stdout] | [INFO] [stdout] 92 | 0x40...0x7E | 0x80...0xFE => { // a valid gb18030 [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/gb18030.rs:92:35 [INFO] [stdout] | [INFO] [stdout] 92 | 0x40...0x7E | 0x80...0xFE => { // a valid gb18030 [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/gb18030.rs:100:21 [INFO] [stdout] | [INFO] [stdout] 100 | 0x30...0x39 => { // maybe a four byte gb18030 [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/gb18030.rs:115:17 [INFO] [stdout] | [INFO] [stdout] 115 | 0x81...0xFE => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/gb18030.rs:125:17 [INFO] [stdout] | [INFO] [stdout] 125 | 0x30...0x39 => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures::future::lazy` [INFO] [stdout] --> src/dir_watcher_stream.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use futures::future::lazy; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/real_world.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::io` [INFO] [stdout] --> src/main.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | use tokio::io; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TcpStream` [INFO] [stdout] --> src/main.rs:29:18 [INFO] [stdout] | [INFO] [stdout] 29 | use tokio::net::{TcpStream, TcpListener}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::env` [INFO] [stdout] --> src/main.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | use std::env; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::SocketAddr` [INFO] [stdout] --> src/main.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | use std::net::SocketAddr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `App` is imported redundantly [INFO] [stdout] --> src/main.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 15 | use clap::{App, SubCommand, Shell}; [INFO] [stdout] | --- the item `App` is already imported here [INFO] [stdout] ... [INFO] [stdout] 61 | use clap::App; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/main.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 imports: `App`, `SubCommand` [INFO] [stdout] --> src/main.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | use clap::{App, SubCommand, Shell}; [INFO] [stdout] | ^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `IO_ERROR` should have an upper camel case name [INFO] [stdout] --> src/tests/test_file.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | IO_ERROR(std::io::Error), //std::io::Error [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `IoError` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> src/tests/test_file.rs:108:31 [INFO] [stdout] | [INFO] [stdout] 108 | use std::io::{LineWriter, Read}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:68:20 [INFO] [stdout] | [INFO] [stdout] 68 | 0x0000_0000...0x0000_007F => Some(vec![cp as u8]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:70:20 [INFO] [stdout] | [INFO] [stdout] 70 | 0x0000_0080...0x0000_07FF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:76:20 [INFO] [stdout] | [INFO] [stdout] 76 | 0x0000_0800...0x0000_FFFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:83:20 [INFO] [stdout] | [INFO] [stdout] 83 | 0x0001_0000...0x010_FFFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:165:13 [INFO] [stdout] | [INFO] [stdout] 165 | b'0'...b'9' => Some(b - b'0'), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:166:13 [INFO] [stdout] | [INFO] [stdout] 166 | b'a'...b'f' => Some(b - b'a' + 10), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:167:13 [INFO] [stdout] | [INFO] [stdout] 167 | b'A'...b'F' => Some(b - b'A' + 10), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:175:13 [INFO] [stdout] | [INFO] [stdout] 175 | b'0'...b'9' => Some(b - b'0'), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:176:13 [INFO] [stdout] | [INFO] [stdout] 176 | b'a'...b'f' => Some(b - b'a' + 10), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:177:13 [INFO] [stdout] | [INFO] [stdout] 177 | b'A'...b'F' => Some(b - b'A' + 10), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:218:21 [INFO] [stdout] | [INFO] [stdout] 218 | b'0'...b'9' | b'a'...b'f' | b'A'...b'F' => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:218:35 [INFO] [stdout] | [INFO] [stdout] 218 | b'0'...b'9' | b'a'...b'f' | b'A'...b'F' => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:218:49 [INFO] [stdout] | [INFO] [stdout] 218 | b'0'...b'9' | b'a'...b'f' | b'A'...b'F' => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:229:40 [INFO] [stdout] | [INFO] [stdout] 229 | (Some(BSL), Some(XC), Some(b'0'...b'9')) [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:230:42 [INFO] [stdout] | [INFO] [stdout] 230 | | (Some(BSL), Some(XC), Some(b'a'...b'f')) [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:231:42 [INFO] [stdout] | [INFO] [stdout] 231 | | (Some(BSL), Some(XC), Some(b'A'...b'F')) => match it { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:232:17 [INFO] [stdout] | [INFO] [stdout] 232 | b'0'...b'9' | b'a'...b'f' | b'A'...b'F' => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:232:31 [INFO] [stdout] | [INFO] [stdout] 232 | b'0'...b'9' | b'a'...b'f' | b'A'...b'F' => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/code_util.rs:232:45 [INFO] [stdout] | [INFO] [stdout] 232 | b'0'...b'9' | b'a'...b'f' | b'A'...b'F' => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/gb18030.rs:83:17 [INFO] [stdout] | [INFO] [stdout] 83 | 0x00...0x7F => Ok(char::from_u32(u32::from(current_byte)).unwrap()), // state keep empty. [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/gb18030.rs:91:17 [INFO] [stdout] | [INFO] [stdout] 91 | 0x81...0xFE => match current_byte { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/gb18030.rs:92:21 [INFO] [stdout] | [INFO] [stdout] 92 | 0x40...0x7E | 0x80...0xFE => { // a valid gb18030 [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/gb18030.rs:92:35 [INFO] [stdout] | [INFO] [stdout] 92 | 0x40...0x7E | 0x80...0xFE => { // a valid gb18030 [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/gb18030.rs:100:21 [INFO] [stdout] | [INFO] [stdout] 100 | 0x30...0x39 => { // maybe a four byte gb18030 [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/gb18030.rs:115:17 [INFO] [stdout] | [INFO] [stdout] 115 | 0x81...0xFE => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/gb18030.rs:125:17 [INFO] [stdout] | [INFO] [stdout] 125 | 0x30...0x39 => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures::future::lazy` [INFO] [stdout] --> src/dir_watcher_stream.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use futures::future::lazy; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Utc` [INFO] [stdout] --> src/dir_watcher_stream.rs:138:9 [INFO] [stdout] | [INFO] [stdout] 138 | use chrono::Utc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/dir_watcher_stream.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/dir_watcher_stream.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 140 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/dir_watcher_stream.rs:141:9 [INFO] [stdout] | [INFO] [stdout] 141 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::sleep` [INFO] [stdout] --> src/dir_watcher_stream.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | use std::thread::sleep; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tempfile::tempdir` [INFO] [stdout] --> src/dir_watcher_stream.rs:144:9 [INFO] [stdout] | [INFO] [stdout] 144 | use tempfile::tempdir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/real_world.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::io` [INFO] [stdout] --> src/main.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | use tokio::io; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TcpStream` [INFO] [stdout] --> src/main.rs:29:18 [INFO] [stdout] | [INFO] [stdout] 29 | use tokio::net::{TcpStream, TcpListener}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::env` [INFO] [stdout] --> src/main.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | use std::env; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::SocketAddr` [INFO] [stdout] --> src/main.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | use std::net::SocketAddr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `App` is imported redundantly [INFO] [stdout] --> src/main.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 15 | use clap::{App, SubCommand, Shell}; [INFO] [stdout] | --- the item `App` is already imported here [INFO] [stdout] ... [INFO] [stdout] 61 | use clap::App; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `zero` [INFO] [stdout] --> src/dir_watcher_stream.rs:60:22 [INFO] [stdout] | [INFO] [stdout] 60 | if let Some((zero, path_part)) = rest.split_first() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_zero` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:88:17 [INFO] [stdout] | [INFO] [stdout] 88 | let mut port = if let Some(inner_port) = sub_matches.value_of("port") { [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: variant is never constructed: `Continue` [INFO] [stdout] --> src/tests/test_file.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | Continue, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Impossible` [INFO] [stdout] --> src/tests/test_file.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | Impossible, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `SuccessionMatchResult` [INFO] [stdout] --> src/tests/test_file.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | type SuccessionMatchResult = Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `SuccessionGroup` [INFO] [stdout] --> src/tests/test_file.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | type SuccessionGroup = Vec<(u32, (u32, u32), (u32, u32))>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `find_successions` [INFO] [stdout] --> src/tests/test_file.rs:28:4 [INFO] [stdout] | [INFO] [stdout] 28 | fn find_successions>(fp: T) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `init_log` [INFO] [stdout] --> src/tests/tutil.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn init_log() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_out_file` [INFO] [stdout] --> src/tests/tutil.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn get_out_file<'a, T: AsRef<[&'a str]>>(postfix: T) -> std::io::Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_src_file` [INFO] [stdout] --> src/tests/tutil.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn get_src_file<'a, T: AsRef<[&'a str]>>(postfix: T) -> std::io::Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `THREE_1_POST_U32` [INFO] [stdout] --> src/code_util.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | const THREE_1_POST_U32: u32 = 0b0000_0111; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `FOUR_1_POST_U32` [INFO] [stdout] --> src/code_util.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | const FOUR_1_POST_U32: u32 = 0b0000_1111; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `FIVE_1_POST_U32` [INFO] [stdout] --> src/code_util.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | const FIVE_1_POST_U32: u32 = 0b0001_1111; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `SIX_1_POST_U32` [INFO] [stdout] --> src/code_util.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | const SIX_1_POST_U32: u32 = 0b0011_1111; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `ONE_1_PRE_U8` [INFO] [stdout] --> src/code_util.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | const ONE_1_PRE_U8: u8 = 0b1000_0000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `TWO_1_PRE_U8` [INFO] [stdout] --> src/code_util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | const TWO_1_PRE_U8: u8 = 0b110_00000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `THREE_1_PRE_U8` [INFO] [stdout] --> src/code_util.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | const THREE_1_PRE_U8: u8 = 0b1110_0000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `FOUR_1_PRE_U8` [INFO] [stdout] --> src/code_util.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | const FOUR_1_PRE_U8: u8 = 0b1111_0000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `SIX_1_POST_U8` [INFO] [stdout] --> src/code_util.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | const SIX_1_POST_U8: u8 = 0b0011_1111; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `FIVE_1_POST_U8` [INFO] [stdout] --> src/code_util.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | const FIVE_1_POST_U8: u8 = 0b0001_1111; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `FOUR_1_POST_U8` [INFO] [stdout] --> src/code_util.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | const FOUR_1_POST_U8: u8 = 0b0000_1111; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `THREE_1_POST_U8` [INFO] [stdout] --> src/code_util.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | const THREE_1_POST_U8: u8 = 0b0000_0111; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `BitNum` [INFO] [stdout] --> src/code_util.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | pub enum BitNum { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `utf8_to_codepoint` [INFO] [stdout] --> src/code_util.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn utf8_to_codepoint>(utf8_as: T) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `codepoint_to_utf8` [INFO] [stdout] --> src/code_util.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn codepoint_to_utf8(cp: u32) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_bits` [INFO] [stdout] --> src/code_util.rs:94:4 [INFO] [stdout] | [INFO] [stdout] 94 | fn get_bits(i: u32, bn: BitNum) -> u8 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `hex_str_to_u32` [INFO] [stdout] --> src/code_util.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn hex_str_to_u32>(hex_as: T) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `hex_str_to_u32_v1` [INFO] [stdout] --> src/code_util.rs:126:8 [INFO] [stdout] | [INFO] [stdout] 126 | pub fn hex_str_to_u32_v1(hex_str: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `TripleOptionU8` [INFO] [stdout] --> src/code_util.rs:149:1 [INFO] [stdout] | [INFO] [stdout] 149 | type TripleOptionU8 = (Option, Option, Option); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Continue` [INFO] [stdout] --> src/code_util.rs:153:5 [INFO] [stdout] | [INFO] [stdout] 153 | Continue, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Impossible` [INFO] [stdout] --> src/code_util.rs:154:5 [INFO] [stdout] | [INFO] [stdout] 154 | Impossible, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Discard` [INFO] [stdout] --> src/code_util.rs:155:5 [INFO] [stdout] | [INFO] [stdout] 155 | Discard(Vec), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `ScanResult` [INFO] [stdout] --> src/code_util.rs:158:1 [INFO] [stdout] | [INFO] [stdout] 158 | type ScanResult = Result, MayBeMatchError>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `BSL` [INFO] [stdout] --> src/code_util.rs:160:1 [INFO] [stdout] | [INFO] [stdout] 160 | const BSL: u8 = b'\\'; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `XC` [INFO] [stdout] --> src/code_util.rs:161:1 [INFO] [stdout] | [INFO] [stdout] 161 | const XC: u8 = b'x'; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `aton_1` [INFO] [stdout] --> src/code_util.rs:163:8 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn aton_1(b: u8) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `aton_1_v1` [INFO] [stdout] --> src/code_util.rs:173:8 [INFO] [stdout] | [INFO] [stdout] 173 | pub fn aton_1_v1(b: &u8) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `aton_2` [INFO] [stdout] --> src/code_util.rs:182:4 [INFO] [stdout] | [INFO] [stdout] 182 | fn aton_2(a: u8, b: u8) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `find_2_hex_pair` [INFO] [stdout] --> src/code_util.rs:192:8 [INFO] [stdout] | [INFO] [stdout] 192 | pub fn find_2_hex_pair(state: &mut TripleOptionU8, it: u8) -> ScanResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_hex_pairs` [INFO] [stdout] --> src/code_util.rs:251:12 [INFO] [stdout] | [INFO] [stdout] 251 | pub fn get_hex_pairs(a_slice: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `code_point_to_gb18030_4b` [INFO] [stdout] --> src/gb18030.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn code_point_to_gb18030_4b(cp: u32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `gb18030_4b_to_code_point` [INFO] [stdout] --> src/gb18030.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn gb18030_4b_to_code_point>(gb4: T) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `TripleOptionU8` [INFO] [stdout] --> src/gb18030.rs:67:1 [INFO] [stdout] | [INFO] [stdout] 67 | type TripleOptionU8 = (Option, Option, Option); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Continue` [INFO] [stdout] --> src/gb18030.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | Continue, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Impossible` [INFO] [stdout] --> src/gb18030.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | Impossible, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Discard` [INFO] [stdout] --> src/gb18030.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | Discard(Vec), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `CharResult` [INFO] [stdout] --> src/gb18030.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | type CharResult = Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `try_get_char` [INFO] [stdout] --> src/gb18030.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn try_get_char(state: &mut TripleOptionU8, current_byte: u8) -> CharResult { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `GBK_UNI` [INFO] [stdout] --> src/table.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / pub const GBK_UNI: &[u32] = &[ [INFO] [stdout] 2 | | 0x4E02, [INFO] [stdout] 3 | | 0x4E04, [INFO] [stdout] 4 | | 0x4E05, [INFO] [stdout] ... | [INFO] [stdout] 23941 | | 0xE4C5, [INFO] [stdout] 23942 | | ]; [INFO] [stdout] | |__^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `watcher` [INFO] [stdout] --> src/dir_watcher_stream.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | watcher: RecommendedWatcher, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/dir_watcher_stream.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn new(watch_target: &str, debounce_duration: Duration, interval_duration: Duration, recursive_mode: RecursiveMode /*, app_state:... [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode_msg` [INFO] [stdout] --> src/dir_watcher_stream.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn decode_msg<'a>(vec_of_u8: &'a Vec) -> Option> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `entry` [INFO] [stdout] --> src/real_world.rs:14:4 [INFO] [stdout] | [INFO] [stdout] 14 | fn entry() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `sleep` [INFO] [stdout] --> src/real_world.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn sleep(ms: u64) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_secrets` [INFO] [stdout] --> src/real_world.rs:51:4 [INFO] [stdout] | [INFO] [stdout] 51 | fn parse_secrets() -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `rand_ascii` [INFO] [stdout] --> src/real_world.rs:59:4 [INFO] [stdout] | [INFO] [stdout] 59 | fn rand_ascii() -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `default_browser_and_tab` [INFO] [stdout] --> src/real_world.rs:66:4 [INFO] [stdout] | [INFO] [stdout] 66 | fn default_browser_and_tab() -> (Browser, Arc) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `browse_wikipedia` [INFO] [stdout] --> src/real_world.rs:77:4 [INFO] [stdout] | [INFO] [stdout] 77 | fn browse_wikipedia() -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `log_in_to_digital_pigeon` [INFO] [stdout] --> src/real_world.rs:94:4 [INFO] [stdout] | [INFO] [stdout] 94 | fn log_in_to_digital_pigeon() -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `log_in_to_fastmail_and_send_email` [INFO] [stdout] --> src/real_world.rs:180:4 [INFO] [stdout] | [INFO] [stdout] 180 | fn log_in_to_fastmail_and_send_email() -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `log_in_to_dropbox` [INFO] [stdout] --> src/real_world.rs:221:4 [INFO] [stdout] | [INFO] [stdout] 221 | fn log_in_to_dropbox(tab: &Tab) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `wikipedia` [INFO] [stdout] --> src/real_world.rs:240:4 [INFO] [stdout] | [INFO] [stdout] 240 | fn wikipedia() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fastmail` [INFO] [stdout] --> src/real_world.rs:244:4 [INFO] [stdout] | [INFO] [stdout] 244 | fn fastmail() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `digital_pigeon` [INFO] [stdout] --> src/real_world.rs:248:4 [INFO] [stdout] | [INFO] [stdout] 248 | fn digital_pigeon() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `dropbox` [INFO] [stdout] --> src/real_world.rs:252:4 [INFO] [stdout] | [INFO] [stdout] 252 | fn dropbox() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `wait_until_true` [INFO] [stdout] --> src/real_world.rs:261:8 [INFO] [stdout] | [INFO] [stdout] 261 | pub fn wait_until_true(predicate: F, wait_options: WaitOptions) -> Result<(), Error> [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `WaitOptions` [INFO] [stdout] --> src/real_world.rs:284:12 [INFO] [stdout] | [INFO] [stdout] 284 | pub struct WaitOptions { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `wait_for` [INFO] [stdout] --> src/real_world.rs:289:8 [INFO] [stdout] | [INFO] [stdout] 289 | pub fn wait_for(predicate: F, wait_options: WaitOptions) -> Result [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/tests/test_file.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | let v = [Some(2u8), None]; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `range` [INFO] [stdout] --> src/tests/test_file.rs:148:13 [INFO] [stdout] | [INFO] [stdout] 148 | let range = 0xFEFE - 0x8140; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `all` [INFO] [stdout] --> src/tests/test_file.rs:153:17 [INFO] [stdout] | [INFO] [stdout] 153 | let mut all = [1, 2, 3, 4, 5, 6]; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_all` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `g` [INFO] [stdout] --> src/tests/test_file.rs:179:30 [INFO] [stdout] | [INFO] [stdout] 179 | if let (Some(g), Some(u)) = (pair.next(), pair.next()) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_g` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `zero` [INFO] [stdout] --> src/dir_watcher_stream.rs:60:22 [INFO] [stdout] | [INFO] [stdout] 60 | if let Some((zero, path_part)) = rest.split_first() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_zero` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:88:17 [INFO] [stdout] | [INFO] [stdout] 88 | let mut port = if let Some(inner_port) = sub_matches.value_of("port") { [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/tests/test_file.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | let mut all = [1, 2, 3, 4, 5, 6]; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Continue` [INFO] [stdout] --> src/tests/test_file.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | Continue, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Impossible` [INFO] [stdout] --> src/tests/test_file.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | Impossible, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `SuccessionMatchResult` [INFO] [stdout] --> src/tests/test_file.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | type SuccessionMatchResult = Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Discard` [INFO] [stdout] --> src/code_util.rs:155:5 [INFO] [stdout] | [INFO] [stdout] 155 | Discard(Vec), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Impossible` [INFO] [stdout] --> src/gb18030.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | Impossible, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `watcher` [INFO] [stdout] --> src/dir_watcher_stream.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | watcher: RecommendedWatcher, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `entry` [INFO] [stdout] --> src/real_world.rs:14:4 [INFO] [stdout] | [INFO] [stdout] 14 | fn entry() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `sleep` [INFO] [stdout] --> src/real_world.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn sleep(ms: u64) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `browse_wikipedia` [INFO] [stdout] --> src/real_world.rs:77:4 [INFO] [stdout] | [INFO] [stdout] 77 | fn browse_wikipedia() -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `log_in_to_digital_pigeon` [INFO] [stdout] --> src/real_world.rs:94:4 [INFO] [stdout] | [INFO] [stdout] 94 | fn log_in_to_digital_pigeon() -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `log_in_to_dropbox` [INFO] [stdout] --> src/real_world.rs:221:4 [INFO] [stdout] | [INFO] [stdout] 221 | fn log_in_to_dropbox(tab: &Tab) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `wikipedia` [INFO] [stdout] --> src/real_world.rs:240:4 [INFO] [stdout] | [INFO] [stdout] 240 | fn wikipedia() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `digital_pigeon` [INFO] [stdout] --> src/real_world.rs:248:4 [INFO] [stdout] | [INFO] [stdout] 248 | fn digital_pigeon() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `dropbox` [INFO] [stdout] --> src/real_world.rs:252:4 [INFO] [stdout] | [INFO] [stdout] 252 | fn dropbox() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `wait_until_true` [INFO] [stdout] --> src/real_world.rs:261:8 [INFO] [stdout] | [INFO] [stdout] 261 | pub fn wait_until_true(predicate: F, wait_options: WaitOptions) -> Result<(), Error> [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `WaitOptions` [INFO] [stdout] --> src/real_world.rs:284:12 [INFO] [stdout] | [INFO] [stdout] 284 | pub struct WaitOptions { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `wait_for` [INFO] [stdout] --> src/real_world.rs:289:8 [INFO] [stdout] | [INFO] [stdout] 289 | pub fn wait_for(predicate: F, wait_options: WaitOptions) -> Result [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021. [INFO] [stdout] --> src/tests/test_ownership.rs:57:34 [INFO] [stdout] | [INFO] [stdout] 57 | let _v5: Vec = v.into_iter().map(|x| { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 57 | let _v5: Vec = v.iter().map(|x| { [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 57 | let _v5: Vec = IntoIterator::into_iter(v).map(|x| { [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021. [INFO] [stdout] --> src/tests/test_ownership.rs:74:34 [INFO] [stdout] | [INFO] [stdout] 74 | let _v5: Vec = v.into_iter().map(|x| { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 74 | let _v5: Vec = v.iter().map(|x| { [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 74 | let _v5: Vec = IntoIterator::into_iter(v).map(|x| { [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021. [INFO] [stdout] --> src/tests/test_ownership.rs:81:37 [INFO] [stdout] | [INFO] [stdout] 81 | let _v5: Vec = array.into_iter().map(|x|{ // x is &i32 [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 81 | let _v5: Vec = array.iter().map(|x|{ // x is &i32 [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 81 | let _v5: Vec = IntoIterator::into_iter(array).map(|x|{ // x is &i32 [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 70 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 42.79s [INFO] [stdout] warning: 105 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "65064fb0f1c8634e81485d8a3ac594295a919113940646daabf38f770093193b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "65064fb0f1c8634e81485d8a3ac594295a919113940646daabf38f770093193b", kill_on_drop: false }` [INFO] [stdout] 65064fb0f1c8634e81485d8a3ac594295a919113940646daabf38f770093193b