[INFO] cloning repository https://github.com/dreamerminsk/wiki-langs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dreamerminsk/wiki-langs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdreamerminsk%2Fwiki-langs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdreamerminsk%2Fwiki-langs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e74982f540a2d1a85316230c638da999c2a86a4b
[INFO] checking dreamerminsk/wiki-langs/e74982f540a2d1a85316230c638da999c2a86a4b against master#3350c1eb3fd8fe1bee1ed4c76944d707bd256876 for pr-140558
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdreamerminsk%2Fwiki-langs" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/dreamerminsk/wiki-langs on toolchain 3350c1eb3fd8fe1bee1ed4c76944d707bd256876
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3350c1eb3fd8fe1bee1ed4c76944d707bd256876" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-5-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/dreamerminsk/wiki-langs
[INFO] finished tweaking git repo https://github.com/dreamerminsk/wiki-langs
[INFO] tweaked toml for git repo https://github.com/dreamerminsk/wiki-langs written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/dreamerminsk/wiki-langs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3350c1eb3fd8fe1bee1ed4c76944d707bd256876" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded chrono-humanize v0.2.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+3350c1eb3fd8fe1bee1ed4c76944d707bd256876" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 890aa717e7b3071d33810b67403f1aa8f1f6b23dbab397b1ee49c2a853bd1a3d
[INFO] running `Command { std: "docker" "start" "-a" "890aa717e7b3071d33810b67403f1aa8f1f6b23dbab397b1ee49c2a853bd1a3d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "890aa717e7b3071d33810b67403f1aa8f1f6b23dbab397b1ee49c2a853bd1a3d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "890aa717e7b3071d33810b67403f1aa8f1f6b23dbab397b1ee49c2a853bd1a3d", kill_on_drop: false }`
[INFO] [stdout] 890aa717e7b3071d33810b67403f1aa8f1f6b23dbab397b1ee49c2a853bd1a3d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+3350c1eb3fd8fe1bee1ed4c76944d707bd256876" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d46c8adbf1c154e75535171db1af8cb5ab07ec52af6b76988dc663ff31491a80
[INFO] running `Command { std: "docker" "start" "-a" "d46c8adbf1c154e75535171db1af8cb5ab07ec52af6b76988dc663ff31491a80", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.43
[INFO] [stderr]    Compiling quote v1.0.21
[INFO] [stderr]    Compiling unicode-ident v1.0.3
[INFO] [stderr]    Compiling syn v1.0.99
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling libc v0.2.132
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.16
[INFO] [stderr]    Compiling siphasher v0.3.10
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]     Checking once_cell v1.13.1
[INFO] [stderr]     Checking smallvec v1.9.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.3
[INFO] [stderr]    Compiling serde_derive v1.0.144
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]    Compiling serde v1.0.144
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling proc-macro-hack v0.5.19
[INFO] [stderr]    Compiling phf_shared v0.8.0
[INFO] [stderr]    Compiling phf_shared v0.10.0
[INFO] [stderr]    Compiling futures-core v0.3.23
[INFO] [stderr]     Checking new_debug_unreachable v1.0.4
[INFO] [stderr]     Checking pin-project-lite v0.2.9
[INFO] [stderr]     Checking mac v0.1.1
[INFO] [stderr]     Checking bytes v1.2.1
[INFO] [stderr]    Compiling pkg-config v0.3.25
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stderr]     Checking precomputed-hash v0.1.1
[INFO] [stderr]     Checking futf v0.1.5
[INFO] [stderr]     Checking utf-8 v0.7.6
[INFO] [stderr]     Checking matches v0.1.9
[INFO] [stderr]     Checking itoa v1.0.3
[INFO] [stderr]    Compiling futures-task v0.3.23
[INFO] [stderr]    Compiling lock_api v0.4.7
[INFO] [stderr]    Compiling tokio v1.20.1
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]    Compiling slab v0.4.7
[INFO] [stderr]    Compiling indexmap v1.9.1
[INFO] [stderr]     Checking tendril v0.4.3
[INFO] [stderr]     Checking tracing-core v0.1.29
[INFO] [stderr]     Checking foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling futures-util v0.3.23
[INFO] [stderr]    Compiling openssl v0.10.41
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking foreign-types v0.3.2
[INFO] [stderr]     Checking http v0.2.8
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling futures-channel v0.3.23
[INFO] [stderr]    Compiling native-tls v0.2.10
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]    Compiling httparse v1.7.1
[INFO] [stderr]     Checking futures-sink v0.3.23
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]     Checking tinyvec_macros v0.1.0
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]     Checking percent-encoding v2.1.0
[INFO] [stderr]     Checking dtoa v0.4.8
[INFO] [stderr]     Checking socket2 v0.4.4
[INFO] [stderr]     Checking mio v0.8.4
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking num_cpus v1.13.1
[INFO] [stderr]     Checking tracing v0.1.36
[INFO] [stderr]     Checking getrandom v0.2.7
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking time v0.1.44
[INFO] [stderr]     Checking itoa v0.4.8
[INFO] [stderr]     Checking openssl-probe v0.1.5
[INFO] [stderr]     Checking try-lock v0.2.3
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking dtoa-short v0.3.3
[INFO] [stderr]     Checking want v0.3.0
[INFO] [stderr]     Checking form_urlencoded v1.0.1
[INFO] [stderr]     Checking phf v0.10.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]     Checking unicode-bidi v0.3.8
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]     Checking ryu v1.0.11
[INFO] [stderr]     Checking http-body v0.4.5
[INFO] [stderr]     Checking nodrop v0.1.14
[INFO] [stderr]     Checking tower-service v0.3.2
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling rand_pcg v0.2.1
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]     Checking httpdate v1.0.2
[INFO] [stderr]    Compiling encoding_rs v0.8.31
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]    Compiling openssl-sys v0.9.75
[INFO] [stderr]     Checking servo_arc v0.1.1
[INFO] [stderr]     Checking thin-slice v0.1.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking unicode-width v0.1.9
[INFO] [stderr]     Checking iana-time-zone v0.1.46
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]     Checking getopts v0.2.21
[INFO] [stderr]     Checking csv-core v0.1.10
[INFO] [stderr]     Checking aho-corasick v0.7.18
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking unicode-normalization v0.1.21
[INFO] [stderr]     Checking base64 v0.13.0
[INFO] [stderr]     Checking mime v0.3.16
[INFO] [stderr]     Checking regex-syntax v0.6.27
[INFO] [stderr]     Checking ego-tree v0.6.2
[INFO] [stderr]     Checking ipnet v2.5.0
[INFO] [stderr]     Checking uuid v1.1.2
[INFO] [stderr]     Checking idna v0.2.3
[INFO] [stderr]     Checking fern v0.6.1
[INFO] [stderr]    Compiling phf_generator v0.10.0
[INFO] [stderr]    Compiling string_cache_codegen v0.5.2
[INFO] [stderr]    Compiling phf_codegen v0.10.0
[INFO] [stderr]    Compiling phf_generator v0.8.0
[INFO] [stderr]    Compiling markup5ever v0.11.0
[INFO] [stderr]     Checking url v2.2.2
[INFO] [stderr]    Compiling phf_codegen v0.8.0
[INFO] [stderr]    Compiling markup5ever v0.10.1
[INFO] [stderr]    Compiling selectors v0.22.0
[INFO] [stderr]     Checking nanoid v0.4.0
[INFO] [stderr]     Checking regex v1.6.0
[INFO] [stderr]    Compiling phf_macros v0.8.0
[INFO] [stderr]    Compiling tokio-macros v1.8.0
[INFO] [stderr]    Compiling openssl-macros v0.1.0
[INFO] [stderr]    Compiling cssparser v0.27.2
[INFO] [stderr]    Compiling html5ever v0.25.2
[INFO] [stderr]    Compiling html5ever v0.26.0
[INFO] [stderr]    Compiling cssparser-macros v0.6.0
[INFO] [stderr]    Compiling derive_more v0.99.17
[INFO] [stderr]    Compiling async-stream-impl v0.3.3
[INFO] [stderr]     Checking async-stream v0.3.3
[INFO] [stderr]     Checking phf v0.8.0
[INFO] [stderr]     Checking tokio-util v0.7.3
[INFO] [stderr]     Checking tokio-native-tls v0.3.0
[INFO] [stderr]     Checking tokio-stream v0.1.9
[INFO] [stderr]     Checking h2 v0.3.14
[INFO] [stderr]     Checking string_cache v0.8.4
[INFO] [stderr]     Checking chrono v0.4.22
[INFO] [stderr]     Checking bstr v0.2.17
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking toml v0.5.9
[INFO] [stderr]     Checking csv v1.1.6
[INFO] [stderr]     Checking hyper v0.14.20
[INFO] [stderr]     Checking chrono-humanize v0.2.2
[INFO] [stderr]     Checking xml5ever v0.16.2
[INFO] [stderr]     Checking scraper v0.13.0
[INFO] [stderr]     Checking markup5ever_rcdom v0.1.0
[INFO] [stderr]     Checking select v0.5.0
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.11
[INFO] [stderr]     Checking wiki-langs v0.1.7 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `tables::add_country`
[INFO] [stdout]  --> src/main.rs:1:41
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::country::{entities::Country, tables::add_country};
[INFO] [stdout]   |                                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, `trace`, and `warn`
[INFO] [stdout]  --> src/main.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::{debug, error, info, trace, warn};
[INFO] [stdout]   |           ^^^^^  ^^^^^  ^^^^  ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `player::Player`
[INFO] [stdout]  --> src/cuetracker/entities/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use player::Player;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `event::Event`
[INFO] [stdout]  --> src/cuetracker/entities/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use event::Event;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DirEntry` and `ReadDir`
[INFO] [stdout]  --> src/players/tables/segments.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 |     fs::{self, DirEntry, ReadDir},
[INFO] [stdout]   |                ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `naive::MIN_DATE`
[INFO] [stdout]  --> src/snooker/entities/player.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::{naive::MIN_DATE, NaiveDate};
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NaiveDate` and `naive::MIN_DATE`
[INFO] [stdout]  --> src/snooker/entities/event.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::{naive::MIN_DATE, NaiveDate};
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::snooker::entities::event::Event`
[INFO] [stdout]  --> src/snooker/entities/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use crate::snooker::entities::event::Event;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tables::add_country`
[INFO] [stdout]  --> src/main.rs:1:41
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::country::{entities::Country, tables::add_country};
[INFO] [stdout]   |                                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, `trace`, and `warn`
[INFO] [stdout]  --> src/main.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::{debug, error, info, trace, warn};
[INFO] [stdout]   |           ^^^^^  ^^^^^  ^^^^  ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `player::Player`
[INFO] [stdout]  --> src/cuetracker/entities/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use player::Player;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `event::Event`
[INFO] [stdout]  --> src/cuetracker/entities/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use event::Event;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DirEntry` and `ReadDir`
[INFO] [stdout]  --> src/players/tables/segments.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 |     fs::{self, DirEntry, ReadDir},
[INFO] [stdout]   |                ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `naive::MIN_DATE`
[INFO] [stdout]  --> src/snooker/entities/player.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::{naive::MIN_DATE, NaiveDate};
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NaiveDate` and `naive::MIN_DATE`
[INFO] [stdout]  --> src/snooker/entities/event.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::{naive::MIN_DATE, NaiveDate};
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::snooker::entities::event::Event`
[INFO] [stdout]  --> src/snooker/entities/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use crate::snooker::entities::event::Event;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `chrono::naive::MIN_DATE`: Use NaiveDate::MIN instead
[INFO] [stdout]  --> src/snooker/entities/player.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::{naive::MIN_DATE, NaiveDate};
[INFO] [stdout]   |                     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `chrono::naive::MIN_DATE`: Use NaiveDate::MIN instead
[INFO] [stdout]  --> src/snooker/entities/event.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::{naive::MIN_DATE, NaiveDate};
[INFO] [stdout]   |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `chrono::naive::MIN_DATE`: Use NaiveDate::MIN instead
[INFO] [stdout]  --> src/snooker/entities/player.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::{naive::MIN_DATE, NaiveDate};
[INFO] [stdout]   |                     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `chrono::naive::MIN_DATE`: Use NaiveDate::MIN instead
[INFO] [stdout]  --> src/snooker/entities/event.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::{naive::MIN_DATE, NaiveDate};
[INFO] [stdout]   |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `random_id`
[INFO] [stdout]   --> src/main.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let random_id: u32 = rng.gen_range(std::ops::Range {
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_random_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `country`
[INFO] [stdout]   --> src/main.rs:73:21
[INFO] [stdout]    |
[INFO] [stdout] 73 |                 let country = Country::from(pl.nation);
[INFO] [stdout]    |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_country`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `random_id`
[INFO] [stdout]   --> src/main.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let random_id: u32 = rng.gen_range(std::ops::Range {
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_random_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `country`
[INFO] [stdout]   --> src/main.rs:73:21
[INFO] [stdout]    |
[INFO] [stdout] 73 |                 let country = Country::from(pl.nation);
[INFO] [stdout]    |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_country`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/players/tables/segments.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let mut entries = fs::read_dir(path)?
[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/players/tables/segments.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let mut entries = fs::read_dir(path)?
[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: struct `NextPlayer` is never constructed
[INFO] [stdout]   --> src/main.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | struct NextPlayer(u32);
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get` and `put` are never used
[INFO] [stdout]   --> src/main.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl NextPlayer {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] 28 |     fn get(&mut self) -> u32 {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn put(&mut self, np: u32) -> io::Result<()> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scan_players` is never used
[INFO] [stdout]   --> src/main.rs:57:10
[INFO] [stdout]    |
[INFO] [stdout] 57 | async fn scan_players() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Table` is never used
[INFO] [stdout]  --> src/app/mod.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait Table {
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `execute_no` is never used
[INFO] [stdout]   --> src/app/tasks/update_countries.rs:47:14
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl UpdateCountries {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     async fn execute_no(&self) -> Option<()> {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `query` is never used
[INFO] [stdout]  --> src/app/web/html.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn query(u: Url) -> HashMap<String, String> {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `wiki` is never used
[INFO] [stdout]   --> src/country/entities/country.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Country {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 23 |     pub fn wiki(&self, page: &Page) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Event` is never constructed
[INFO] [stdout]  --> src/cuetracker/entities/event.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Event {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_player` is never used
[INFO] [stdout]   --> src/snooker/mod.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub async fn get_player(snooker_id: usize) -> Result<Player, Box<dyn Error>> {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_name` is never used
[INFO] [stdout]   --> src/snooker/mod.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn extract_name(input: &str) -> Option<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_team` is never used
[INFO] [stdout]   --> src/snooker/mod.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn extract_team(input: &str) -> Option<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_nation` is never used
[INFO] [stdout]   --> src/snooker/mod.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn extract_nation(input: &str) -> Option<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_date` is never used
[INFO] [stdout]   --> src/snooker/mod.rs:68:4
[INFO] [stdout]    |
[INFO] [stdout] 68 | fn extract_date(text: &str) -> Option<NaiveDate> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_ct_id` is never used
[INFO] [stdout]   --> src/snooker/mod.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn extract_ct_id(page: &Html) -> Option<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_number` is never used
[INFO] [stdout]    --> src/snooker/mod.rs:191:4
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn extract_number(text: &str) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HOST` is never used
[INFO] [stdout]  --> src/snooker/urls.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const HOST: &str = "http://www.snooker.org";
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RESULTS` is never used
[INFO] [stdout]  --> src/snooker/urls.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const RESULTS: &str = "/res/index.asp?template=22&season=";
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UPCOMING_MATCHES` is never used
[INFO] [stdout]  --> src/snooker/urls.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const UPCOMING_MATCHES: &str = "/res/index.asp?template=24";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANKINGS` is never used
[INFO] [stdout]  --> src/snooker/urls.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const RANKINGS: &str = "/res/index.asp?template=31&season=";
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEEDINGS` is never used
[INFO] [stdout]  --> src/snooker/urls.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const SEEDINGS: &str = "/res/index.asp?template=32&season=";
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POINTS` is never used
[INFO] [stdout]  --> src/snooker/urls.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const POINTS: &str = "/res/index.asp?template=33&season=";
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `results` is never used
[INFO] [stdout]   --> src/snooker/urls.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn results(season: usize) -> String {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `upcoming_matches` is never used
[INFO] [stdout]   --> src/snooker/urls.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn upcoming_matches() -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rankings` is never used
[INFO] [stdout]   --> src/snooker/urls.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn rankings(season: usize) -> String {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Players` is never constructed
[INFO] [stdout]  --> src/tables.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Players {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_player` is never used
[INFO] [stdout]   --> src/tables.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn add_player(player: &Player) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_player_segment` is never used
[INFO] [stdout]   --> src/tables.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn update_player_segment(segment: &str, player: &Player) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_segment` is never used
[INFO] [stdout]   --> src/tables.rs:64:4
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn get_segment(player: &Player) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_year_segment` is never used
[INFO] [stdout]   --> src/tables.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn get_year_segment(date: NaiveDate) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_ct_segment` is never used
[INFO] [stdout]   --> src/tables.rs:79:4
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn get_ct_segment(ctid: String) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_id_segment` is never used
[INFO] [stdout]   --> src/tables.rs:83:4
[INFO] [stdout]    |
[INFO] [stdout] 83 | fn get_id_segment(id: usize) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayerLinks` is never constructed
[INFO] [stdout]   --> src/tables.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub struct PlayerLinks {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_player_link` is never used
[INFO] [stdout]   --> src/tables.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn add_player_link(plink: &PlayerLink) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_segment` is never used
[INFO] [stdout]    --> src/tables.rs:104:4
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn update_segment(segment: &str, pl: &PlayerLink) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Events` is never constructed
[INFO] [stdout]    --> src/tables.rs:142:12
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub struct Events {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EventLinks` is never constructed
[INFO] [stdout]    --> src/tables.rs:146:12
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub struct EventLinks {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_event` is never used
[INFO] [stdout]    --> src/tables.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub fn add_event(elink: &EventLink) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_esegment` is never used
[INFO] [stdout]    --> src/tables.rs:163:4
[INFO] [stdout]     |
[INFO] [stdout] 163 | fn update_esegment(segment: &str, el: &EventLink) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NextPlayer` is never constructed
[INFO] [stdout]   --> src/main.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | struct NextPlayer(u32);
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lang`, `title`, and `wikidata` are never read
[INFO] [stdout]  --> src/wiki/entities/page.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Page {
[INFO] [stdout]   |            ---- fields in this struct
[INFO] [stdout] 6 |     pub lang: String,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] 7 |     pub title: String,
[INFO] [stdout]   |         ^^^^^
[INFO] [stdout] 8 |     pub wikidata: Option<String>,
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Page` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/wiki/entities/page.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Page {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 13 |     fn new(
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get` and `put` are never used
[INFO] [stdout]   --> src/main.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl NextPlayer {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] 28 |     fn get(&mut self) -> u32 {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn put(&mut self, np: u32) -> io::Result<()> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scan_players` is never used
[INFO] [stdout]   --> src/main.rs:57:10
[INFO] [stdout]    |
[INFO] [stdout] 57 | async fn scan_players() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Table` is never used
[INFO] [stdout]  --> src/app/mod.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait Table {
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `execute_no` is never used
[INFO] [stdout]   --> src/app/tasks/update_countries.rs:47:14
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl UpdateCountries {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     async fn execute_no(&self) -> Option<()> {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `query` is never used
[INFO] [stdout]  --> src/app/web/html.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn query(u: Url) -> HashMap<String, String> {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `wiki` is never used
[INFO] [stdout]   --> src/country/entities/country.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Country {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 23 |     pub fn wiki(&self, page: &Page) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Event` is never constructed
[INFO] [stdout]  --> src/cuetracker/entities/event.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Event {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_player` is never used
[INFO] [stdout]   --> src/snooker/mod.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub async fn get_player(snooker_id: usize) -> Result<Player, Box<dyn Error>> {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_name` is never used
[INFO] [stdout]   --> src/snooker/mod.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn extract_name(input: &str) -> Option<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_team` is never used
[INFO] [stdout]   --> src/snooker/mod.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn extract_team(input: &str) -> Option<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_nation` is never used
[INFO] [stdout]   --> src/snooker/mod.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn extract_nation(input: &str) -> Option<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_date` is never used
[INFO] [stdout]   --> src/snooker/mod.rs:68:4
[INFO] [stdout]    |
[INFO] [stdout] 68 | fn extract_date(text: &str) -> Option<NaiveDate> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_ct_id` is never used
[INFO] [stdout]   --> src/snooker/mod.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn extract_ct_id(page: &Html) -> Option<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_number` is never used
[INFO] [stdout]    --> src/snooker/mod.rs:191:4
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn extract_number(text: &str) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HOST` is never used
[INFO] [stdout]  --> src/snooker/urls.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const HOST: &str = "http://www.snooker.org";
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RESULTS` is never used
[INFO] [stdout]  --> src/snooker/urls.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const RESULTS: &str = "/res/index.asp?template=22&season=";
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UPCOMING_MATCHES` is never used
[INFO] [stdout]  --> src/snooker/urls.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const UPCOMING_MATCHES: &str = "/res/index.asp?template=24";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANKINGS` is never used
[INFO] [stdout]  --> src/snooker/urls.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const RANKINGS: &str = "/res/index.asp?template=31&season=";
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEEDINGS` is never used
[INFO] [stdout]  --> src/snooker/urls.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const SEEDINGS: &str = "/res/index.asp?template=32&season=";
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POINTS` is never used
[INFO] [stdout]  --> src/snooker/urls.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const POINTS: &str = "/res/index.asp?template=33&season=";
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `results` is never used
[INFO] [stdout]   --> src/snooker/urls.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn results(season: usize) -> String {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `upcoming_matches` is never used
[INFO] [stdout]   --> src/snooker/urls.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn upcoming_matches() -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rankings` is never used
[INFO] [stdout]   --> src/snooker/urls.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn rankings(season: usize) -> String {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Players` is never constructed
[INFO] [stdout]  --> src/tables.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Players {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_player` is never used
[INFO] [stdout]   --> src/tables.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn add_player(player: &Player) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_player_segment` is never used
[INFO] [stdout]   --> src/tables.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn update_player_segment(segment: &str, player: &Player) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_segment` is never used
[INFO] [stdout]   --> src/tables.rs:64:4
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn get_segment(player: &Player) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_year_segment` is never used
[INFO] [stdout]   --> src/tables.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn get_year_segment(date: NaiveDate) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_ct_segment` is never used
[INFO] [stdout]   --> src/tables.rs:79:4
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn get_ct_segment(ctid: String) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_id_segment` is never used
[INFO] [stdout]   --> src/tables.rs:83:4
[INFO] [stdout]    |
[INFO] [stdout] 83 | fn get_id_segment(id: usize) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayerLinks` is never constructed
[INFO] [stdout]   --> src/tables.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub struct PlayerLinks {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_player_link` is never used
[INFO] [stdout]   --> src/tables.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn add_player_link(plink: &PlayerLink) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_segment` is never used
[INFO] [stdout]    --> src/tables.rs:104:4
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn update_segment(segment: &str, pl: &PlayerLink) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Events` is never constructed
[INFO] [stdout]    --> src/tables.rs:142:12
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub struct Events {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EventLinks` is never constructed
[INFO] [stdout]    --> src/tables.rs:146:12
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub struct EventLinks {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_event` is never used
[INFO] [stdout]    --> src/tables.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub fn add_event(elink: &EventLink) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_esegment` is never used
[INFO] [stdout]    --> src/tables.rs:163:4
[INFO] [stdout]     |
[INFO] [stdout] 163 | fn update_esegment(segment: &str, el: &EventLink) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lang`, `title`, and `wikidata` are never read
[INFO] [stdout]  --> src/wiki/entities/page.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Page {
[INFO] [stdout]   |            ---- fields in this struct
[INFO] [stdout] 6 |     pub lang: String,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] 7 |     pub title: String,
[INFO] [stdout]   |         ^^^^^
[INFO] [stdout] 8 |     pub wikidata: Option<String>,
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Page` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/wiki/entities/page.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Page {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 13 |     fn new(
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/app/tasks/update_countries.rs:37:17
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 tables::remove_country(lang, &c);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 let _ = tables::remove_country(lang, &c);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/app/tasks/update_countries.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 tables::add_country(lang, &c);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 let _ = tables::add_country(lang, &c);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/app/tasks/update_countries.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 tables::remove_country("no", &c);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 let _ = tables::remove_country("no", &c);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/app/tasks/update_countries.rs:67:17
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 tables::add_country("no", &c);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 let _ = tables::add_country("no", &c);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/app/tasks/update_countries.rs:37:17
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 tables::remove_country(lang, &c);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 let _ = tables::remove_country(lang, &c);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/app/tasks/update_countries.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 tables::add_country(lang, &c);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 let _ = tables::add_country(lang, &c);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/app/tasks/update_countries.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 tables::remove_country("no", &c);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 let _ = tables::remove_country("no", &c);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/app/tasks/update_countries.rs:67:17
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 tables::add_country("no", &c);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 let _ = tables::add_country("no", &c);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 33.49s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: xml5ever v0.16.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "d46c8adbf1c154e75535171db1af8cb5ab07ec52af6b76988dc663ff31491a80", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d46c8adbf1c154e75535171db1af8cb5ab07ec52af6b76988dc663ff31491a80", kill_on_drop: false }`
[INFO] [stdout] d46c8adbf1c154e75535171db1af8cb5ab07ec52af6b76988dc663ff31491a80
