[INFO] cloning repository https://github.com/landrzejewski/rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/landrzejewski/rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flandrzejewski%2Frust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flandrzejewski%2Frust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] dc761d029b9a6436db56dba1c9df0b4eb2ebb576
[INFO] checking landrzejewski/rust against try#7424ce9ff9baac3e9d9f5dd3c85828cddea0134d for pr-136776-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flandrzejewski%2Frust" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/landrzejewski/rust
[INFO] finished tweaking git repo https://github.com/landrzejewski/rust
[INFO] tweaked toml for git repo https://github.com/landrzejewski/rust written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/landrzejewski/rust on toolchain 7424ce9ff9baac3e9d9f5dd3c85828cddea0134d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7424ce9ff9baac3e9d9f5dd3c85828cddea0134d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/landrzejewski/rust 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" "+7424ce9ff9baac3e9d9f5dd3c85828cddea0134d" "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
[ERROR] error running command: no output for 300 seconds
[INFO] checking landrzejewski/rust against try#7424ce9ff9baac3e9d9f5dd3c85828cddea0134d for pr-136776-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flandrzejewski%2Frust" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/landrzejewski/rust
[INFO] finished tweaking git repo https://github.com/landrzejewski/rust
[INFO] tweaked toml for git repo https://github.com/landrzejewski/rust written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/landrzejewski/rust on toolchain 7424ce9ff9baac3e9d9f5dd3c85828cddea0134d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7424ce9ff9baac3e9d9f5dd3c85828cddea0134d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/landrzejewski/rust 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" "+7424ce9ff9baac3e9d9f5dd3c85828cddea0134d" "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 rustversion v1.0.21
[INFO] [stderr]   Downloaded rustc-demangle v0.1.25
[INFO] [stderr]   Downloaded windows-link v0.1.1
[INFO] [stderr]   Downloaded proc-macro2 v1.0.95
[INFO] [stderr]   Downloaded windows-registry v0.5.2
[INFO] [stderr]   Downloaded errno v0.3.12
[INFO] [stderr]   Downloaded csv-core v0.1.12
[INFO] [stderr]   Downloaded bumpalo v3.18.1
[INFO] [stderr]   Downloaded r-efi v5.2.0
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.25
[INFO] [stderr]   Downloaded indexmap v2.9.0
[INFO] [stderr]   Downloaded hashbrown v0.15.4
[INFO] [stderr]   Downloaded tokio-util v0.7.15
[INFO] [stderr]   Downloaded serde_json v1.0.140
[INFO] [stderr]   Downloaded h2 v0.4.10
[INFO] [stderr]   Downloaded hyper v1.6.0
[INFO] [stderr]   Downloaded reqwest v0.12.20
[INFO] [stderr]   Downloaded idna v1.0.3
[INFO] [stderr]   Downloaded zerocopy v0.8.25
[INFO] [stderr]   Downloaded syn v2.0.102
[INFO] [stderr]   Downloaded openssl v0.10.73
[INFO] [stderr]   Downloaded zerovec v0.11.2
[INFO] [stderr]   Downloaded hyper-util v0.1.14
[INFO] [stderr]   Downloaded cc v1.2.26
[INFO] [stderr]   Downloaded rustls v0.23.27
[INFO] [stderr]   Downloaded rustix v1.0.7
[INFO] [stderr]   Downloaded rustls-webpki v0.103.3
[INFO] [stderr]   Downloaded openssl-sys v0.9.109
[INFO] [stderr]   Downloaded security-framework v2.11.1
[INFO] [stderr]   Downloaded tempfile v3.20.0
[INFO] [stderr]   Downloaded url v2.5.4
[INFO] [stderr]   Downloaded libc v0.2.172
[INFO] [stderr]   Downloaded tokio v1.45.1
[INFO] [stderr]   Downloaded csv v1.3.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+7424ce9ff9baac3e9d9f5dd3c85828cddea0134d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] df4b0c23f34e886b162ddfcc0487f8d41f6c95407d8026414731fa59f8eb4fa8
[INFO] running `Command { std: "docker" "start" "-a" "df4b0c23f34e886b162ddfcc0487f8d41f6c95407d8026414731fa59f8eb4fa8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "df4b0c23f34e886b162ddfcc0487f8d41f6c95407d8026414731fa59f8eb4fa8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "df4b0c23f34e886b162ddfcc0487f8d41f6c95407d8026414731fa59f8eb4fa8", kill_on_drop: false }`
[INFO] [stdout] df4b0c23f34e886b162ddfcc0487f8d41f6c95407d8026414731fa59f8eb4fa8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+7424ce9ff9baac3e9d9f5dd3c85828cddea0134d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f48907b67c705290ee00f579821194ffdaf2a865ceefc4766b48aa3a124a0c7a
[INFO] running `Command { std: "docker" "start" "-a" "f48907b67c705290ee00f579821194ffdaf2a865ceefc4766b48aa3a124a0c7a", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]     Checking pin-project-lite v0.2.16
[INFO] [stderr]     Checking bytes v1.10.1
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking itoa v1.0.15
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]    Compiling cc v1.2.26
[INFO] [stderr]     Checking cfg-if v1.0.1
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking writeable v0.6.1
[INFO] [stderr]     Checking http v1.3.1
[INFO] [stderr]     Checking litemap v0.8.0
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]    Compiling syn v2.0.102
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking tracing-core v0.1.34
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]     Checking bitflags v2.9.1
[INFO] [stderr]     Checking equivalent v1.0.2
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking hashbrown v0.15.4
[INFO] [stderr]     Checking foreign-types-shared v0.1.1
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]     Checking foreign-types v0.3.2
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking try-lock v0.2.5
[INFO] [stderr]     Checking atomic-waker v1.1.2
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling zerocopy v0.8.25
[INFO] [stderr]     Checking tower-service v0.3.3
[INFO] [stderr]     Checking memchr v2.7.5
[INFO] [stderr]     Checking want v0.3.1
[INFO] [stderr]     Checking indexmap v2.9.0
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking log v0.4.27
[INFO] [stderr]     Checking openssl-probe v0.1.6
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking tower-layer v0.3.3
[INFO] [stderr]     Checking ryu v1.0.20
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]     Checking ipnet v2.11.0
[INFO] [stderr]     Checking utf8_iter v1.0.4
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking zeroize v1.8.1
[INFO] [stderr]     Checking iri-string v0.7.8
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]     Checking rustls-pki-types v1.12.0
[INFO] [stderr]     Checking csv-core v0.1.12
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking iana-time-zone v0.1.63
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking chrono v0.4.41
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking csv v1.3.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking tokio v1.45.1
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.8.0
[INFO] [stderr]     Checking zerovec v0.11.2
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking potential_utf v0.1.2
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]     Checking icu_properties v2.0.1
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking tokio-util v0.7.15
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking h2 v0.4.10
[INFO] [stderr]     Checking tower-http v0.6.6
[INFO] [stderr]     Checking hyper v1.6.0
[INFO] [stderr]     Checking hyper-util v0.1.14
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.20
[INFO] [stderr]     Checking rust_training v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `rust_training`
[INFO] [stdout]  --> tests/wrappers_test.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rust_training::wrappers::Integer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `rust_training`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `rust_training`, use `cargo add rust_training` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Debug`, `Display`, `Formatter`, `format`, and `write`
[INFO] [stdout]  --> src/exercises/wc.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::{format, write, Debug, Display, Formatter};
[INFO] [stdout]   |                ^^^^^^  ^^^^^  ^^^^^  ^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/exercises/iterators.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/exercises/iterators.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/threads.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust_training` (test "wrappers_test") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused imports: `Debug`, `Display`, `Formatter`, `format`, and `write`
[INFO] [stdout]  --> src/exercises/wc.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::{format, write, Debug, Display, Formatter};
[INFO] [stdout]   |                ^^^^^^  ^^^^^  ^^^^^  ^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/exercises/iterators.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/exercises/iterators.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/threads.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `numbers` is never read
[INFO] [stdout]    --> src/language_basics.rs:340:5
[INFO] [stdout]     |
[INFO] [stdout] 340 |     numbers[0] = -1;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/language_basics.rs:466:17
[INFO] [stdout]     |
[INFO] [stdout] 466 |     for (index, value) in elements.iter().enumerate() {
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/basic_io.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/collections_generics_traits.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collections` is never used
[INFO] [stdout]   --> src/collections_generics_traits.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn collections() {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generics_and_traits` is never used
[INFO] [stdout]   --> src/collections_generics_traits.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn generics_and_traits() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `i32_to_string` is never used
[INFO] [stdout]    --> src/collections_generics_traits.rs:101:4
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn i32_to_string(value: i32) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f64_to_string` is never used
[INFO] [stdout]    --> src/collections_generics_traits.rs:105:4
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn f64_to_string(value: f64) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_string` is never used
[INFO] [stdout]    --> src/collections_generics_traits.rs:110:4
[INFO] [stdout]     |
[INFO] [stdout] 110 | fn to_string<A: Display>(value: A) -> String {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]    --> src/collections_generics_traits.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | struct Point<T> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `show` is never used
[INFO] [stdout]    --> src/collections_generics_traits.rs:130:8
[INFO] [stdout]     |
[INFO] [stdout] 129 | impl<A: Display> Point<A> {
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] 130 |     fn show(&self) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Show` is never used
[INFO] [stdout]    --> src/collections_generics_traits.rs:135:7
[INFO] [stdout]     |
[INFO] [stdout] 135 | trait Show {
[INFO] [stdout]     |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Shape` is never used
[INFO] [stdout]    --> src/collections_generics_traits.rs:166:7
[INFO] [stdout]     |
[INFO] [stdout] 166 | trait Shape {
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rectangle` is never constructed
[INFO] [stdout]    --> src/collections_generics_traits.rs:170:8
[INFO] [stdout]     |
[INFO] [stdout] 170 | struct Rectangle;
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Circle` is never constructed
[INFO] [stdout]    --> src/collections_generics_traits.rs:172:8
[INFO] [stdout]     |
[INFO] [stdout] 172 | struct Circle;
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print_circle_info` is never used
[INFO] [stdout]    --> src/collections_generics_traits.rs:175:8
[INFO] [stdout]     |
[INFO] [stdout] 174 | impl Circle {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] 175 |     fn print_circle_info(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shape_factory` is never used
[INFO] [stdout]    --> src/collections_generics_traits.rs:192:4
[INFO] [stdout]     |
[INFO] [stdout] 192 | fn shape_factory(is_rectangle: bool) -> Box<dyn Shape> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_shape` is never used
[INFO] [stdout]    --> src/collections_generics_traits.rs:200:4
[INFO] [stdout]     |
[INFO] [stdout] 200 | fn draw_shape(shape: &dyn Shape) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generic_ops` is never used
[INFO] [stdout]    --> src/collections_generics_traits.rs:205:4
[INFO] [stdout]     |
[INFO] [stdout] 205 | fn generic_ops<T: Add<Output = T> + Sub<Output = T> + Display>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Coord` is never constructed
[INFO] [stdout]    --> src/collections_generics_traits.rs:216:12
[INFO] [stdout]     |
[INFO] [stdout] 216 | pub struct Coord {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/collections_generics_traits.rs:222:12
[INFO] [stdout]     |
[INFO] [stdout] 221 | impl Coord {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] 222 |     pub fn new(long: f32, lat: f32) -> Coord {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_user` is never used
[INFO] [stdout]    --> src/collections_generics_traits.rs:249:4
[INFO] [stdout]     |
[INFO] [stdout] 249 | fn create_user<T: Repository>(repository: &T) {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Repository` is never used
[INFO] [stdout]    --> src/collections_generics_traits.rs:253:7
[INFO] [stdout]     |
[INFO] [stdout] 253 | trait Repository {
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SqlRepository` is never constructed
[INFO] [stdout]    --> src/collections_generics_traits.rs:257:8
[INFO] [stdout]     |
[INFO] [stdout] 257 | struct SqlRepository;
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InMemoryRepository` is never constructed
[INFO] [stdout]    --> src/collections_generics_traits.rs:265:8
[INFO] [stdout]     |
[INFO] [stdout] 265 | struct InMemoryRepository;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEPOSIT` is never used
[INFO] [stdout]  --> src/exercises/budget.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const DEPOSIT: &str = "DEPOSIT";
[INFO] [stdout]   |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WITHDRAW` is never used
[INFO] [stdout]  --> src/exercises/budget.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const WITHDRAW: &str = "WITHDRAW";
[INFO] [stdout]   |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEPARATOR` is never used
[INFO] [stdout]  --> src/exercises/budget.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const SEPARATOR: &str = ";";
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FIELDS_COUNT` is never used
[INFO] [stdout]   --> src/exercises/budget.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const FIELDS_COUNT: usize = 3;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_NAME` is never used
[INFO] [stdout]   --> src/exercises/budget.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const FILE_NAME: &str = "budget.csv";
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OperationType` is never used
[INFO] [stdout]   --> src/exercises/budget.rs:13:6
[INFO] [stdout]    |
[INFO] [stdout] 13 | enum OperationType {
[INFO] [stdout]    |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Operation` is never constructed
[INFO] [stdout]   --> src/exercises/budget.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct Operation {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_args` is never used
[INFO] [stdout]   --> src/exercises/budget.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn get_args() -> Vec<String> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `display_summary` is never used
[INFO] [stdout]   --> src/exercises/budget.rs:79:4
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn display_summary(operations: &Vec<Operation>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save` is never used
[INFO] [stdout]    --> src/exercises/budget.rs:103:4
[INFO] [stdout]     |
[INFO] [stdout] 103 | fn save(operations: &Vec<Operation>) {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load` is never used
[INFO] [stdout]    --> src/exercises/budget.rs:115:4
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn load() -> Result<Vec<Operation>, String> {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]    --> src/exercises/budget.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn run() {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AGR_PREFIX` is never used
[INFO] [stdout]  --> src/exercises/cat.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const AGR_PREFIX: &str = "-";
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBERING_ARG` is never used
[INFO] [stdout]  --> src/exercises/cat.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const NUMBERING_ARG: &str = "-n";
[INFO] [stdout]   |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBERING_IGNORE_EMPTY_ARG` is never used
[INFO] [stdout]  --> src/exercises/cat.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const NUMBERING_IGNORE_EMPTY_ARG: &str = "-nb";
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Mode` is never used
[INFO] [stdout]   --> src/exercises/cat.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout] 10 | enum Mode {
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show_help` is never used
[INFO] [stdout]   --> src/exercises/cat.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn show_help() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_config` is never used
[INFO] [stdout]   --> src/exercises/cat.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn get_config() -> (Vec<String>, Vec<String>) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cat` is never used
[INFO] [stdout]   --> src/exercises/cat.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn cat(paths: &Vec<String>, mode: &Mode) {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Printer` is never used
[INFO] [stdout]   --> src/exercises/cat.rs:65:6
[INFO] [stdout]    |
[INFO] [stdout] 65 | type Printer = fn(usize, &String);
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]   --> src/exercises/cat.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn print(_line_numer: usize, line: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_with_numbering` is never used
[INFO] [stdout]   --> src/exercises/cat.rs:71:4
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn print_with_numbering(line_numer: usize, line: &String) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_with_numbering_ignoring_empty` is never used
[INFO] [stdout]   --> src/exercises/cat.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn print_with_numbering_ignoring_empty(line_numer: usize, line: &String) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/exercises/cat.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub fn run() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEPARATOR` is never used
[INFO] [stdout]  --> src/exercises/echo.rs:3:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | const SEPARATOR: &str = " ";
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/exercises/echo.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_arg` is never used
[INFO] [stdout]   --> src/exercises/echo.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn print_arg(arg: String) {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fibonacci_recursive` is never used
[INFO] [stdout]  --> src/exercises/fibonacci.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn fibonacci_recursive(n: u32) -> u64 {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fibonacci` is never used
[INFO] [stdout]  --> src/exercises/fibonacci.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn fibonacci(n: u32) -> u64 {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/exercises/fibonacci.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn run() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/exercises/guess_game.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EUR` is never used
[INFO] [stdout]  --> src/exercises/money.rs:1:7
[INFO] [stdout]   |
[INFO] [stdout] 1 | const EUR: &str = "EUR";
[INFO] [stdout]   |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PLN` is never used
[INFO] [stdout]  --> src/exercises/money.rs:2:7
[INFO] [stdout]   |
[INFO] [stdout] 2 | const PLN: &str = "PLN";
[INFO] [stdout]   |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MonetaryAmount` is never constructed
[INFO] [stdout]  --> src/exercises/money.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |  struct MonetaryAmount {
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `add`, `subtract`, `check_currency`, `convert`, and `new` are never used
[INFO] [stdout]   --> src/exercises/money.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl MonetaryAmount {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 11 |     
[INFO] [stdout] 12 |     fn add(&mut self, other: &MonetaryAmount) -> Result<(), String> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn subtract(&mut self, other: &MonetaryAmount) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn check_currency(&self, other: &MonetaryAmount) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     fn convert(amount: &MonetaryAmount, exchange_rate: f64, currency: &String) -> Self {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     fn new(value: f64, currency: &str) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/exercises/money.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn run() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Currency` is never used
[INFO] [stdout]  --> src/exercises/money_with_enums.rs:2:6
[INFO] [stdout]   |
[INFO] [stdout] 2 | enum Currency {
[INFO] [stdout]   |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MonetaryAmount` is never constructed
[INFO] [stdout]  --> src/exercises/money_with_enums.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |  struct MonetaryAmount {
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `add`, `subtract`, `check_currency`, `convert`, and `new` are never used
[INFO] [stdout]   --> src/exercises/money_with_enums.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl MonetaryAmount {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 14 |     
[INFO] [stdout] 15 |     fn add(&mut self, other: &MonetaryAmount) -> Result<(), String> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn subtract(&mut self, other: &MonetaryAmount) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     fn check_currency(&self, other: &MonetaryAmount) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn convert(amount: &MonetaryAmount, exchange_rate: f64, currency: &Currency) -> Self {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     fn new(value: f64, currency: &Currency) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/exercises/money_with_enums.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn run() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOARD_SIZE` is never used
[INFO] [stdout]  --> src/exercises/tic_tac_toe.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const BOARD_SIZE: usize = 3;
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Player` is never used
[INFO] [stdout]  --> src/exercises/tic_tac_toe.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | enum Player {
[INFO] [stdout]   |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Cell` is never used
[INFO] [stdout]   --> src/exercises/tic_tac_toe.rs:23:6
[INFO] [stdout]    |
[INFO] [stdout] 23 | enum Cell {
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TicTacToe` is never constructed
[INFO] [stdout]   --> src/exercises/tic_tac_toe.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct TicTacToe {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/exercises/tic_tac_toe.rs:43:8
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl TicTacToe {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  43 |     fn new() -> TicTacToe {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  50 |     fn toggle_player(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |     fn display(&self) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     fn make_move(&mut self, col: usize, row: usize, player: Player) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     fn is_valid_move(&self, col: usize, row: usize) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     fn is_board_full(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     fn is_winner(&self, player: Player) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_coordinates` is never used
[INFO] [stdout]    --> src/exercises/tic_tac_toe.rs:160:4
[INFO] [stdout]     |
[INFO] [stdout] 160 | fn read_coordinates() -> Option<(usize, usize)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]    --> src/exercises/tic_tac_toe.rs:178:8
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub fn run() {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]  --> src/exercises/tree.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Node {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `append`, and `display` are never used
[INFO] [stdout]   --> src/exercises/tree.rs:7:8
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl Node {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout]  7 |     fn new(value: i32) -> Node {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     fn append(&mut self, value: i32) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn display(&self) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/exercises/tree.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn run() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileStats` is never constructed
[INFO] [stdout]  --> src/exercises/wc.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct FileStats {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_args` is never used
[INFO] [stdout]   --> src/exercises/wc.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn get_args() -> Vec<String> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show_help` is never used
[INFO] [stdout]   --> src/exercises/wc.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn show_help() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wc` is never used
[INFO] [stdout]   --> src/exercises/wc.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn wc(paths: &Vec<String>) {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_file_stats` is never used
[INFO] [stdout]   --> src/exercises/wc.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn get_file_stats(file: &File) -> Result<FileStats, Box<dyn Error>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_file_stats` is never used
[INFO] [stdout]   --> src/exercises/wc.rs:68:4
[INFO] [stdout]    |
[INFO] [stdout] 68 | fn print_file_stats(file_name: &String, stats: &FileStats) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/exercises/wc.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn run() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEPARATOR` is never used
[INFO] [stdout]  --> src/exercises/find.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const SEPARATOR: &str = ",";
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ElementType` is never used
[INFO] [stdout]  --> src/exercises/find.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | enum ElementType {
[INFO] [stdout]   |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show_help` is never used
[INFO] [stdout]   --> src/exercises/find.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn show_help() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_type_of` is never used
[INFO] [stdout]   --> src/exercises/find.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn is_type_of(entry: &DirEntry, element_type: &ElementType) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find` is never used
[INFO] [stdout]   --> src/exercises/find.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn find(regex: &Regex, types: &Vec<ElementType>, paths: &Vec<&String>) -> Vec<String> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/exercises/find.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub fn run() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_progress` is never used
[INFO] [stdout]   --> src/exercises/find.rs:88:4
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn print_progress(stdout: &mut Stdout, step: usize, total_steps: usize) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_args` is never used
[INFO] [stdout]  --> src/exercises/utils.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn get_args() -> Vec<String> {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert` is never used
[INFO] [stdout]  --> src/exercises/utils.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn assert<T>(value: T, predicate: impl Fn(T) -> bool, show_help: impl Fn()) {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `drop` is never used
[INFO] [stdout]   --> src/exercises/utils.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn drop<T>(data: Vec<T>, count: usize) -> Vec<T> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `min_length` is never used
[INFO] [stdout]   --> src/exercises/utils.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn min_length<T>(length: usize) -> impl Fn(&Vec<T>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_not_empty` is never used
[INFO] [stdout]   --> src/exercises/utils.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn is_not_empty<T>(values: &Vec<T>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show_help` is never used
[INFO] [stdout]   --> src/exercises/grep.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn show_help() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_lines_with_text` is never used
[INFO] [stdout]   --> src/exercises/grep.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn get_lines_with_text(text: &String, file_path: &String) -> Vec<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `grep` is never used
[INFO] [stdout]   --> src/exercises/grep.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn grep(text: &String, paths: &Vec<String>) -> HashMap<String, Vec<String>> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/exercises/grep.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn run() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show_help` is never used
[INFO] [stdout]  --> src/exercises/grep_classic.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn show_help() {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_file_paths` is never used
[INFO] [stdout]   --> src/exercises/grep_classic.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn find_file_paths(path: &String) -> Vec<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_matching_lines` is never used
[INFO] [stdout]   --> src/exercises/grep_classic.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn get_matching_lines(text: &String, file_path: &String) -> Vec<(usize, String)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_matching_lines` is never used
[INFO] [stdout]   --> src/exercises/grep_classic.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn print_matching_lines(matching_lines: &Vec<(usize, String)>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `grep` is never used
[INFO] [stdout]   --> src/exercises/grep_classic.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn grep(text: &String, paths: &Vec<String>) {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/exercises/grep_classic.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn run() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATABASE_FILE` is never used
[INFO] [stdout]  --> src/exercises/db.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const DATABASE_FILE: &str = "users.dat";
[INFO] [stdout]   |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMPTY_VALUE` is never used
[INFO] [stdout]  --> src/exercises/db.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const EMPTY_VALUE: char = '\0';
[INFO] [stdout]   |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `i64_to_bytes` is never used
[INFO] [stdout]  --> src/exercises/db.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn i64_to_bytes(value: i64) -> Vec<u8> {
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `i64_from_bytes` is never used
[INFO] [stdout]   --> src/exercises/db.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn i64_from_bytes(bytes: Vec<u8>) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `u8_to_bytes` is never used
[INFO] [stdout]   --> src/exercises/db.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn u8_to_bytes(value: u8) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `u8_from_bytes` is never used
[INFO] [stdout]   --> src/exercises/db.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn u8_from_bytes(bytes: [u8; 1]) -> u8 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bool_to_bytes` is never used
[INFO] [stdout]   --> src/exercises/db.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn bool_to_bytes(value: bool) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bool_from_bytes` is never used
[INFO] [stdout]   --> src/exercises/db.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn bool_from_bytes(bytes: [u8; 1]) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `string_to_bytes` is never used
[INFO] [stdout]   --> src/exercises/db.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn string_to_bytes(value: &String, size: usize) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `string_from_bytes` is never used
[INFO] [stdout]   --> src/exercises/db.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn string_from_bytes(bytes: Vec<u8>) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Serializable` is never used
[INFO] [stdout]   --> src/exercises/db.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 | trait Serializable {
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_record` is never used
[INFO] [stdout]   --> src/exercises/db.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn write_record<T: Serializable>(data: &T) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_record` is never used
[INFO] [stdout]   --> src/exercises/db.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn read_record<T: Serializable>(index: u64) -> T {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `User` is never constructed
[INFO] [stdout]   --> src/exercises/db.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | struct User {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]    --> src/exercises/db.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn run() {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Employee` is never constructed
[INFO] [stdout]  --> src/exercises/iterators.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Employee {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/exercises/iterators.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Employee {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 16 |     fn new(
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_fake_employees` is never used
[INFO] [stdout]   --> src/exercises/iterators.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn create_fake_employees() -> Vec<Employee> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/exercises/iterators.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn run() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorkEntry` is never constructed
[INFO] [stdout]   --> src/exercises/employees.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct WorkEntry {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_csv` is never used
[INFO] [stdout]   --> src/exercises/employees.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn read_csv(path: &str) -> Result<Vec<WorkEntry>, Box<dyn Error>> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `analyze` is never used
[INFO] [stdout]   --> src/exercises/employees.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn analyze(entries: Vec<WorkEntry>) -> HashMap<String, (Duration, usize, Vec<String>)> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_report` is never used
[INFO] [stdout]   --> src/exercises/employees.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn write_report(stats: &HashMap<String, (Duration, usize, Vec<String>)>, path: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/exercises/employees.rs:71:4
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn main() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/language_basics.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `variable_declaration` is never used
[INFO] [stdout]   --> src/language_basics.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn variable_declaration() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MONTH_OF_THE_YEAR` is never used
[INFO] [stdout]   --> src/language_basics.rs:62:7
[INFO] [stdout]    |
[INFO] [stdout] 62 | const MONTH_OF_THE_YEAR: i8 = 4;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `constant_declaration` is never used
[INFO] [stdout]   --> src/language_basics.rs:64:4
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn constant_declaration() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `APP_NAME` is never used
[INFO] [stdout]   --> src/language_basics.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | static APP_NAME: &str = "Training app";
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `GLOBAL_TIMESTAMP` is never used
[INFO] [stdout]   --> src/language_basics.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | static GLOBAL_TIMESTAMP: Lazy<DateTime<Utc>> = Lazy::new(|| {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `static_values` is never used
[INFO] [stdout]   --> src/language_basics.rs:88:4
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn static_values() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `data_types` is never used
[INFO] [stdout]    --> src/language_basics.rs:110:4
[INFO] [stdout]     |
[INFO] [stdout] 110 | fn data_types() {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `control_flow` is never used
[INFO] [stdout]    --> src/language_basics.rs:364:4
[INFO] [stdout]     |
[INFO] [stdout] 364 | fn control_flow() {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `functions` is never used
[INFO] [stdout]    --> src/language_basics.rs:479:4
[INFO] [stdout]     |
[INFO] [stdout] 479 | fn functions() {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add` is never used
[INFO] [stdout]    --> src/language_basics.rs:494:4
[INFO] [stdout]     |
[INFO] [stdout] 494 | fn add(value: i32, other_value: i32) -> i32 {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate` is never used
[INFO] [stdout]    --> src/language_basics.rs:499:4
[INFO] [stdout]     |
[INFO] [stdout] 499 | fn validate<T>(value: T, predicate: fn(T) -> bool) -> bool {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_even` is never used
[INFO] [stdout]    --> src/language_basics.rs:503:4
[INFO] [stdout]     |
[INFO] [stdout] 503 | fn is_even(value: i32) -> bool {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `structs` is never used
[INFO] [stdout]    --> src/language_basics.rs:515:4
[INFO] [stdout]     |
[INFO] [stdout] 515 | fn structs() {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Directory` is never constructed
[INFO] [stdout]    --> src/language_basics.rs:576:8
[INFO] [stdout]     |
[INFO] [stdout] 576 | struct Directory;
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]    --> src/language_basics.rs:579:8
[INFO] [stdout]     |
[INFO] [stdout] 579 | struct Point(i32, i32);
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point3d` is never constructed
[INFO] [stdout]    --> src/language_basics.rs:581:8
[INFO] [stdout]     |
[INFO] [stdout] 581 | struct Point3d {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Account` is never constructed
[INFO] [stdout]    --> src/language_basics.rs:588:8
[INFO] [stdout]     |
[INFO] [stdout] 588 | struct Account {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rectangle` is never constructed
[INFO] [stdout]    --> src/language_basics.rs:595:8
[INFO] [stdout]     |
[INFO] [stdout] 595 | struct Rectangle {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/language_basics.rs:601:11
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Rectangle {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 601 |     const DEFAULT_SIZE: u32 = 100;
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 602 |
[INFO] [stdout] 603 |     fn area(&self) -> u32 {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 608 |     fn resize(&mut self, by: u32) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 613 |     fn is_bigger(&self, other: &Rectangle) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 617 |     fn new(width: u32, height: u32) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 621 |     fn square(size: u32) -> Self {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 630 |     fn square_with_default_size() -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `width` is never used
[INFO] [stdout]    --> src/language_basics.rs:636:8
[INFO] [stdout]     |
[INFO] [stdout] 635 | impl Rectangle {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] 636 |     fn width(&self) -> u32 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `enums` is never used
[INFO] [stdout]    --> src/language_basics.rs:648:4
[INFO] [stdout]     |
[INFO] [stdout] 648 | fn enums() -> Result<(), String> {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_first_char` is never used
[INFO] [stdout]    --> src/language_basics.rs:770:4
[INFO] [stdout]     |
[INFO] [stdout] 770 | fn get_first_char(input: &str) -> Option<char> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Currency` is never used
[INFO] [stdout]    --> src/language_basics.rs:775:6
[INFO] [stdout]     |
[INFO] [stdout] 775 | enum Currency {
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Values` is never used
[INFO] [stdout]    --> src/language_basics.rs:782:6
[INFO] [stdout]     |
[INFO] [stdout] 782 | enum Values {
[INFO] [stdout]     |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Money` is never constructed
[INFO] [stdout]    --> src/language_basics.rs:788:8
[INFO] [stdout]     |
[INFO] [stdout] 788 | struct Money {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Barcode` is never used
[INFO] [stdout]    --> src/language_basics.rs:794:6
[INFO] [stdout]     |
[INFO] [stdout] 794 | enum Barcode {
[INFO] [stdout]     |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_info` is never used
[INFO] [stdout]    --> src/language_basics.rs:802:8
[INFO] [stdout]     |
[INFO] [stdout] 801 | impl Barcode {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] 802 |     fn get_info(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `safe_div` is never used
[INFO] [stdout]    --> src/language_basics.rs:807:4
[INFO] [stdout]     |
[INFO] [stdout] 807 | fn safe_div(value: f64, dividend: f64) -> Option<f64> {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `safe_div_with_result` is never used
[INFO] [stdout]    --> src/language_basics.rs:815:4
[INFO] [stdout]     |
[INFO] [stdout] 815 | fn safe_div_with_result(value: f64, dividend: f64) -> Result<f64, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/memory_management.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `memory_management` is never used
[INFO] [stdout]   --> src/memory_management.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn memory_management() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show` is never used
[INFO] [stdout]    --> src/memory_management.rs:110:4
[INFO] [stdout]     |
[INFO] [stdout] 110 | fn show(text: String) {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show_with_result` is never used
[INFO] [stdout]    --> src/memory_management.rs:114:4
[INFO] [stdout]     |
[INFO] [stdout] 114 | fn show_with_result(text: String) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show_with_ref` is never used
[INFO] [stdout]    --> src/memory_management.rs:119:4
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn show_with_ref(text: &String) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show_with_mut_ref` is never used
[INFO] [stdout]    --> src/memory_management.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn show_with_mut_ref(text: &mut String) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Test` is never constructed
[INFO] [stdout]    --> src/memory_management.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 129 | struct Test {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mutate_test` is never used
[INFO] [stdout]    --> src/memory_management.rs:133:4
[INFO] [stdout]     |
[INFO] [stdout] 133 | fn mutate_test(mut test: Test) {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `defining_many_immutable_references` is never used
[INFO] [stdout]    --> src/memory_management.rs:140:4
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn defining_many_immutable_references() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restrictions_after_defining_mutable_reference` is never used
[INFO] [stdout]    --> src/memory_management.rs:149:4
[INFO] [stdout]     |
[INFO] [stdout] 149 | fn restrictions_after_defining_mutable_reference() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restrictions_after_defining_immutable_reference` is never used
[INFO] [stdout]    --> src/memory_management.rs:163:4
[INFO] [stdout]     |
[INFO] [stdout] 163 | fn restrictions_after_defining_immutable_reference() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lifetimes` is never used
[INFO] [stdout]    --> src/memory_management.rs:178:4
[INFO] [stdout]     |
[INFO] [stdout] 178 | fn lifetimes() {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_longer` is never used
[INFO] [stdout]    --> src/memory_management.rs:225:4
[INFO] [stdout]     |
[INFO] [stdout] 225 | fn get_longer<'a>(text: &'a str, other_text: &'a str) -> &'a str {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Person` is never constructed
[INFO] [stdout]    --> src/memory_management.rs:235:8
[INFO] [stdout]     |
[INFO] [stdout] 235 | struct Person<'a> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_ref` is never used
[INFO] [stdout]    --> src/memory_management.rs:247:4
[INFO] [stdout]     |
[INFO] [stdout] 247 | fn get_ref(aa: &i32) -> &i32 {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_ref2` is never used
[INFO] [stdout]    --> src/memory_management.rs:252:4
[INFO] [stdout]     |
[INFO] [stdout] 252 | fn get_ref2<'a>(aa: &'a i32) -> &'a i32 {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pointers` is never used
[INFO] [stdout]    --> src/memory_management.rs:256:4
[INFO] [stdout]     |
[INFO] [stdout] 256 | fn pointers() {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Employee` is never constructed
[INFO] [stdout]    --> src/memory_management.rs:290:8
[INFO] [stdout]     |
[INFO] [stdout] 290 | struct Employee {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `use_employee` is never used
[INFO] [stdout]    --> src/memory_management.rs:295:4
[INFO] [stdout]     |
[INFO] [stdout] 295 | fn use_employee(rc_emp: &Rc<Employee>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Integer` is never constructed
[INFO] [stdout]  --> src/wrappers.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Integer {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/wrappers.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl Integer {
[INFO] [stdout]   | ------------ associated function in this implementation
[INFO] [stdout] 9 |     pub fn new(value: i32) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/wrappers.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn run() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `barrier` is never used
[INFO] [stdout]   --> src/threads.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn barrier() {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `atomics` is never used
[INFO] [stdout]   --> src/threads.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn atomics() {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rw_lock` is never used
[INFO] [stdout]   --> src/threads.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn rw_lock() {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mutex` is never used
[INFO] [stdout]   --> src/threads.rs:70:4
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn mutex() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `threads` is never used
[INFO] [stdout]   --> src/threads.rs:90:4
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn threads() {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `task` is never used
[INFO] [stdout]    --> src/threads.rs:128:4
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn task(numbers: Arc<Vec<i32>>) -> String {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `task` is never used
[INFO] [stdout]  --> src/async_functions.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | async fn task() -> i32 {
[INFO] [stdout]   |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_time` is never used
[INFO] [stdout]   --> src/async_functions.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | async fn get_time() -> reqwest::Result<Response> {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/async_functions.rs:23:14
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub async fn run() {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]    --> src/integration.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub fn run() {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `my_unsafe_function` is never used
[INFO] [stdout]    --> src/integration.rs:168:11
[INFO] [stdout]     |
[INFO] [stdout] 168 | unsafe fn my_unsafe_function() -> i32 {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `abs` is never used
[INFO] [stdout]  --> src/integration.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 |     fn abs(n: i32) -> i32;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fabs` is never used
[INFO] [stdout]  --> src/integration.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 |     fn fabs(n: f64) -> f64;
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `do_it` is never used
[INFO] [stdout]  --> src/unsafe_code.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn do_it() {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `numbers` is never read
[INFO] [stdout]    --> src/language_basics.rs:340:5
[INFO] [stdout]     |
[INFO] [stdout] 340 |     numbers[0] = -1;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/language_basics.rs:466:17
[INFO] [stdout]     |
[INFO] [stdout] 466 |     for (index, value) in elements.iter().enumerate() {
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/basic_io.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/collections_generics_traits.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collections` is never used
[INFO] [stdout]   --> src/collections_generics_traits.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn collections() {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generics_and_traits` is never used
[INFO] [stdout]   --> src/collections_generics_traits.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn generics_and_traits() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `i32_to_string` is never used
[INFO] [stdout]    --> src/collections_generics_traits.rs:101:4
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn i32_to_string(value: i32) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f64_to_string` is never used
[INFO] [stdout]    --> src/collections_generics_traits.rs:105:4
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn f64_to_string(value: f64) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_string` is never used
[INFO] [stdout]    --> src/collections_generics_traits.rs:110:4
[INFO] [stdout]     |
[INFO] [stdout] 110 | fn to_string<A: Display>(value: A) -> String {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]    --> src/collections_generics_traits.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | struct Point<T> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `show` is never used
[INFO] [stdout]    --> src/collections_generics_traits.rs:130:8
[INFO] [stdout]     |
[INFO] [stdout] 129 | impl<A: Display> Point<A> {
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] 130 |     fn show(&self) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Show` is never used
[INFO] [stdout]    --> src/collections_generics_traits.rs:135:7
[INFO] [stdout]     |
[INFO] [stdout] 135 | trait Show {
[INFO] [stdout]     |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Shape` is never used
[INFO] [stdout]    --> src/collections_generics_traits.rs:166:7
[INFO] [stdout]     |
[INFO] [stdout] 166 | trait Shape {
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rectangle` is never constructed
[INFO] [stdout]    --> src/collections_generics_traits.rs:170:8
[INFO] [stdout]     |
[INFO] [stdout] 170 | struct Rectangle;
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Circle` is never constructed
[INFO] [stdout]    --> src/collections_generics_traits.rs:172:8
[INFO] [stdout]     |
[INFO] [stdout] 172 | struct Circle;
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print_circle_info` is never used
[INFO] [stdout]    --> src/collections_generics_traits.rs:175:8
[INFO] [stdout]     |
[INFO] [stdout] 174 | impl Circle {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] 175 |     fn print_circle_info(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shape_factory` is never used
[INFO] [stdout]    --> src/collections_generics_traits.rs:192:4
[INFO] [stdout]     |
[INFO] [stdout] 192 | fn shape_factory(is_rectangle: bool) -> Box<dyn Shape> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_shape` is never used
[INFO] [stdout]    --> src/collections_generics_traits.rs:200:4
[INFO] [stdout]     |
[INFO] [stdout] 200 | fn draw_shape(shape: &dyn Shape) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generic_ops` is never used
[INFO] [stdout]    --> src/collections_generics_traits.rs:205:4
[INFO] [stdout]     |
[INFO] [stdout] 205 | fn generic_ops<T: Add<Output = T> + Sub<Output = T> + Display>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Coord` is never constructed
[INFO] [stdout]    --> src/collections_generics_traits.rs:216:12
[INFO] [stdout]     |
[INFO] [stdout] 216 | pub struct Coord {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/collections_generics_traits.rs:222:12
[INFO] [stdout]     |
[INFO] [stdout] 221 | impl Coord {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] 222 |     pub fn new(long: f32, lat: f32) -> Coord {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_user` is never used
[INFO] [stdout]    --> src/collections_generics_traits.rs:249:4
[INFO] [stdout]     |
[INFO] [stdout] 249 | fn create_user<T: Repository>(repository: &T) {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Repository` is never used
[INFO] [stdout]    --> src/collections_generics_traits.rs:253:7
[INFO] [stdout]     |
[INFO] [stdout] 253 | trait Repository {
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SqlRepository` is never constructed
[INFO] [stdout]    --> src/collections_generics_traits.rs:257:8
[INFO] [stdout]     |
[INFO] [stdout] 257 | struct SqlRepository;
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InMemoryRepository` is never constructed
[INFO] [stdout]    --> src/collections_generics_traits.rs:265:8
[INFO] [stdout]     |
[INFO] [stdout] 265 | struct InMemoryRepository;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEPOSIT` is never used
[INFO] [stdout]  --> src/exercises/budget.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const DEPOSIT: &str = "DEPOSIT";
[INFO] [stdout]   |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WITHDRAW` is never used
[INFO] [stdout]  --> src/exercises/budget.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const WITHDRAW: &str = "WITHDRAW";
[INFO] [stdout]   |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEPARATOR` is never used
[INFO] [stdout]  --> src/exercises/budget.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const SEPARATOR: &str = ";";
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FIELDS_COUNT` is never used
[INFO] [stdout]   --> src/exercises/budget.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const FIELDS_COUNT: usize = 3;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_NAME` is never used
[INFO] [stdout]   --> src/exercises/budget.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const FILE_NAME: &str = "budget.csv";
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OperationType` is never used
[INFO] [stdout]   --> src/exercises/budget.rs:13:6
[INFO] [stdout]    |
[INFO] [stdout] 13 | enum OperationType {
[INFO] [stdout]    |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Operation` is never constructed
[INFO] [stdout]   --> src/exercises/budget.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct Operation {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_args` is never used
[INFO] [stdout]   --> src/exercises/budget.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn get_args() -> Vec<String> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `display_summary` is never used
[INFO] [stdout]   --> src/exercises/budget.rs:79:4
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn display_summary(operations: &Vec<Operation>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save` is never used
[INFO] [stdout]    --> src/exercises/budget.rs:103:4
[INFO] [stdout]     |
[INFO] [stdout] 103 | fn save(operations: &Vec<Operation>) {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load` is never used
[INFO] [stdout]    --> src/exercises/budget.rs:115:4
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn load() -> Result<Vec<Operation>, String> {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]    --> src/exercises/budget.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn run() {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AGR_PREFIX` is never used
[INFO] [stdout]  --> src/exercises/cat.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const AGR_PREFIX: &str = "-";
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBERING_ARG` is never used
[INFO] [stdout]  --> src/exercises/cat.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const NUMBERING_ARG: &str = "-n";
[INFO] [stdout]   |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBERING_IGNORE_EMPTY_ARG` is never used
[INFO] [stdout]  --> src/exercises/cat.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const NUMBERING_IGNORE_EMPTY_ARG: &str = "-nb";
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Mode` is never used
[INFO] [stdout]   --> src/exercises/cat.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout] 10 | enum Mode {
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show_help` is never used
[INFO] [stdout]   --> src/exercises/cat.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn show_help() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_config` is never used
[INFO] [stdout]   --> src/exercises/cat.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn get_config() -> (Vec<String>, Vec<String>) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cat` is never used
[INFO] [stdout]   --> src/exercises/cat.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn cat(paths: &Vec<String>, mode: &Mode) {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Printer` is never used
[INFO] [stdout]   --> src/exercises/cat.rs:65:6
[INFO] [stdout]    |
[INFO] [stdout] 65 | type Printer = fn(usize, &String);
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]   --> src/exercises/cat.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn print(_line_numer: usize, line: &String) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_with_numbering` is never used
[INFO] [stdout]   --> src/exercises/cat.rs:71:4
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn print_with_numbering(line_numer: usize, line: &String) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_with_numbering_ignoring_empty` is never used
[INFO] [stdout]   --> src/exercises/cat.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn print_with_numbering_ignoring_empty(line_numer: usize, line: &String) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/exercises/cat.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub fn run() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEPARATOR` is never used
[INFO] [stdout]  --> src/exercises/echo.rs:3:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | const SEPARATOR: &str = " ";
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/exercises/echo.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_arg` is never used
[INFO] [stdout]   --> src/exercises/echo.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn print_arg(arg: String) {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fibonacci_recursive` is never used
[INFO] [stdout]  --> src/exercises/fibonacci.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn fibonacci_recursive(n: u32) -> u64 {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fibonacci` is never used
[INFO] [stdout]  --> src/exercises/fibonacci.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn fibonacci(n: u32) -> u64 {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/exercises/fibonacci.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn run() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/exercises/guess_game.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EUR` is never used
[INFO] [stdout]  --> src/exercises/money.rs:1:7
[INFO] [stdout]   |
[INFO] [stdout] 1 | const EUR: &str = "EUR";
[INFO] [stdout]   |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PLN` is never used
[INFO] [stdout]  --> src/exercises/money.rs:2:7
[INFO] [stdout]   |
[INFO] [stdout] 2 | const PLN: &str = "PLN";
[INFO] [stdout]   |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MonetaryAmount` is never constructed
[INFO] [stdout]  --> src/exercises/money.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |  struct MonetaryAmount {
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `add`, `subtract`, `check_currency`, `convert`, and `new` are never used
[INFO] [stdout]   --> src/exercises/money.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl MonetaryAmount {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 11 |     
[INFO] [stdout] 12 |     fn add(&mut self, other: &MonetaryAmount) -> Result<(), String> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn subtract(&mut self, other: &MonetaryAmount) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn check_currency(&self, other: &MonetaryAmount) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     fn convert(amount: &MonetaryAmount, exchange_rate: f64, currency: &String) -> Self {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     fn new(value: f64, currency: &str) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/exercises/money.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn run() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Currency` is never used
[INFO] [stdout]  --> src/exercises/money_with_enums.rs:2:6
[INFO] [stdout]   |
[INFO] [stdout] 2 | enum Currency {
[INFO] [stdout]   |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MonetaryAmount` is never constructed
[INFO] [stdout]  --> src/exercises/money_with_enums.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |  struct MonetaryAmount {
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `add`, `subtract`, `check_currency`, `convert`, and `new` are never used
[INFO] [stdout]   --> src/exercises/money_with_enums.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl MonetaryAmount {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 14 |     
[INFO] [stdout] 15 |     fn add(&mut self, other: &MonetaryAmount) -> Result<(), String> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn subtract(&mut self, other: &MonetaryAmount) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     fn check_currency(&self, other: &MonetaryAmount) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn convert(amount: &MonetaryAmount, exchange_rate: f64, currency: &Currency) -> Self {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     fn new(value: f64, currency: &Currency) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/exercises/money_with_enums.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn run() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOARD_SIZE` is never used
[INFO] [stdout]  --> src/exercises/tic_tac_toe.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const BOARD_SIZE: usize = 3;
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Player` is never used
[INFO] [stdout]  --> src/exercises/tic_tac_toe.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | enum Player {
[INFO] [stdout]   |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Cell` is never used
[INFO] [stdout]   --> src/exercises/tic_tac_toe.rs:23:6
[INFO] [stdout]    |
[INFO] [stdout] 23 | enum Cell {
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TicTacToe` is never constructed
[INFO] [stdout]   --> src/exercises/tic_tac_toe.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct TicTacToe {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/exercises/tic_tac_toe.rs:43:8
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl TicTacToe {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  43 |     fn new() -> TicTacToe {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  50 |     fn toggle_player(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |     fn display(&self) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     fn make_move(&mut self, col: usize, row: usize, player: Player) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     fn is_valid_move(&self, col: usize, row: usize) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     fn is_board_full(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     fn is_winner(&self, player: Player) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_coordinates` is never used
[INFO] [stdout]    --> src/exercises/tic_tac_toe.rs:160:4
[INFO] [stdout]     |
[INFO] [stdout] 160 | fn read_coordinates() -> Option<(usize, usize)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]    --> src/exercises/tic_tac_toe.rs:178:8
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub fn run() {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]  --> src/exercises/tree.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Node {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `append`, and `display` are never used
[INFO] [stdout]   --> src/exercises/tree.rs:7:8
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl Node {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout]  7 |     fn new(value: i32) -> Node {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     fn append(&mut self, value: i32) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn display(&self) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/exercises/tree.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn run() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileStats` is never constructed
[INFO] [stdout]  --> src/exercises/wc.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct FileStats {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_args` is never used
[INFO] [stdout]   --> src/exercises/wc.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn get_args() -> Vec<String> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show_help` is never used
[INFO] [stdout]   --> src/exercises/wc.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn show_help() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wc` is never used
[INFO] [stdout]   --> src/exercises/wc.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn wc(paths: &Vec<String>) {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_file_stats` is never used
[INFO] [stdout]   --> src/exercises/wc.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn get_file_stats(file: &File) -> Result<FileStats, Box<dyn Error>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_file_stats` is never used
[INFO] [stdout]   --> src/exercises/wc.rs:68:4
[INFO] [stdout]    |
[INFO] [stdout] 68 | fn print_file_stats(file_name: &String, stats: &FileStats) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/exercises/wc.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn run() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEPARATOR` is never used
[INFO] [stdout]  --> src/exercises/find.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const SEPARATOR: &str = ",";
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ElementType` is never used
[INFO] [stdout]  --> src/exercises/find.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | enum ElementType {
[INFO] [stdout]   |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show_help` is never used
[INFO] [stdout]   --> src/exercises/find.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn show_help() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_type_of` is never used
[INFO] [stdout]   --> src/exercises/find.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn is_type_of(entry: &DirEntry, element_type: &ElementType) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find` is never used
[INFO] [stdout]   --> src/exercises/find.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn find(regex: &Regex, types: &Vec<ElementType>, paths: &Vec<&String>) -> Vec<String> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/exercises/find.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub fn run() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_progress` is never used
[INFO] [stdout]   --> src/exercises/find.rs:88:4
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn print_progress(stdout: &mut Stdout, step: usize, total_steps: usize) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_args` is never used
[INFO] [stdout]  --> src/exercises/utils.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn get_args() -> Vec<String> {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert` is never used
[INFO] [stdout]  --> src/exercises/utils.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn assert<T>(value: T, predicate: impl Fn(T) -> bool, show_help: impl Fn()) {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `drop` is never used
[INFO] [stdout]   --> src/exercises/utils.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn drop<T>(data: Vec<T>, count: usize) -> Vec<T> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `min_length` is never used
[INFO] [stdout]   --> src/exercises/utils.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn min_length<T>(length: usize) -> impl Fn(&Vec<T>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_not_empty` is never used
[INFO] [stdout]   --> src/exercises/utils.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn is_not_empty<T>(values: &Vec<T>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show_help` is never used
[INFO] [stdout]   --> src/exercises/grep.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn show_help() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_lines_with_text` is never used
[INFO] [stdout]   --> src/exercises/grep.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn get_lines_with_text(text: &String, file_path: &String) -> Vec<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `grep` is never used
[INFO] [stdout]   --> src/exercises/grep.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn grep(text: &String, paths: &Vec<String>) -> HashMap<String, Vec<String>> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/exercises/grep.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn run() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show_help` is never used
[INFO] [stdout]  --> src/exercises/grep_classic.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn show_help() {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_file_paths` is never used
[INFO] [stdout]   --> src/exercises/grep_classic.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn find_file_paths(path: &String) -> Vec<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_matching_lines` is never used
[INFO] [stdout]   --> src/exercises/grep_classic.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn get_matching_lines(text: &String, file_path: &String) -> Vec<(usize, String)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_matching_lines` is never used
[INFO] [stdout]   --> src/exercises/grep_classic.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn print_matching_lines(matching_lines: &Vec<(usize, String)>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `grep` is never used
[INFO] [stdout]   --> src/exercises/grep_classic.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn grep(text: &String, paths: &Vec<String>) {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/exercises/grep_classic.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn run() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATABASE_FILE` is never used
[INFO] [stdout]  --> src/exercises/db.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const DATABASE_FILE: &str = "users.dat";
[INFO] [stdout]   |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMPTY_VALUE` is never used
[INFO] [stdout]  --> src/exercises/db.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const EMPTY_VALUE: char = '\0';
[INFO] [stdout]   |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `i64_to_bytes` is never used
[INFO] [stdout]  --> src/exercises/db.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn i64_to_bytes(value: i64) -> Vec<u8> {
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `i64_from_bytes` is never used
[INFO] [stdout]   --> src/exercises/db.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn i64_from_bytes(bytes: Vec<u8>) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `u8_to_bytes` is never used
[INFO] [stdout]   --> src/exercises/db.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn u8_to_bytes(value: u8) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `u8_from_bytes` is never used
[INFO] [stdout]   --> src/exercises/db.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn u8_from_bytes(bytes: [u8; 1]) -> u8 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bool_to_bytes` is never used
[INFO] [stdout]   --> src/exercises/db.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn bool_to_bytes(value: bool) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bool_from_bytes` is never used
[INFO] [stdout]   --> src/exercises/db.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn bool_from_bytes(bytes: [u8; 1]) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `string_to_bytes` is never used
[INFO] [stdout]   --> src/exercises/db.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn string_to_bytes(value: &String, size: usize) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `string_from_bytes` is never used
[INFO] [stdout]   --> src/exercises/db.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn string_from_bytes(bytes: Vec<u8>) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Serializable` is never used
[INFO] [stdout]   --> src/exercises/db.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 | trait Serializable {
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_record` is never used
[INFO] [stdout]   --> src/exercises/db.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn write_record<T: Serializable>(data: &T) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_record` is never used
[INFO] [stdout]   --> src/exercises/db.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn read_record<T: Serializable>(index: u64) -> T {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `User` is never constructed
[INFO] [stdout]   --> src/exercises/db.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | struct User {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]    --> src/exercises/db.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn run() {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Employee` is never constructed
[INFO] [stdout]  --> src/exercises/iterators.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Employee {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/exercises/iterators.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Employee {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 16 |     fn new(
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_fake_employees` is never used
[INFO] [stdout]   --> src/exercises/iterators.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn create_fake_employees() -> Vec<Employee> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/exercises/iterators.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn run() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorkEntry` is never constructed
[INFO] [stdout]   --> src/exercises/employees.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct WorkEntry {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_csv` is never used
[INFO] [stdout]   --> src/exercises/employees.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn read_csv(path: &str) -> Result<Vec<WorkEntry>, Box<dyn Error>> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `analyze` is never used
[INFO] [stdout]   --> src/exercises/employees.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn analyze(entries: Vec<WorkEntry>) -> HashMap<String, (Duration, usize, Vec<String>)> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_report` is never used
[INFO] [stdout]   --> src/exercises/employees.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn write_report(stats: &HashMap<String, (Duration, usize, Vec<String>)>, path: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/exercises/employees.rs:71:4
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn main() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/language_basics.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `variable_declaration` is never used
[INFO] [stdout]   --> src/language_basics.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn variable_declaration() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MONTH_OF_THE_YEAR` is never used
[INFO] [stdout]   --> src/language_basics.rs:62:7
[INFO] [stdout]    |
[INFO] [stdout] 62 | const MONTH_OF_THE_YEAR: i8 = 4;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `constant_declaration` is never used
[INFO] [stdout]   --> src/language_basics.rs:64:4
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn constant_declaration() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `APP_NAME` is never used
[INFO] [stdout]   --> src/language_basics.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | static APP_NAME: &str = "Training app";
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `GLOBAL_TIMESTAMP` is never used
[INFO] [stdout]   --> src/language_basics.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | static GLOBAL_TIMESTAMP: Lazy<DateTime<Utc>> = Lazy::new(|| {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `static_values` is never used
[INFO] [stdout]   --> src/language_basics.rs:88:4
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn static_values() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `data_types` is never used
[INFO] [stdout]    --> src/language_basics.rs:110:4
[INFO] [stdout]     |
[INFO] [stdout] 110 | fn data_types() {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `control_flow` is never used
[INFO] [stdout]    --> src/language_basics.rs:364:4
[INFO] [stdout]     |
[INFO] [stdout] 364 | fn control_flow() {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `functions` is never used
[INFO] [stdout]    --> src/language_basics.rs:479:4
[INFO] [stdout]     |
[INFO] [stdout] 479 | fn functions() {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add` is never used
[INFO] [stdout]    --> src/language_basics.rs:494:4
[INFO] [stdout]     |
[INFO] [stdout] 494 | fn add(value: i32, other_value: i32) -> i32 {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate` is never used
[INFO] [stdout]    --> src/language_basics.rs:499:4
[INFO] [stdout]     |
[INFO] [stdout] 499 | fn validate<T>(value: T, predicate: fn(T) -> bool) -> bool {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_even` is never used
[INFO] [stdout]    --> src/language_basics.rs:503:4
[INFO] [stdout]     |
[INFO] [stdout] 503 | fn is_even(value: i32) -> bool {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `structs` is never used
[INFO] [stdout]    --> src/language_basics.rs:515:4
[INFO] [stdout]     |
[INFO] [stdout] 515 | fn structs() {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Directory` is never constructed
[INFO] [stdout]    --> src/language_basics.rs:576:8
[INFO] [stdout]     |
[INFO] [stdout] 576 | struct Directory;
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]    --> src/language_basics.rs:579:8
[INFO] [stdout]     |
[INFO] [stdout] 579 | struct Point(i32, i32);
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point3d` is never constructed
[INFO] [stdout]    --> src/language_basics.rs:581:8
[INFO] [stdout]     |
[INFO] [stdout] 581 | struct Point3d {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Account` is never constructed
[INFO] [stdout]    --> src/language_basics.rs:588:8
[INFO] [stdout]     |
[INFO] [stdout] 588 | struct Account {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rectangle` is never constructed
[INFO] [stdout]    --> src/language_basics.rs:595:8
[INFO] [stdout]     |
[INFO] [stdout] 595 | struct Rectangle {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/language_basics.rs:601:11
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Rectangle {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 601 |     const DEFAULT_SIZE: u32 = 100;
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 602 |
[INFO] [stdout] 603 |     fn area(&self) -> u32 {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 608 |     fn resize(&mut self, by: u32) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 613 |     fn is_bigger(&self, other: &Rectangle) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 617 |     fn new(width: u32, height: u32) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 621 |     fn square(size: u32) -> Self {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 630 |     fn square_with_default_size() -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `width` is never used
[INFO] [stdout]    --> src/language_basics.rs:636:8
[INFO] [stdout]     |
[INFO] [stdout] 635 | impl Rectangle {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] 636 |     fn width(&self) -> u32 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `enums` is never used
[INFO] [stdout]    --> src/language_basics.rs:648:4
[INFO] [stdout]     |
[INFO] [stdout] 648 | fn enums() -> Result<(), String> {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_first_char` is never used
[INFO] [stdout]    --> src/language_basics.rs:770:4
[INFO] [stdout]     |
[INFO] [stdout] 770 | fn get_first_char(input: &str) -> Option<char> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Currency` is never used
[INFO] [stdout]    --> src/language_basics.rs:775:6
[INFO] [stdout]     |
[INFO] [stdout] 775 | enum Currency {
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Values` is never used
[INFO] [stdout]    --> src/language_basics.rs:782:6
[INFO] [stdout]     |
[INFO] [stdout] 782 | enum Values {
[INFO] [stdout]     |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Money` is never constructed
[INFO] [stdout]    --> src/language_basics.rs:788:8
[INFO] [stdout]     |
[INFO] [stdout] 788 | struct Money {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Barcode` is never used
[INFO] [stdout]    --> src/language_basics.rs:794:6
[INFO] [stdout]     |
[INFO] [stdout] 794 | enum Barcode {
[INFO] [stdout]     |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_info` is never used
[INFO] [stdout]    --> src/language_basics.rs:802:8
[INFO] [stdout]     |
[INFO] [stdout] 801 | impl Barcode {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] 802 |     fn get_info(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `safe_div` is never used
[INFO] [stdout]    --> src/language_basics.rs:807:4
[INFO] [stdout]     |
[INFO] [stdout] 807 | fn safe_div(value: f64, dividend: f64) -> Option<f64> {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `safe_div_with_result` is never used
[INFO] [stdout]    --> src/language_basics.rs:815:4
[INFO] [stdout]     |
[INFO] [stdout] 815 | fn safe_div_with_result(value: f64, dividend: f64) -> Result<f64, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/memory_management.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `memory_management` is never used
[INFO] [stdout]   --> src/memory_management.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn memory_management() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show` is never used
[INFO] [stdout]    --> src/memory_management.rs:110:4
[INFO] [stdout]     |
[INFO] [stdout] 110 | fn show(text: String) {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show_with_result` is never used
[INFO] [stdout]    --> src/memory_management.rs:114:4
[INFO] [stdout]     |
[INFO] [stdout] 114 | fn show_with_result(text: String) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show_with_ref` is never used
[INFO] [stdout]    --> src/memory_management.rs:119:4
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn show_with_ref(text: &String) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show_with_mut_ref` is never used
[INFO] [stdout]    --> src/memory_management.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn show_with_mut_ref(text: &mut String) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Test` is never constructed
[INFO] [stdout]    --> src/memory_management.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 129 | struct Test {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mutate_test` is never used
[INFO] [stdout]    --> src/memory_management.rs:133:4
[INFO] [stdout]     |
[INFO] [stdout] 133 | fn mutate_test(mut test: Test) {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `defining_many_immutable_references` is never used
[INFO] [stdout]    --> src/memory_management.rs:140:4
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn defining_many_immutable_references() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restrictions_after_defining_mutable_reference` is never used
[INFO] [stdout]    --> src/memory_management.rs:149:4
[INFO] [stdout]     |
[INFO] [stdout] 149 | fn restrictions_after_defining_mutable_reference() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restrictions_after_defining_immutable_reference` is never used
[INFO] [stdout]    --> src/memory_management.rs:163:4
[INFO] [stdout]     |
[INFO] [stdout] 163 | fn restrictions_after_defining_immutable_reference() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lifetimes` is never used
[INFO] [stdout]    --> src/memory_management.rs:178:4
[INFO] [stdout]     |
[INFO] [stdout] 178 | fn lifetimes() {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_longer` is never used
[INFO] [stdout]    --> src/memory_management.rs:225:4
[INFO] [stdout]     |
[INFO] [stdout] 225 | fn get_longer<'a>(text: &'a str, other_text: &'a str) -> &'a str {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Person` is never constructed
[INFO] [stdout]    --> src/memory_management.rs:235:8
[INFO] [stdout]     |
[INFO] [stdout] 235 | struct Person<'a> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_ref` is never used
[INFO] [stdout]    --> src/memory_management.rs:247:4
[INFO] [stdout]     |
[INFO] [stdout] 247 | fn get_ref(aa: &i32) -> &i32 {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_ref2` is never used
[INFO] [stdout]    --> src/memory_management.rs:252:4
[INFO] [stdout]     |
[INFO] [stdout] 252 | fn get_ref2<'a>(aa: &'a i32) -> &'a i32 {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pointers` is never used
[INFO] [stdout]    --> src/memory_management.rs:256:4
[INFO] [stdout]     |
[INFO] [stdout] 256 | fn pointers() {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Employee` is never constructed
[INFO] [stdout]    --> src/memory_management.rs:290:8
[INFO] [stdout]     |
[INFO] [stdout] 290 | struct Employee {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `use_employee` is never used
[INFO] [stdout]    --> src/memory_management.rs:295:4
[INFO] [stdout]     |
[INFO] [stdout] 295 | fn use_employee(rc_emp: &Rc<Employee>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Integer` is never constructed
[INFO] [stdout]  --> src/wrappers.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Integer {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/wrappers.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl Integer {
[INFO] [stdout]   | ------------ associated function in this implementation
[INFO] [stdout] 9 |     pub fn new(value: i32) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/wrappers.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn run() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `barrier` is never used
[INFO] [stdout]   --> src/threads.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn barrier() {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `atomics` is never used
[INFO] [stdout]   --> src/threads.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn atomics() {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rw_lock` is never used
[INFO] [stdout]   --> src/threads.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn rw_lock() {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mutex` is never used
[INFO] [stdout]   --> src/threads.rs:70:4
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn mutex() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `threads` is never used
[INFO] [stdout]   --> src/threads.rs:90:4
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn threads() {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `task` is never used
[INFO] [stdout]    --> src/threads.rs:128:4
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn task(numbers: Arc<Vec<i32>>) -> String {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `task` is never used
[INFO] [stdout]  --> src/async_functions.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | async fn task() -> i32 {
[INFO] [stdout]   |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_time` is never used
[INFO] [stdout]   --> src/async_functions.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | async fn get_time() -> reqwest::Result<Response> {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/async_functions.rs:23:14
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub async fn run() {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]    --> src/integration.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub fn run() {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `my_unsafe_function` is never used
[INFO] [stdout]    --> src/integration.rs:168:11
[INFO] [stdout]     |
[INFO] [stdout] 168 | unsafe fn my_unsafe_function() -> i32 {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `abs` is never used
[INFO] [stdout]  --> src/integration.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 |     fn abs(n: i32) -> i32;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fabs` is never used
[INFO] [stdout]  --> src/integration.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 |     fn fabs(n: f64) -> f64;
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `do_it` is never used
[INFO] [stdout]  --> src/unsafe_code.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn do_it() {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "f48907b67c705290ee00f579821194ffdaf2a865ceefc4766b48aa3a124a0c7a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f48907b67c705290ee00f579821194ffdaf2a865ceefc4766b48aa3a124a0c7a", kill_on_drop: false }`
[INFO] [stdout] f48907b67c705290ee00f579821194ffdaf2a865ceefc4766b48aa3a124a0c7a
