[INFO] cloning repository https://github.com/fabiandarga/rtrack
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/fabiandarga/rtrack" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffabiandarga%2Frtrack", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffabiandarga%2Frtrack'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 577caab89e45564fa4e61407f92a9d2bb76ccea8
[INFO] checking fabiandarga/rtrack against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffabiandarga%2Frtrack" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/fabiandarga/rtrack
[INFO] finished tweaking git repo https://github.com/fabiandarga/rtrack
[INFO] tweaked toml for git repo https://github.com/fabiandarga/rtrack written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/fabiandarga/rtrack on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/fabiandarga/rtrack 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tantivy-query-grammar v0.15.0
[INFO] [stderr]   Downloaded tantivy-bitpacker v0.1.1
[INFO] [stderr]   Downloaded tantivy-common v0.1.0
[INFO] [stderr]   Downloaded crossbeam-queue v0.3.2
[INFO] [stderr]   Downloaded census v0.4.0
[INFO] [stderr]   Downloaded lru v0.6.6
[INFO] [stderr]   Downloaded measure_time v0.7.0
[INFO] [stderr]   Downloaded ownedbytes v0.1.0
[INFO] [stderr]   Downloaded fastdivide v0.3.0
[INFO] [stderr]   Downloaded tantivy-query-grammar v0.14.0
[INFO] [stderr]   Downloaded fail v0.4.0
[INFO] [stderr]   Downloaded fastfield_codecs v0.1.0
[INFO] [stderr]   Downloaded murmurhash32 v0.2.0
[INFO] [stderr]   Downloaded levenshtein_automata v0.2.1
[INFO] [stderr]   Downloaded twox-hash v1.6.1
[INFO] [stderr]   Downloaded snap v1.0.5
[INFO] [stderr]   Downloaded pallet v0.7.0
[INFO] [stderr]   Downloaded bitpacking v0.8.4
[INFO] [stderr]   Downloaded htmlescape v0.3.1
[INFO] [stderr]   Downloaded crossbeam-channel v0.5.1
[INFO] [stderr]   Downloaded serde_json v1.0.70
[INFO] [stderr]   Downloaded combine v4.6.2
[INFO] [stderr]   Downloaded regex-syntax v0.4.2
[INFO] [stderr]   Downloaded tui v0.19.0
[INFO] [stderr]   Downloaded lz4_flex v0.8.2
[INFO] [stderr]   Downloaded tantivy v0.16.1
[INFO] [stderr]   Downloaded tantivy v0.14.0
[INFO] [stderr]   Downloaded pallet-macros v0.4.0
[INFO] [stderr]   Downloaded tantivy-fst v0.3.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 764aeba37518ede195deb51e9459e4e089b5a826948e3ae52f32f85421c33fd2
[INFO] running `Command { std: "docker" "start" "-a" "764aeba37518ede195deb51e9459e4e089b5a826948e3ae52f32f85421c33fd2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "764aeba37518ede195deb51e9459e4e089b5a826948e3ae52f32f85421c33fd2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "764aeba37518ede195deb51e9459e4e089b5a826948e3ae52f32f85421c33fd2", kill_on_drop: false }`
[INFO] [stdout] 764aeba37518ede195deb51e9459e4e089b5a826948e3ae52f32f85421c33fd2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 472a6d52bc1f42bedd6baa21da0c32fcd0ca32723f1321de141f18f2c704700c
[INFO] running `Command { std: "docker" "start" "-a" "472a6d52bc1f42bedd6baa21da0c32fcd0ca32723f1321de141f18f2c704700c", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.147
[INFO] [stderr]    Compiling proc-macro2 v1.0.32
[INFO] [stderr]    Compiling syn v1.0.81
[INFO] [stderr]    Compiling crossbeam-utils v0.8.5
[INFO] [stderr]    Compiling serde_derive v1.0.130
[INFO] [stderr]     Checking smallvec v1.7.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.5
[INFO] [stderr]    Compiling futures-core v0.3.17
[INFO] [stderr]    Compiling serde v1.0.130
[INFO] [stderr]    Compiling proc-macro-hack v0.5.19
[INFO] [stderr]    Compiling memoffset v0.6.4
[INFO] [stderr]     Checking ppv-lite86 v0.2.15
[INFO] [stderr]    Compiling futures-macro v0.3.17
[INFO] [stderr]    Compiling lock_api v0.4.10
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]    Compiling futures-channel v0.3.17
[INFO] [stderr]    Compiling proc-macro-nested v0.1.7
[INFO] [stderr]    Compiling futures-task v0.3.17
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling futures-util v0.3.17
[INFO] [stderr]     Checking futures-sink v0.3.17
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling crc32fast v1.2.1
[INFO] [stderr]    Compiling crossbeam-queue v0.3.2
[INFO] [stderr]     Checking futures-io v0.3.17
[INFO] [stderr]    Compiling ahash v0.7.6
[INFO] [stderr]     Checking slab v0.4.5
[INFO] [stderr]     Checking pin-project-lite v0.2.7
[INFO] [stderr]     Checking once_cell v1.8.0
[INFO] [stderr]     Checking combine v4.6.2
[INFO] [stderr]    Compiling rayon v1.5.1
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]    Compiling signal-hook v0.3.13
[INFO] [stderr]    Compiling serde_json v1.0.70
[INFO] [stderr]    Compiling parking_lot_core v0.9.8
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]     Checking crossbeam-channel v0.5.1
[INFO] [stderr]     Checking utf8-ranges v1.0.4
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]     Checking regex-syntax v0.4.2
[INFO] [stderr]     Checking itoa v0.4.8
[INFO] [stderr]    Compiling snap v1.0.5
[INFO] [stderr]     Checking bitpacking v0.8.4
[INFO] [stderr]     Checking murmurhash32 v0.2.0
[INFO] [stderr]     Checking downcast-rs v1.2.0
[INFO] [stderr]     Checking htmlescape v0.3.1
[INFO] [stderr]     Checking crossbeam-deque v0.8.1
[INFO] [stderr]     Checking census v0.4.0
[INFO] [stderr]     Checking levenshtein_automata v0.2.1
[INFO] [stderr]     Checking twox-hash v1.6.1
[INFO] [stderr]     Checking tantivy-common v0.1.0
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking tantivy-bitpacker v0.1.1
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking ownedbytes v0.1.0
[INFO] [stderr]     Checking itertools v0.10.1
[INFO] [stderr]     Checking measure_time v0.7.0
[INFO] [stderr]     Checking fastdivide v0.3.0
[INFO] [stderr]     Checking unicode-segmentation v1.10.1
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking getrandom v0.2.3
[INFO] [stderr]    Compiling quote v1.0.10
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking getrandom v0.1.16
[INFO] [stderr]     Checking fs2 v0.4.3
[INFO] [stderr]     Checking time v0.1.43
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking mio v0.8.8
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking rayon-core v1.9.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking crossbeam v0.8.1
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking fastfield_codecs v0.1.0
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking hashbrown v0.11.2
[INFO] [stderr]     Checking lz4_flex v0.8.2
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking memmap2 v0.3.1
[INFO] [stderr]     Checking ansi_term v0.12.1
[INFO] [stderr]     Checking rand v0.8.4
[INFO] [stderr]     Checking signal-hook-mio v0.2.3
[INFO] [stderr]     Checking home v0.5.3
[INFO] [stderr]     Checking sled v0.34.7
[INFO] [stderr]     Checking crossterm v0.25.0
[INFO] [stderr]     Checking tantivy-fst v0.3.0
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking lru v0.6.6
[INFO] [stderr]     Checking tui v0.19.0
[INFO] [stderr]     Checking fail v0.4.0
[INFO] [stderr]     Checking tempfile v3.2.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.30
[INFO] [stderr]    Compiling pallet-macros v0.4.0
[INFO] [stderr]     Checking tantivy-query-grammar v0.14.0
[INFO] [stderr]     Checking tantivy-query-grammar v0.15.0
[INFO] [stderr]     Checking thiserror v1.0.30
[INFO] [stderr]     Checking futures-executor v0.3.17
[INFO] [stderr]     Checking futures v0.3.17
[INFO] [stderr]     Checking rust-stemmers v1.2.0
[INFO] [stderr]     Checking uuid v0.8.2
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking tantivy v0.14.0
[INFO] [stderr]     Checking tantivy v0.16.1
[INFO] [stderr]     Checking pallet v0.7.0
[INFO] [stderr]     Checking rtrack v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `get_arguments` and `get_clap_app`
[INFO] [stdout]   --> src/main.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::arguments::{ get_clap_app, get_arguments };
[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: `MoveToNextLine`
[INFO] [stdout]  --> src/main_loop.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 |     cursor::{MoveTo, Hide, MoveToNextLine, Show},
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/main_loop.rs:10:119
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::{types::Mode, modes::display_mode::UserCommand, store::{timers::TimerStore, time_entries::{TimeEntryStore, self}}};
[INFO] [stdout]    |                                                                                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `track_actions::*`
[INFO] [stdout]  --> src/actions/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use track_actions::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `display_mode::*`
[INFO] [stdout]  --> src/actions/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use display_mode::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `get_arguments` and `get_clap_app`
[INFO] [stdout]   --> src/main.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::arguments::{ get_clap_app, get_arguments };
[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: `MoveToNextLine`
[INFO] [stdout]  --> src/main_loop.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 |     cursor::{MoveTo, Hide, MoveToNextLine, Show},
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/main_loop.rs:10:119
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::{types::Mode, modes::display_mode::UserCommand, store::{timers::TimerStore, time_entries::{TimeEntryStore, self}}};
[INFO] [stdout]    |                                                                                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `track_actions::*`
[INFO] [stdout]  --> src/actions/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use track_actions::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `display_mode::*`
[INFO] [stdout]  --> src/actions/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use display_mode::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timers`
[INFO] [stdout]   --> src/modes/display_mode.rs:24:33
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn render(mut out: &Stdout, timers: &TimerStore, time_entries: &TimeEntryStore) {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_timers`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prompt` is never used
[INFO] [stdout]  --> src/ui/prompt.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn prompt(msg:&str) -> String {
[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 `read_key_input` is never used
[INFO] [stdout]  --> src/ui/read_key_input.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn read_key_input() -> Result<KeyEvent, Error> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_tracks` is never used
[INFO] [stdout]  --> src/ui/display.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn print_tracks(tracks: &Vec<String>) {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_timer` is never used
[INFO] [stdout]   --> src/ui/display.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn print_timer(entry: &Timer, time: DateTime<Local>, index: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_timer_table` is never used
[INFO] [stdout]   --> src/ui/display.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn print_timer_table(entries: &Vec<Timer>, time: DateTime<Local> ) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_selected_track` is never used
[INFO] [stdout]   --> src/ui/display.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn print_selected_track(track_name: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_track_added` is never used
[INFO] [stdout]   --> src/ui/display.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn print_track_added(entry: &TimeEntry) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `select_mode` is never used
[INFO] [stdout]  --> src/ui/input.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn select_mode() -> Mode {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `select_track` is never used
[INFO] [stdout]   --> src/ui/input.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn select_track(tracks: &Vec<String>) -> (String, bool) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `select_time` is never used
[INFO] [stdout]   --> src/ui/input.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn select_time() -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `select_message` is never used
[INFO] [stdout]   --> src/ui/input.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn select_message() -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `select_stop_index` is never used
[INFO] [stdout]   --> src/ui/input.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn select_stop_index() -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `choose_date` is never used
[INFO] [stdout]   --> src/ui/input.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn choose_date() -> Result<DateQuery, String> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_time` is never used
[INFO] [stdout]   --> src/ui/input.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn parse_time(time_str: &str) -> Option<u32> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prompt_create_track` is never used
[INFO] [stdout]   --> src/ui/input.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub fn prompt_create_track(track_name: &str, prompt_fn: &dyn Fn(&str) -> String) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_tracks` is never used
[INFO] [stdout]  --> src/store/tracks.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn get_tracks() -> Result<Vec<String>, Error> {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_track` is never used
[INFO] [stdout]   --> src/store/tracks.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn add_track(track_name: &str) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_tracks` is never used
[INFO] [stdout]   --> src/store/tracks.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn save_tracks(tracks:Vec<String>) -> Result<(), Error> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_time_entry` is never used
[INFO] [stdout]   --> src/store/time_entries.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn add_time_entry(store: &TimeEntryStore, entry: &TimeEntry) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_by_dates` is never used
[INFO] [stdout]   --> src/store/time_entries.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn find_by_dates(store: &TimeEntryStore, dates: DateQuery) -> Result<Vec<TimeEntry>, Box<dyn std::error::Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sort_by_timestamp_asc` is never used
[INFO] [stdout]   --> src/store/time_entries.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn sort_by_timestamp_asc(entries: Vec<TimeEntry>) -> Vec<TimeEntry> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_tracks_file_path` is never used
[INFO] [stdout]   --> src/store/path_utils.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn get_tracks_file_path() -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_timer` is never used
[INFO] [stdout]   --> src/store/timers.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn add_timer(store: &TimerStore, entry: &Timer) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_all_timer_entries` is never used
[INFO] [stdout]   --> src/store/timers.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn get_all_timer_entries(store: &TimerStore) -> Result<Vec<Document<Timer>>, Box<dyn std::error::Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `map_results_to_timer_entries` is never used
[INFO] [stdout]   --> src/store/timers.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn map_results_to_timer_entries(result: Results<Timer>) -> Vec<Document<Timer>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_timer` is never used
[INFO] [stdout]   --> src/store/timers.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn delete_timer(store: &TimerStore, id: u64) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `from_date` are never used
[INFO] [stdout]   --> src/models/time_entry.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl TimeEntry {
[INFO] [stdout]    | -------------- associated functions in this implementation
[INFO] [stdout] 20 |     pub fn new(track: String, minutes: u32, message: String, date:String, timestamp: i64) -> TimeEntry {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn from_date<T>(track: String, minutes:  u32, message: String, date: DateTime<T>,) -> TimeEntry where T: TimeZone {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `finish` are never used
[INFO] [stdout]   --> src/models/timer.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Timer {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(id: String, track: String, message: String, start: i64) -> Timer {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn finish<T>(&self, final_time: DateTime<T>) -> TimeEntry where T: TimeZone {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DateQuery` is never constructed
[INFO] [stdout]  --> src/search/queries.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct DateQuery {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_field_names` are never used
[INFO] [stdout]   --> src/search/queries.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl DateQuery {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new(from: String, to: Option<String>) -> DateQuery {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn with_field_names(&self, date_field: String, timestamp_field: String) -> DateQuery {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `str_to_date` is never used
[INFO] [stdout]   --> src/search/queries.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn str_to_date(date_str: &str) -> DateTime<Local> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_arguments` is never used
[INFO] [stdout]  --> src/arguments.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn get_arguments(matches: ArgMatches) -> Arguments {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_clap_app` is never used
[INFO] [stdout]   --> src/arguments.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn get_clap_app() -> App<'static, 'static> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Add`, `ShowLast`, `Search`, `Stop`, and `None` are never constructed
[INFO] [stdout]   --> src/types/mode.rs:3:5
[INFO] [stdout]    |
[INFO] [stdout]  2 | pub enum Mode {
[INFO] [stdout]    |          ---- variants in this enum
[INFO] [stdout]  3 |     Add,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]  4 |     ShowLast,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]  5 |     Search,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  8 |     Stop,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]  9 |     Quit,
[INFO] [stdout] 10 |     None,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Mode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Arguments` is never constructed
[INFO] [stdout]  --> src/types/arguments.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Arguments {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `default` is never used
[INFO] [stdout]   --> src/types/arguments.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Arguments {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 13 |     pub fn default() -> Arguments {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_track_name_from_user` is never used
[INFO] [stdout]   --> src/actions/track_actions.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn get_track_name_from_user(track_names: &Vec<String>, arguments: &Arguments) -> (String, bool)  {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_track_time_from_user` is never used
[INFO] [stdout]   --> src/actions/track_actions.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn get_track_time_from_user(arguments: &Arguments) -> Option<u32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_stop_index_from_user` is never used
[INFO] [stdout]   --> src/actions/track_actions.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn get_stop_index_from_user(arguments: &Arguments) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_track_input` is never used
[INFO] [stdout]   --> src/actions/track_actions.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn handle_track_input(track_name: &str, is_new: bool, prompt: &dyn Fn(&str) -> String) 
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_msg_from_user` is never used
[INFO] [stdout]   --> src/actions/track_actions.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn get_msg_from_user(arguments: &Arguments) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LoopEvent` is never used
[INFO] [stdout]   --> src/actions/display_mode.rs:21:6
[INFO] [stdout]    |
[INFO] [stdout] 21 | enum LoopEvent<I> {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Mode` is never used
[INFO] [stdout]   --> src/actions/display_mode.rs:27:6
[INFO] [stdout]    |
[INFO] [stdout] 27 | enum Mode {
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_display_mode` is never used
[INFO] [stdout]   --> src/actions/display_mode.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn run_display_mode(timers: Vec<Timer>) 
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `input_loop` is never used
[INFO] [stdout]   --> src/actions/display_mode.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn input_loop(tx: Sender<LoopEvent<KeyEvent>>) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_loop` is never used
[INFO] [stdout]   --> src/actions/display_mode.rs:68:4
[INFO] [stdout]    |
[INFO] [stdout] 68 | fn render_loop(rx: Receiver<LoopEvent<KeyEvent>>, timers: Vec<Timer>)
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/actions/display_mode.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |             write!(stdout(), "Press [s] to stop a timer; [q] to quit\n");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 109 |             let _ = write!(stdout(), "Press [s] to stop a timer; [q] to quit\n");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/actions/display_mode.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |             write!(stdout(), "Which timer to delete? Press a number [0-9].\n");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 111 |             let _ = write!(stdout(), "Which timer to delete? Press a number [0-9].\n");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/actions/display_mode.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         write!(stdout(), "delete {}\n", index_to_stop.unwrap());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 115 |         let _ = write!(stdout(), "delete {}\n", index_to_stop.unwrap());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timers`
[INFO] [stdout]   --> src/modes/display_mode.rs:24:33
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn render(mut out: &Stdout, timers: &TimerStore, time_entries: &TimeEntryStore) {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_timers`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prompt` is never used
[INFO] [stdout]  --> src/ui/prompt.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn prompt(msg:&str) -> String {
[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 `read_key_input` is never used
[INFO] [stdout]  --> src/ui/read_key_input.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn read_key_input() -> Result<KeyEvent, Error> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_tracks` is never used
[INFO] [stdout]  --> src/ui/display.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn print_tracks(tracks: &Vec<String>) {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_timer` is never used
[INFO] [stdout]   --> src/ui/display.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn print_timer(entry: &Timer, time: DateTime<Local>, index: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_timer_table` is never used
[INFO] [stdout]   --> src/ui/display.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn print_timer_table(entries: &Vec<Timer>, time: DateTime<Local> ) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_selected_track` is never used
[INFO] [stdout]   --> src/ui/display.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn print_selected_track(track_name: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_track_added` is never used
[INFO] [stdout]   --> src/ui/display.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn print_track_added(entry: &TimeEntry) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `select_mode` is never used
[INFO] [stdout]  --> src/ui/input.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn select_mode() -> Mode {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `select_track` is never used
[INFO] [stdout]   --> src/ui/input.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn select_track(tracks: &Vec<String>) -> (String, bool) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `select_time` is never used
[INFO] [stdout]   --> src/ui/input.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn select_time() -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `select_message` is never used
[INFO] [stdout]   --> src/ui/input.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn select_message() -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `select_stop_index` is never used
[INFO] [stdout]   --> src/ui/input.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn select_stop_index() -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `choose_date` is never used
[INFO] [stdout]   --> src/ui/input.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn choose_date() -> Result<DateQuery, String> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_time` is never used
[INFO] [stdout]   --> src/ui/input.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn parse_time(time_str: &str) -> Option<u32> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_tracks` is never used
[INFO] [stdout]  --> src/store/tracks.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn get_tracks() -> Result<Vec<String>, Error> {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_track` is never used
[INFO] [stdout]   --> src/store/tracks.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn add_track(track_name: &str) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_tracks` is never used
[INFO] [stdout]   --> src/store/tracks.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn save_tracks(tracks:Vec<String>) -> Result<(), Error> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_time_entry` is never used
[INFO] [stdout]   --> src/store/time_entries.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn add_time_entry(store: &TimeEntryStore, entry: &TimeEntry) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_by_dates` is never used
[INFO] [stdout]   --> src/store/time_entries.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn find_by_dates(store: &TimeEntryStore, dates: DateQuery) -> Result<Vec<TimeEntry>, Box<dyn std::error::Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sort_by_timestamp_asc` is never used
[INFO] [stdout]   --> src/store/time_entries.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn sort_by_timestamp_asc(entries: Vec<TimeEntry>) -> Vec<TimeEntry> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_tracks_file_path` is never used
[INFO] [stdout]   --> src/store/path_utils.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn get_tracks_file_path() -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_timer` is never used
[INFO] [stdout]   --> src/store/timers.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn add_timer(store: &TimerStore, entry: &Timer) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_all_timer_entries` is never used
[INFO] [stdout]   --> src/store/timers.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn get_all_timer_entries(store: &TimerStore) -> Result<Vec<Document<Timer>>, Box<dyn std::error::Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `map_results_to_timer_entries` is never used
[INFO] [stdout]   --> src/store/timers.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn map_results_to_timer_entries(result: Results<Timer>) -> Vec<Document<Timer>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_timer` is never used
[INFO] [stdout]   --> src/store/timers.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn delete_timer(store: &TimerStore, id: u64) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `finish` are never used
[INFO] [stdout]   --> src/models/timer.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Timer {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(id: String, track: String, message: String, start: i64) -> Timer {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn finish<T>(&self, final_time: DateTime<T>) -> TimeEntry where T: TimeZone {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DateQuery` is never constructed
[INFO] [stdout]  --> src/search/queries.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct DateQuery {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_field_names` are never used
[INFO] [stdout]   --> src/search/queries.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl DateQuery {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new(from: String, to: Option<String>) -> DateQuery {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn with_field_names(&self, date_field: String, timestamp_field: String) -> DateQuery {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `str_to_date` is never used
[INFO] [stdout]   --> src/search/queries.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn str_to_date(date_str: &str) -> DateTime<Local> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_track_name_from_user` is never used
[INFO] [stdout]   --> src/actions/track_actions.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn get_track_name_from_user(track_names: &Vec<String>, arguments: &Arguments) -> (String, bool)  {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_track_time_from_user` is never used
[INFO] [stdout]   --> src/actions/track_actions.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn get_track_time_from_user(arguments: &Arguments) -> Option<u32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_stop_index_from_user` is never used
[INFO] [stdout]   --> src/actions/track_actions.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn get_stop_index_from_user(arguments: &Arguments) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_track_input` is never used
[INFO] [stdout]   --> src/actions/track_actions.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn handle_track_input(track_name: &str, is_new: bool, prompt: &dyn Fn(&str) -> String) 
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_msg_from_user` is never used
[INFO] [stdout]   --> src/actions/track_actions.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn get_msg_from_user(arguments: &Arguments) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LoopEvent` is never used
[INFO] [stdout]   --> src/actions/display_mode.rs:21:6
[INFO] [stdout]    |
[INFO] [stdout] 21 | enum LoopEvent<I> {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Mode` is never used
[INFO] [stdout]   --> src/actions/display_mode.rs:27:6
[INFO] [stdout]    |
[INFO] [stdout] 27 | enum Mode {
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_display_mode` is never used
[INFO] [stdout]   --> src/actions/display_mode.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn run_display_mode(timers: Vec<Timer>) 
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `input_loop` is never used
[INFO] [stdout]   --> src/actions/display_mode.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn input_loop(tx: Sender<LoopEvent<KeyEvent>>) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_loop` is never used
[INFO] [stdout]   --> src/actions/display_mode.rs:68:4
[INFO] [stdout]    |
[INFO] [stdout] 68 | fn render_loop(rx: Receiver<LoopEvent<KeyEvent>>, timers: Vec<Timer>)
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/actions/display_mode.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |             write!(stdout(), "Press [s] to stop a timer; [q] to quit\n");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 109 |             let _ = write!(stdout(), "Press [s] to stop a timer; [q] to quit\n");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/actions/display_mode.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |             write!(stdout(), "Which timer to delete? Press a number [0-9].\n");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 111 |             let _ = write!(stdout(), "Which timer to delete? Press a number [0-9].\n");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/actions/display_mode.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         write!(stdout(), "delete {}\n", index_to_stop.unwrap());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 115 |         let _ = write!(stdout(), "delete {}\n", index_to_stop.unwrap());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 33.73s
[INFO] running `Command { std: "docker" "inspect" "472a6d52bc1f42bedd6baa21da0c32fcd0ca32723f1321de141f18f2c704700c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "472a6d52bc1f42bedd6baa21da0c32fcd0ca32723f1321de141f18f2c704700c", kill_on_drop: false }`
[INFO] [stdout] 472a6d52bc1f42bedd6baa21da0c32fcd0ca32723f1321de141f18f2c704700c
