[INFO] cloning repository https://github.com/cpecu/dlog
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cpecu/dlog" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcpecu%2Fdlog", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcpecu%2Fdlog'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 51dd5ec979c6dce80b917a2352e403c33c7ba222
[INFO] testing cpecu/dlog against 1.54.0 for beta-1.55-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcpecu%2Fdlog" "/workspace/builds/worker-11/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-11/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/cpecu/dlog on toolchain 1.54.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-11/source/.cargo/config
[INFO] started tweaking git repo https://github.com/cpecu/dlog
[INFO] finished tweaking git repo https://github.com/cpecu/dlog
[INFO] tweaked toml for git repo https://github.com/cpecu/dlog written to /workspace/builds/worker-11/source/Cargo.toml
[INFO] crate git repo https://github.com/cpecu/dlog already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: package.default_run
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1c50f642254c65f00058d68259c8a2d4b56e79252a395067c93e8964ed730ab0
[INFO] running `Command { std: "docker" "start" "-a" "1c50f642254c65f00058d68259c8a2d4b56e79252a395067c93e8964ed730ab0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1c50f642254c65f00058d68259c8a2d4b56e79252a395067c93e8964ed730ab0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1c50f642254c65f00058d68259c8a2d4b56e79252a395067c93e8964ed730ab0", kill_on_drop: false }`
[INFO] [stdout] 1c50f642254c65f00058d68259c8a2d4b56e79252a395067c93e8964ed730ab0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/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=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7970ccaffecc4d10084e930c6de2b06e39173bd3ba979ecc3fa157097a96fb32
[INFO] running `Command { std: "docker" "start" "-a" "7970ccaffecc4d10084e930c6de2b06e39173bd3ba979ecc3fa157097a96fb32", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: package.default_run
[INFO] [stderr]    Compiling syn v1.0.51
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling serde v1.0.117
[INFO] [stderr]    Compiling bytes v0.5.6
[INFO] [stderr]    Compiling slab v0.4.2
[INFO] [stderr]    Compiling itoa v0.4.6
[INFO] [stderr]    Compiling futures-core v0.3.8
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling once_cell v1.5.2
[INFO] [stderr]    Compiling pin-project-lite v0.1.11
[INFO] [stderr]    Compiling hashbrown v0.9.1
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling pin-project-lite v0.2.1
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling matches v0.1.8
[INFO] [stderr]    Compiling unicode-width v0.1.8
[INFO] [stderr]    Compiling smallvec v1.5.1
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling futures-sink v0.3.8
[INFO] [stderr]    Compiling tinyvec_macros v0.1.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.10
[INFO] [stderr]    Compiling futures-io v0.3.8
[INFO] [stderr]    Compiling try-lock v0.2.3
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling openssl-probe v0.1.2
[INFO] [stderr]    Compiling regex-syntax v0.6.21
[INFO] [stderr]    Compiling percent-encoding v2.1.0
[INFO] [stderr]    Compiling arrayvec v0.5.2
[INFO] [stderr]    Compiling tower-service v0.3.0
[INFO] [stderr]    Compiling httpdate v0.3.2
[INFO] [stderr]    Compiling serde_json v1.0.60
[INFO] [stderr]    Compiling mime v0.3.16
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stderr]    Compiling base64 v0.13.0
[INFO] [stderr]    Compiling spin v0.5.2
[INFO] [stderr]    Compiling zeroize v0.9.3
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling scanlex v0.1.4
[INFO] [stderr]    Compiling ipnet v2.3.0
[INFO] [stderr]    Compiling strum v0.20.0
[INFO] [stderr]    Compiling termcolor v1.1.2
[INFO] [stderr]    Compiling humantime v2.0.1
[INFO] [stderr]    Compiling number_prefix v0.3.0
[INFO] [stderr]    Compiling untrusted v0.7.1
[INFO] [stderr]    Compiling os_str_bytes v2.4.0
[INFO] [stderr]    Compiling openssl-sys v0.9.60
[INFO] [stderr]    Compiling instant v0.1.9
[INFO] [stderr]    Compiling ring v0.16.19
[INFO] [stderr]    Compiling futures-channel v0.3.8
[INFO] [stderr]    Compiling unicode-bidi v0.3.4
[INFO] [stderr]    Compiling tracing-core v0.1.17
[INFO] [stderr]    Compiling thread_local v1.0.1
[INFO] [stderr]    Compiling lock_api v0.4.2
[INFO] [stderr]    Compiling tinyvec v1.1.0
[INFO] [stderr]    Compiling form_urlencoded v1.0.0
[INFO] [stderr]    Compiling futures-task v0.3.8
[INFO] [stderr]    Compiling libc v0.2.80
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling log v0.4.11
[INFO] [stderr]    Compiling ryu v1.0.5
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]    Compiling httparse v1.3.4
[INFO] [stderr]    Compiling encoding_rs v0.8.26
[INFO] [stderr]    Compiling crc32fast v1.2.1
[INFO] [stderr]    Compiling foreign-types v0.3.2
[INFO] [stderr]    Compiling indexmap v1.6.0
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling crossbeam-utils v0.8.1
[INFO] [stderr]    Compiling memoffset v0.6.1
[INFO] [stderr]    Compiling http v0.2.2
[INFO] [stderr]    Compiling lexical-core v0.7.6
[INFO] [stderr]    Compiling want v0.3.0
[INFO] [stderr]    Compiling parse-zoneinfo v0.3.0
[INFO] [stderr]    Compiling tracing v0.1.22
[INFO] [stderr]    Compiling aho-corasick v0.7.15
[INFO] [stderr]    Compiling csv-core v0.1.10
[INFO] [stderr]    Compiling regex-automata v0.1.9
[INFO] [stderr]    Compiling fxhash v0.2.1
[INFO] [stderr]    Compiling mime_guess v2.0.3
[INFO] [stderr]    Compiling net2 v0.2.37
[INFO] [stderr]    Compiling iovec v0.1.4
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]    Compiling getrandom v0.1.15
[INFO] [stderr]    Compiling terminal_size v0.1.15
[INFO] [stderr]    Compiling parking_lot_core v0.8.1
[INFO] [stderr]    Compiling time v0.1.44
[INFO] [stderr]    Compiling mio v0.7.6
[INFO] [stderr]    Compiling signal-hook-registry v1.2.2
[INFO] [stderr]    Compiling socket2 v0.3.17
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling dirs-sys-next v0.1.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.1
[INFO] [stderr]    Compiling unicode-normalization v0.1.16
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling textwrap v0.12.1
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling colored v2.0.0
[INFO] [stderr]    Compiling mio v0.6.23
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling openssl v0.10.32
[INFO] [stderr]    Compiling native-tls v0.2.7
[INFO] [stderr]    Compiling parking_lot v0.11.1
[INFO] [stderr]    Compiling regex v1.4.2
[INFO] [stderr]    Compiling signal-hook v0.1.16
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling sled v0.34.6
[INFO] [stderr]    Compiling nom v5.1.2
[INFO] [stderr]    Compiling lexical v5.2.2
[INFO] [stderr]    Compiling crossterm v0.18.2
[INFO] [stderr]    Compiling idna v0.2.0
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling tokio v0.2.24
[INFO] [stderr]    Compiling chrono-tz v0.5.3
[INFO] [stderr]    Compiling http-body v0.3.1
[INFO] [stderr]    Compiling url v2.2.0
[INFO] [stderr]    Compiling console v0.13.0
[INFO] [stderr]    Compiling tempfile v3.1.0
[INFO] [stderr]    Compiling indicatif v0.15.0
[INFO] [stderr]    Compiling dialoguer v0.7.1
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling synstructure v0.12.4
[INFO] [stderr]    Compiling tokio-util v0.3.1
[INFO] [stderr]    Compiling tokio-tls v0.3.1
[INFO] [stderr]    Compiling serde_derive v1.0.117
[INFO] [stderr]    Compiling pin-project-internal v0.4.27
[INFO] [stderr]    Compiling pin-project-internal v1.0.3
[INFO] [stderr]    Compiling clap_derive v3.0.0-beta.2
[INFO] [stderr]    Compiling zerocopy-derive v0.2.0
[INFO] [stderr]    Compiling strum_macros v0.20.1
[INFO] [stderr]    Compiling zerocopy v0.3.0
[INFO] [stderr]    Compiling comfy-table v1.4.2
[INFO] [stderr]    Compiling pin-project v0.4.27
[INFO] [stderr]    Compiling tracing-futures v0.2.4
[INFO] [stderr]    Compiling pin-project v1.0.3
[INFO] [stderr]    Compiling clap v3.0.0-beta.2
[INFO] [stderr]    Compiling futures-util v0.3.8
[INFO] [stderr]    Compiling h2 v0.2.7
[INFO] [stderr]    Compiling chrono v0.4.19
[INFO] [stderr]    Compiling toml v0.5.7
[INFO] [stderr]    Compiling bstr v0.2.14
[INFO] [stderr]    Compiling serde_urlencoded v0.7.0
[INFO] [stderr]    Compiling uuid v0.8.1
[INFO] [stderr]    Compiling humantime-serde v1.0.1
[INFO] [stderr]    Compiling csv v1.1.5
[INFO] [stderr]    Compiling chrono-humanize v0.1.1
[INFO] [stderr]    Compiling chrono-english v0.1.4
[INFO] [stderr]    Compiling config v0.10.1
[INFO] [stderr]    Compiling hyper v0.13.9
[INFO] [stderr]    Compiling hyper-tls v0.4.3
[INFO] [stderr]    Compiling reqwest v0.10.10
[INFO] [stderr]    Compiling dlog v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Db`
[INFO] [stdout]  --> src/store.rs:2:31
[INFO] [stdout]   |
[INFO] [stdout] 2 | use sled::{Config as SConfig, Db, IVec};
[INFO] [stdout]   |                               ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `U16`, `U32`
[INFO] [stdout]  --> src/store.rs:5:72
[INFO] [stdout]   |
[INFO] [stdout] 5 |         byteorder::U64, AsBytes, FromBytes, LayoutVerified, Unaligned, U16, U32,
[INFO] [stdout]   |                                                                        ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Item`, `config::DConfig`
[INFO] [stdout]   --> src/store.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout] 8  |     config::DConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 9  |     error::DError,
[INFO] [stdout] 10 |     models::{Record, Fact, Item},
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime`, `Local`
[INFO] [stdout]  --> src/cmd/fact.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::{DateTime, Local};
[INFO] [stdout]   |              ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Unit`, `attrib::Attrib`, `item::Item`, `note::Notes`, `prompt::prompt`, `record::Record`
[INFO] [stdout]   --> src/cmd/fact.rs:5:36
[INFO] [stdout]    |
[INFO] [stdout] 5  |         fact::{Fact, AbstractFact, Unit},
[INFO] [stdout]    |                                    ^^^^
[INFO] [stdout] 6  |         note::Notes,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 7  |         item::Item,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 8  |         attrib::Attrib,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 9  |         record::Record,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     prompt::prompt,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `action::Action`
[INFO] [stdout]  --> src/cmd/relation.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |         action::Action,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Record`
[INFO] [stdout]  --> src/cmd/item.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 |     models::{Item, Record, fact::{Fact, AbstractFact}},
[INFO] [stdout]   |                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ArgSettings`
[INFO] [stdout]  --> src/cmd/item.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use clap::{Arg, ArgMatches, ArgSettings, FromArgMatches};
[INFO] [stdout]   |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entry`
[INFO] [stdout]  --> src/cmd/record.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |         Entry, record::Record
[INFO] [stdout]   |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Style`, `Styles`
[INFO] [stdout]  --> src/cmd/record.rs:7:32
[INFO] [stdout]   |
[INFO] [stdout] 7 | use colored::{Color, Colorize, Style, Styles};
[INFO] [stdout]   |                                ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Action`, `Fact`, `Relation`, `note::Note`
[INFO] [stdout]   --> src/cmd.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |     Entry, Fact, Record, Item, Attrib,
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 26 |     note::Note, Action, Relation,  Unit, FactValue,
[INFO] [stdout]    |     ^^^^^^^^^^  ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]  --> src/models/action.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{fmt, collections::HashMap};
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AbstractFact`, `Entry`, `Relation`
[INFO] [stdout]  --> src/models/data.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |         Entry, Unit, Action, Note, Item, fact::{FactValue, Fact, AbstractFact},
[INFO] [stdout]   |         ^^^^^                                                    ^^^^^^^^^^^^
[INFO] [stdout] 5 |         Attrib, Relation,
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attribute`, `Cell`, `Color as TColor`, `ContentArrangement`, `Table`, `presets::UTF8_BORDERS_ONLY`
[INFO] [stdout]   --> src/models/data.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Table, ContentArrangement, presets::UTF8_BORDERS_ONLY,
[INFO] [stdout]    |     ^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     Cell, Attribute, Color as TColor,
[INFO] [stdout]    |     ^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `convert::TryFrom`, `rc::Rc`
[INFO] [stdout]   --> src/models/data.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     convert::TryFrom,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     rc::Rc,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToRow`
[INFO] [stdout]  --> src/models/fact/entry.rs:3:39
[INFO] [stdout]   |
[INFO] [stdout] 3 |     Cell, Attribute, Color as TColor, ToRow,
[INFO] [stdout]   |                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attribs`, `Datelike`, `Duration`, `Notes`, `Recurring`, `RelativeTo`, `csv as Csv`
[INFO] [stdout]   --> src/models/fact/entry.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  |     csv as Csv, prompt,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |         note::{Note, Notes},
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 13 |         attrib::{Attrib, Attribs},
[INFO] [stdout]    |                          ^^^^^^^
[INFO] [stdout] 14 |         date::{Datelike, Duration, RelativeTo, Recurring},
[INFO] [stdout]    |                ^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap`, `convert::TryFrom`, `str::FromStr`
[INFO] [stdout]   --> src/models/fact/entry.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::{convert::TryFrom, fmt, path::PathBuf, collections::HashMap, str::FromStr};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^                      ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Colorize`
[INFO] [stdout]   --> src/models/fact/entry.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 22 | use colored::{Color, Colorize};
[INFO] [stdout]    |               ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attribute`, `Cell`, `Color as TColor`, `ContentArrangement`, `Table`, `ToRow`, `presets`
[INFO] [stdout]  --> src/models/fact/value.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Table, ContentArrangement, presets,
[INFO] [stdout]   |     ^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 3 |     Cell, Attribute, Color as TColor, ToRow,
[INFO] [stdout]   |     ^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attrib`, `Attribs`, `Note`, `Notes`, `UserUnit`, `csv as csv`, `item::Item`, `prompt`, `record::Record`
[INFO] [stdout]   --> src/models/fact/value.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  |     csv as csv, prompt,
[INFO] [stdout]    |     ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 9  |         fact::{Unit, UserUnit},
[INFO] [stdout]    |                      ^^^^^^^^
[INFO] [stdout] 10 |         record::Record,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 11 |         item::Item,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 12 |         note::{Note, Notes},
[INFO] [stdout]    |                ^^^^  ^^^^^
[INFO] [stdout] 13 |         attrib::{Attrib, Attribs},
[INFO] [stdout]    |                  ^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/models/fact/value.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `convert::TryFrom`, `path::PathBuf`, `str::FromStr`
[INFO] [stdout]   --> src/models/fact/value.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::{convert::TryFrom, fmt, path::PathBuf, collections::HashMap, str::FromStr};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^       ^^^^^^^^^^^^^                        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]   --> src/models/fact/value.rs:20:14
[INFO] [stdout]    |
[INFO] [stdout] 20 | use chrono::{DateTime, Local};
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Colorize`
[INFO] [stdout]   --> src/models/fact/value.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 22 | use colored::{Color, Colorize};
[INFO] [stdout]    |               ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `convert::TryFrom`, `path::PathBuf`, `time`
[INFO] [stdout]  --> src/models/fact/units.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{fmt, path::PathBuf, convert::TryFrom, time};
[INFO] [stdout]   |                ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Utc`, `format`
[INFO] [stdout]  --> src/models/fact/units.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | use chrono::{Utc, DateTime, Duration, format, prelude::*};
[INFO] [stdout]   |              ^^^                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateError`, `parse_date_string`
[INFO] [stdout]  --> src/models/fact/units.rs:6:31
[INFO] [stdout]   |
[INFO] [stdout] 6 | use chrono_english::{Dialect, DateError, parse_date_string};
[INFO] [stdout]   |                               ^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArgMatches`, `FromArgMatches`
[INFO] [stdout]  --> src/models/fact/units.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use clap::{ArgMatches, FromArgMatches};
[INFO] [stdout]   |            ^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Colorize`
[INFO] [stdout]  --> src/models/fact/units.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use colored::{Color, Colorize};
[INFO] [stdout]   |               ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attribs`, `Datelike`, `Duration`, `Entry`, `Notes`, `Recurring`, `RelativeTo`, `csv as csv`, `item::Item`, `record::Record`
[INFO] [stdout]   --> src/models/fact/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     csv as csv, prompt,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 17 |     models::{
[INFO] [stdout] 18 |         Entry,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 19 |         record::Record,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 20 |         item::Item,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 21 |         note::{Note, Notes},
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 22 |         attrib::{Attrib, Attribs},
[INFO] [stdout]    |                          ^^^^^^^
[INFO] [stdout] 23 |         date::{Datelike, Duration, RelativeTo, Recurring},
[INFO] [stdout]    |                ^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/models/fact/mod.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap`, `convert::TryFrom`, `path::PathBuf`, `str::FromStr`
[INFO] [stdout]   --> src/models/fact/mod.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | use std::{convert::TryFrom, fmt, path::PathBuf, collections::HashMap, str::FromStr};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^       ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Colorize`
[INFO] [stdout]   --> src/models/fact/mod.rs:31:15
[INFO] [stdout]    |
[INFO] [stdout] 31 | use colored::{Color, Colorize};
[INFO] [stdout]    |               ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap`, `str::FromStr`
[INFO] [stdout]  --> src/models/attrib.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{fmt, str::FromStr, collections::HashMap};
[INFO] [stdout]   |                ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UTF8_BORDERS_ONLY`
[INFO] [stdout]  --> src/models/item.rs:2:48
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Table, ContentArrangement, presets::{self, UTF8_BORDERS_ONLY},
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rc::Rc`
[INFO] [stdout]  --> src/models/item.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::{rc::Rc, path::PathBuf};
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Utc`
[INFO] [stdout]  --> src/models/item.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use chrono::{prelude::*, Utc, DateTime};
[INFO] [stdout]   |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArgSettings`, `Arg`
[INFO] [stdout]   --> src/models/item.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | use clap::{Arg, ArgMatches, ArgSettings, FromArgMatches};
[INFO] [stdout]    |            ^^^              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Unit`
[INFO] [stdout]   --> src/models/record.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |     models::{Entry, Unit, Item, fact::{Fact, AbstractFact}},
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `convert::TryFrom`, `str::FromStr`
[INFO] [stdout]  --> src/models/date.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt, convert::TryFrom, str::FromStr};
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::error::DError`
[INFO] [stdout]  --> src/models/date.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::error::DError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `humantime::parse_duration`
[INFO] [stdout]  --> src/models/date.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use humantime::parse_duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `humantime_serde::Serde`
[INFO] [stdout]  --> src/models/date.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use humantime_serde::Serde;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `prelude::*`
[INFO] [stdout]  --> src/models/date.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | use chrono::{prelude::*, DateTime, Local};
[INFO] [stdout]   |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap`, `convert::TryInto`, `prelude::*`, `self`
[INFO] [stdout]  --> src/config.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 |     io::{self, prelude::*, Read, Write},
[INFO] [stdout]   |          ^^^^  ^^^^^^^^^^
[INFO] [stdout] 5 |     path::PathBuf,
[INFO] [stdout] 6 |     convert::TryInto,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |     collections::HashMap,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Colorize`
[INFO] [stdout]  --> src/util.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use colored::{Colorize, Color};
[INFO] [stdout]   |               ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> src/util.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::{fs, io::{Read, prelude::*, self}, path::PathBuf};
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num`
[INFO] [stdout]  --> src/error.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt, io, num, error};
[INFO] [stdout]   |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attrib`, `Item`, `Record`, `Relation`
[INFO] [stdout]  --> src/search.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::models::{Fact, Item, Record, Attrib, Relation};
[INFO] [stdout]   |                           ^^^^  ^^^^^^  ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read`, `fs`, `path::PathBuf`
[INFO] [stdout]  --> src/prompt.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{fs, io::{Read, prelude::*, self}, path::PathBuf};
[INFO] [stdout]   |           ^^       ^^^^                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Action`, `Entry`, `Fact`, `Relation`, `note::Note`
[INFO] [stdout]  --> src/args/search.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Entry, Fact, Record, Item, Attrib,
[INFO] [stdout]   |     ^^^^^  ^^^^
[INFO] [stdout] 7 |     note::Note, Action, Relation, fact::{FactValue, Unit},
[INFO] [stdout]   |     ^^^^^^^^^^  ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> src/models/data.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 |     io::{Read, Write}
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entry`
[INFO] [stdout]  --> src/models/fact/value.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         Entry,
[INFO] [stdout]   |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/models/record.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 |     io::{Read, Write},
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/models/date.rs:166:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |             Datelike::Weekday(w, RelativeTo::Now(r)) => write!(f, "Month {}, Relative to {}", w, r),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]    --> src/store.rs:124:15
[INFO] [stdout]     |
[INFO] [stdout] 124 |     fn insert(db: &sled::Db) -> sled::Result<()> {
[INFO] [stdout]     |               ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]    --> src/store.rs:130:15
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn delete(db: &sled::Db) -> sled::Result<()> {
[INFO] [stdout]     |               ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fact`
[INFO] [stdout]   --> src/store.rs:34:31
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn insert_fact(&self, fact: Fact) -> sled::Result<()> {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_fact`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kind`
[INFO] [stdout]   --> src/store.rs:81:22
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn remove(&self, kind: &str, name: &str) -> Option<IVec> {
[INFO] [stdout]    |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_kind`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> src/store.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let db = SConfig::default()
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `record`
[INFO] [stdout]    --> src/store.rs:105:34
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn add_record(&mut self, record: Record) {
[INFO] [stdout]     |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `record`
[INFO] [stdout]    --> src/store.rs:112:37
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn remove_record(&mut self, record: &str) -> Result<(), DError> {
[INFO] [stdout]     |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir`
[INFO] [stdout]    --> src/store.rs:116:52
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub fn change_dir<D: Into<PathBuf>>(&mut self, dir: D) -> Result<(), DError> {
[INFO] [stdout]     |                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `term`
[INFO] [stdout]    --> src/cmd.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let term = TermSettings::new();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_term`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conf`
[INFO] [stdout]    --> src/cmd.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |         let conf = DConfig::load().expect("Could not load config");
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_conf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/cmd.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let data = crate::models::data::Data::new().expect("could not load data");
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matches`
[INFO] [stdout]    --> src/cmd.rs:401:25
[INFO] [stdout]     |
[INFO] [stdout] 401 |     fn from_arg_matches(matches: &ArgMatches) -> Self {
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `subc`
[INFO] [stdout]    --> src/cmd/fact.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let subc = FactCmd::from_subcommand(matches.subcommand());
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_subc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_filts`
[INFO] [stdout]    --> src/cmd/fact.rs:120:25
[INFO] [stdout]     |
[INFO] [stdout] 120 |                     let r_filts = r_filts
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_r_filts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i_filts`
[INFO] [stdout]    --> src/cmd/fact.rs:129:25
[INFO] [stdout]     |
[INFO] [stdout] 129 |                     let i_filts = i_filts
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_i_filts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filters`
[INFO] [stdout]    --> src/cmd/fact.rs:136:21
[INFO] [stdout]     |
[INFO] [stdout] 136 |                 let filters = Filters::from_arg_matches(matches);
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filters`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/fact.rs:139:27
[INFO] [stdout]     |
[INFO] [stdout] 139 |             Some(("list", sub)) => {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/fact.rs:143:27
[INFO] [stdout]     |
[INFO] [stdout] 143 |             Some(("info", sub)) => {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/action.rs:135:26
[INFO] [stdout]     |
[INFO] [stdout] 135 |             Some(("new", sub)) => {
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/action.rs:138:29
[INFO] [stdout]     |
[INFO] [stdout] 138 |             Some(("search", sub)) => {
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/action.rs:141:27
[INFO] [stdout]     |
[INFO] [stdout] 141 |             Some(("list", sub)) => {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/action.rs:144:27
[INFO] [stdout]     |
[INFO] [stdout] 144 |             Some(("info", sub)) => {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/cmd/record.rs:129:21
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 let s = Self::default();
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/link.rs:109:26
[INFO] [stdout]     |
[INFO] [stdout] 109 |             Some(("new", sub)) => {
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/link.rs:111:29
[INFO] [stdout]     |
[INFO] [stdout] 111 |             Some(("search", sub)) => {
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/link.rs:113:27
[INFO] [stdout]     |
[INFO] [stdout] 113 |             Some(("list", sub)) => {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/link.rs:115:27
[INFO] [stdout]     |
[INFO] [stdout] 115 |             Some(("info", sub)) => {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rec`
[INFO] [stdout]   --> src/models/data.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let rec = self.path.join("records.toml");
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_rec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/models/fact/entry.rs:122:23
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn parse_date(val: String) -> chrono_english::DateResult<String> {
[INFO] [stdout]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ue1`
[INFO] [stdout]   --> src/models/fact/value.rs:52:29
[INFO] [stdout]    |
[INFO] [stdout] 52 |             (Self::UserEnum(ue1), Self::UserEnum(ue2)) => {
[INFO] [stdout]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_ue1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ue2`
[INFO] [stdout]   --> src/models/fact/value.rs:52:50
[INFO] [stdout]    |
[INFO] [stdout] 52 |             (Self::UserEnum(ue1), Self::UserEnum(ue2)) => {
[INFO] [stdout]    |                                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ue2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r1`
[INFO] [stdout]   --> src/models/fact/value.rs:59:54
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 (Datelike::Month(m1, RelativeTo::Now(r1)), Datelike::Month(m2, RelativeTo::Now(r2))) => m1.eq(&m2),
[INFO] [stdout]    |                                                      ^^ help: if this is intentional, prefix it with an underscore: `_r1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r2`
[INFO] [stdout]   --> src/models/fact/value.rs:59:96
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 (Datelike::Month(m1, RelativeTo::Now(r1)), Datelike::Month(m2, RelativeTo::Now(r2))) => m1.eq(&m2),
[INFO] [stdout]    |                                                                                                ^^ help: if this is intentional, prefix it with an underscore: `_r2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/models/fact/value.rs:74:42
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn hash<H: std::hash::Hasher>(&self, state: &mut H) {
[INFO] [stdout]    |                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/models/fact/value.rs:77:41
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn hash_slice<H: std::hash::Hasher>(data: &[Self], state: &mut H)
[INFO] [stdout]    |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/models/fact/value.rs:77:56
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn hash_slice<H: std::hash::Hasher>(data: &[Self], state: &mut H)
[INFO] [stdout]    |                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s_s`
[INFO] [stdout]    --> src/models/fact/value.rs:114:17
[INFO] [stdout]     |
[INFO] [stdout] 114 |             let s_s = s.split_whitespace().collect::<Vec<&str>>();
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_s_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `unit`
[INFO] [stdout]   --> src/models/fact/units.rs:64:21
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 let unit: String = split.into_iter().collect();
[INFO] [stdout]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `today`
[INFO] [stdout]   --> src/models/fact/units.rs:77:25
[INFO] [stdout]    |
[INFO] [stdout] 77 |                     let today = Local::now().weekday();
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_today`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inp_sp`
[INFO] [stdout]    --> src/models/fact/units.rs:166:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let inp_sp = inp.split_whitespace();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_inp_sp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/models/fact/units.rs:174:32
[INFO] [stdout]     |
[INFO] [stdout] 174 |             FactValue::Boolean(b) => Self::Boolean,
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `record`
[INFO] [stdout]    --> src/models/item.rs:116:31
[INFO] [stdout]     |
[INFO] [stdout] 116 |             (Some(item), Some(record)) => {
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rec`
[INFO] [stdout]    --> src/models/record.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let rec = path.join("dlog").join("dlog");
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_rec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/models/record.rs:119:17
[INFO] [stdout]     |
[INFO] [stdout] 119 |             Err(e) => Ok(Self::default()),
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matches`
[INFO] [stdout]    --> src/models/record.rs:241:25
[INFO] [stdout]     |
[INFO] [stdout] 241 |     fn from_arg_matches(matches: &ArgMatches) -> Self {
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `date`
[INFO] [stdout]   --> src/models/date.rs:87:17
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let mut date: Option<Datelike> = None;
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dur`
[INFO] [stdout]   --> src/models/date.rs:88:17
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let mut dur: Option<chrono::Duration> = None;
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_dur`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> src/models/date.rs:97:30
[INFO] [stdout]    |
[INFO] [stdout] 97 |             } else if let Ok(t) = parse_date_string(time.as_str(), Local::now(), Dialect::Us) {
[INFO] [stdout]    |                              ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first`
[INFO] [stdout]    --> src/models/date.rs:107:22
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 let (first, sr1) = s.split_at(first);
[INFO] [stdout]     |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_first`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sr2`
[INFO] [stdout]    --> src/models/date.rs:108:22
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 let (sr2, last) = sr1.split_at(last);
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_sr2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last`
[INFO] [stdout]    --> src/models/date.rs:108:27
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 let (sr2, last) = sr1.split_at(last);
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_last`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `datetime`
[INFO] [stdout]   --> src/util.rs:79:23
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub fn split_datetime(datetime: chrono::DateTime<chrono::Utc>) -> () {
[INFO] [stdout]    |                       ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_datetime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/error.rs:28:37
[INFO] [stdout]    |
[INFO] [stdout] 28 |             DError::KeyRejected(ref err) => None,
[INFO] [stdout]    |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matches`
[INFO] [stdout]   --> src/args/list.rs:64:25
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn from_arg_matches(matches: &clap::ArgMatches) -> Self {
[INFO] [stdout]    |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matches`
[INFO] [stdout]   --> src/args/search.rs:70:25
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn from_arg_matches(matches: &clap::ArgMatches) -> Self {
[INFO] [stdout]    |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matches`
[INFO] [stdout]   --> src/args/search.rs:92:25
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn from_arg_matches(matches: &ArgMatches) -> Self {
[INFO] [stdout]    |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/models/date.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let mut date: Option<Datelike> = None;
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/models/date.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let mut dur: Option<chrono::Duration> = None;
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/search.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let mut pb = ProgressBar::new(50);
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `export`
[INFO] [stdout]   --> src/store.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn export(&self) -> Vec<(Vec<u8>, Vec<u8>, impl Iterator<Item=Vec<Vec<u8>>>)> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `remove`
[INFO] [stdout]   --> src/store.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn remove(&self, kind: &str, name: &str) -> Option<IVec> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `atty`
[INFO] [stdout]   --> src/cmd.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     atty: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `id`
[INFO] [stdout]    --> src/models/record.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 257 |     id: uuid::Uuid,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `uid`
[INFO] [stdout]    --> src/models/record.rs:258:5
[INFO] [stdout]     |
[INFO] [stdout] 258 |     uid: uuid::Uuid,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `name`
[INFO] [stdout]    --> src/models/record.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 |     name: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `username`
[INFO] [stdout]    --> src/models/record.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 263 |     username: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `at`
[INFO] [stdout]    --> src/models/date.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     at: chrono::NaiveTime,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `duration`
[INFO] [stdout]    --> src/models/date.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     duration: Option<std::time::Duration>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `name`
[INFO] [stdout]  --> src/models/topic.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     name: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `descr`
[INFO] [stdout]  --> src/models/topic.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     descr: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Unit` should have a snake case name
[INFO] [stdout]    --> src/models/fact/mod.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let Unit = Unit::from_match(matches.values_of("UNIT"));
[INFO] [stdout]     |             ^^^^ help: convert the identifier to snake case (notice the capitalization): `unit`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `link_Unit` should have a snake case name
[INFO] [stdout]    --> src/models/fact/mod.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |         let link_Unit = Unit::from_match(matches.values_of("link-unit"));
[INFO] [stdout]     |             ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `link_unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Unit` should have a snake case name
[INFO] [stdout]    --> src/models/fact/mod.rs:127:13
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let Unit = if link_Unit == Unit::None { Unit } else { link_Unit };
[INFO] [stdout]     |             ^^^^ help: convert the identifier to snake case (notice the capitalization): `unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Unit` should have a snake case name
[INFO] [stdout]   --> src/models/fact/units.rs:49:23
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn from_match(Unit: Option<clap::Values>) -> Self {
[INFO] [stdout]    |                       ^^^^ help: convert the identifier to snake case (notice the capitalization): `unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Unit` should have a snake case name
[INFO] [stdout]   --> src/models/fact/units.rs:50:21
[INFO] [stdout]    |
[INFO] [stdout] 50 |         if let Some(Unit) = Unit {
[INFO] [stdout]    |                     ^^^^ help: convert the identifier to snake case (notice the capitalization): `unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Unit` should have a snake case name
[INFO] [stdout]   --> src/models/fact/units.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 |             let Unit = Unit.map(|u| u.to_string()).collect::<Vec<String>>();
[INFO] [stdout]    |                 ^^^^ help: convert the identifier to snake case (notice the capitalization): `unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Unit` should have a snake case name
[INFO] [stdout]    --> src/models/fact/units.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn from(Unit: Vec<String>) -> Self {
[INFO] [stdout]     |             ^^^^ help: convert the identifier to snake case (notice the capitalization): `unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 133 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1m 04s
[INFO] running `Command { std: "docker" "inspect" "7970ccaffecc4d10084e930c6de2b06e39173bd3ba979ecc3fa157097a96fb32", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7970ccaffecc4d10084e930c6de2b06e39173bd3ba979ecc3fa157097a96fb32", kill_on_drop: false }`
[INFO] [stdout] 7970ccaffecc4d10084e930c6de2b06e39173bd3ba979ecc3fa157097a96fb32
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/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=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 60aa130eb5eaa16d853a1bc13e049d63d56453bb7c8b46563a4d1843a26c9ff2
[INFO] running `Command { std: "docker" "start" "-a" "60aa130eb5eaa16d853a1bc13e049d63d56453bb7c8b46563a4d1843a26c9ff2", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: package.default_run
[INFO] [stderr]    Compiling futures-core v0.3.8
[INFO] [stderr]    Compiling pin-project-lite v0.2.1
[INFO] [stderr]    Compiling futures-sink v0.3.8
[INFO] [stderr]    Compiling futures-io v0.3.8
[INFO] [stderr]    Compiling arrayvec v0.5.2
[INFO] [stderr]    Compiling predicates-core v1.0.0
[INFO] [stderr]    Compiling treeline v0.1.0
[INFO] [stderr]    Compiling zeroize v0.9.3
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling number_prefix v0.3.0
[INFO] [stderr]    Compiling scanlex v0.1.4
[INFO] [stderr]    Compiling futures-task v0.3.8
[INFO] [stderr]    Compiling http v0.2.2
[INFO] [stderr]    Compiling net2 v0.2.37
[INFO] [stderr]    Compiling iovec v0.1.4
[INFO] [stderr]    Compiling terminal_size v0.1.15
[INFO] [stderr]    Compiling parking_lot_core v0.8.1
[INFO] [stderr]    Compiling mio v0.7.6
[INFO] [stderr]    Compiling want v0.3.0
[INFO] [stderr]    Compiling socket2 v0.3.17
[INFO] [stderr]    Compiling csv-core v0.1.10
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling dirs-sys-next v0.1.1
[INFO] [stderr]    Compiling wait-timeout v0.2.0
[INFO] [stderr]    Compiling openssl-sys v0.9.60
[INFO] [stderr]    Compiling ring v0.16.19
[INFO] [stderr]    Compiling colored v2.0.0
[INFO] [stderr]    Compiling float-cmp v0.8.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.1
[INFO] [stderr]    Compiling serde v1.0.117
[INFO] [stderr]    Compiling pin-project v1.0.3
[INFO] [stderr]    Compiling pin-project v0.4.27
[INFO] [stderr]    Compiling zerocopy v0.3.0
[INFO] [stderr]    Compiling tracing v0.1.22
[INFO] [stderr]    Compiling futures-channel v0.3.8
[INFO] [stdout] warning: unused import: `Db`
[INFO] [stdout]  --> src/store.rs:2:31
[INFO] [stdout]   |
[INFO] [stdout] 2 | use sled::{Config as SConfig, Db, IVec};
[INFO] [stdout]   |                               ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `U16`, `U32`
[INFO] [stdout]  --> src/store.rs:5:72
[INFO] [stdout]   |
[INFO] [stdout] 5 |         byteorder::U64, AsBytes, FromBytes, LayoutVerified, Unaligned, U16, U32,
[INFO] [stdout]   |                                                                        ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Item`, `config::DConfig`
[INFO] [stdout]   --> src/store.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout] 8  |     config::DConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 9  |     error::DError,
[INFO] [stdout] 10 |     models::{Record, Fact, Item},
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime`, `Local`
[INFO] [stdout]  --> src/cmd/fact.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::{DateTime, Local};
[INFO] [stdout]   |              ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Unit`, `attrib::Attrib`, `item::Item`, `note::Notes`, `prompt::prompt`, `record::Record`
[INFO] [stdout]   --> src/cmd/fact.rs:5:36
[INFO] [stdout]    |
[INFO] [stdout] 5  |         fact::{Fact, AbstractFact, Unit},
[INFO] [stdout]    |                                    ^^^^
[INFO] [stdout] 6  |         note::Notes,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 7  |         item::Item,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 8  |         attrib::Attrib,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 9  |         record::Record,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     prompt::prompt,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `action::Action`
[INFO] [stdout]  --> src/cmd/relation.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |         action::Action,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Record`
[INFO] [stdout]  --> src/cmd/item.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 |     models::{Item, Record, fact::{Fact, AbstractFact}},
[INFO] [stdout]   |                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ArgSettings`
[INFO] [stdout]  --> src/cmd/item.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use clap::{Arg, ArgMatches, ArgSettings, FromArgMatches};
[INFO] [stdout]   |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entry`
[INFO] [stdout]  --> src/cmd/record.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |         Entry, record::Record
[INFO] [stdout]   |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Style`, `Styles`
[INFO] [stdout]  --> src/cmd/record.rs:7:32
[INFO] [stdout]   |
[INFO] [stdout] 7 | use colored::{Color, Colorize, Style, Styles};
[INFO] [stdout]   |                                ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Action`, `Fact`, `Relation`, `note::Note`
[INFO] [stdout]   --> src/cmd.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |     Entry, Fact, Record, Item, Attrib,
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 26 |     note::Note, Action, Relation,  Unit, FactValue,
[INFO] [stdout]    |     ^^^^^^^^^^  ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]  --> src/models/action.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{fmt, collections::HashMap};
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AbstractFact`, `Entry`, `Relation`
[INFO] [stdout]  --> src/models/data.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |         Entry, Unit, Action, Note, Item, fact::{FactValue, Fact, AbstractFact},
[INFO] [stdout]   |         ^^^^^                                                    ^^^^^^^^^^^^
[INFO] [stdout] 5 |         Attrib, Relation,
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attribute`, `Cell`, `Color as TColor`, `ContentArrangement`, `Table`, `presets::UTF8_BORDERS_ONLY`
[INFO] [stdout]   --> src/models/data.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Table, ContentArrangement, presets::UTF8_BORDERS_ONLY,
[INFO] [stdout]    |     ^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     Cell, Attribute, Color as TColor,
[INFO] [stdout]    |     ^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `convert::TryFrom`, `rc::Rc`
[INFO] [stdout]   --> src/models/data.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     convert::TryFrom,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     rc::Rc,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToRow`
[INFO] [stdout]  --> src/models/fact/entry.rs:3:39
[INFO] [stdout]   |
[INFO] [stdout] 3 |     Cell, Attribute, Color as TColor, ToRow,
[INFO] [stdout]   |                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attribs`, `Datelike`, `Duration`, `Notes`, `Recurring`, `RelativeTo`, `csv as Csv`
[INFO] [stdout]   --> src/models/fact/entry.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  |     csv as Csv, prompt,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |         note::{Note, Notes},
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 13 |         attrib::{Attrib, Attribs},
[INFO] [stdout]    |                          ^^^^^^^
[INFO] [stdout] 14 |         date::{Datelike, Duration, RelativeTo, Recurring},
[INFO] [stdout]    |                ^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap`, `convert::TryFrom`, `str::FromStr`
[INFO] [stdout]   --> src/models/fact/entry.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::{convert::TryFrom, fmt, path::PathBuf, collections::HashMap, str::FromStr};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^                      ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Colorize`
[INFO] [stdout]   --> src/models/fact/entry.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 22 | use colored::{Color, Colorize};
[INFO] [stdout]    |               ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attribute`, `Cell`, `Color as TColor`, `ContentArrangement`, `Table`, `ToRow`, `presets`
[INFO] [stdout]  --> src/models/fact/value.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Table, ContentArrangement, presets,
[INFO] [stdout]   |     ^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 3 |     Cell, Attribute, Color as TColor, ToRow,
[INFO] [stdout]   |     ^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attrib`, `Attribs`, `Note`, `Notes`, `UserUnit`, `csv as csv`, `item::Item`, `prompt`, `record::Record`
[INFO] [stdout]   --> src/models/fact/value.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  |     csv as csv, prompt,
[INFO] [stdout]    |     ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 9  |         fact::{Unit, UserUnit},
[INFO] [stdout]    |                      ^^^^^^^^
[INFO] [stdout] 10 |         record::Record,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 11 |         item::Item,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 12 |         note::{Note, Notes},
[INFO] [stdout]    |                ^^^^  ^^^^^
[INFO] [stdout] 13 |         attrib::{Attrib, Attribs},
[INFO] [stdout]    |                  ^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/models/fact/value.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `convert::TryFrom`, `path::PathBuf`, `str::FromStr`
[INFO] [stdout]   --> src/models/fact/value.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::{convert::TryFrom, fmt, path::PathBuf, collections::HashMap, str::FromStr};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^       ^^^^^^^^^^^^^                        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]   --> src/models/fact/value.rs:20:14
[INFO] [stdout]    |
[INFO] [stdout] 20 | use chrono::{DateTime, Local};
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Colorize`
[INFO] [stdout]   --> src/models/fact/value.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 22 | use colored::{Color, Colorize};
[INFO] [stdout]    |               ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `convert::TryFrom`, `path::PathBuf`, `time`
[INFO] [stdout]  --> src/models/fact/units.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{fmt, path::PathBuf, convert::TryFrom, time};
[INFO] [stdout]   |                ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Utc`, `format`
[INFO] [stdout]  --> src/models/fact/units.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | use chrono::{Utc, DateTime, Duration, format, prelude::*};
[INFO] [stdout]   |              ^^^                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateError`, `parse_date_string`
[INFO] [stdout]  --> src/models/fact/units.rs:6:31
[INFO] [stdout]   |
[INFO] [stdout] 6 | use chrono_english::{Dialect, DateError, parse_date_string};
[INFO] [stdout]   |                               ^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArgMatches`, `FromArgMatches`
[INFO] [stdout]  --> src/models/fact/units.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use clap::{ArgMatches, FromArgMatches};
[INFO] [stdout]   |            ^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Colorize`
[INFO] [stdout]  --> src/models/fact/units.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use colored::{Color, Colorize};
[INFO] [stdout]   |               ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attribs`, `Datelike`, `Duration`, `Entry`, `Notes`, `Recurring`, `RelativeTo`, `csv as csv`, `item::Item`, `record::Record`
[INFO] [stdout]   --> src/models/fact/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     csv as csv, prompt,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 17 |     models::{
[INFO] [stdout] 18 |         Entry,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 19 |         record::Record,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 20 |         item::Item,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 21 |         note::{Note, Notes},
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 22 |         attrib::{Attrib, Attribs},
[INFO] [stdout]    |                          ^^^^^^^
[INFO] [stdout] 23 |         date::{Datelike, Duration, RelativeTo, Recurring},
[INFO] [stdout]    |                ^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/models/fact/mod.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap`, `convert::TryFrom`, `path::PathBuf`, `str::FromStr`
[INFO] [stdout]   --> src/models/fact/mod.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | use std::{convert::TryFrom, fmt, path::PathBuf, collections::HashMap, str::FromStr};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^       ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Colorize`
[INFO] [stdout]   --> src/models/fact/mod.rs:31:15
[INFO] [stdout]    |
[INFO] [stdout] 31 | use colored::{Color, Colorize};
[INFO] [stdout]    |               ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap`, `str::FromStr`
[INFO] [stdout]  --> src/models/attrib.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{fmt, str::FromStr, collections::HashMap};
[INFO] [stdout]   |                ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UTF8_BORDERS_ONLY`
[INFO] [stdout]  --> src/models/item.rs:2:48
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Table, ContentArrangement, presets::{self, UTF8_BORDERS_ONLY},
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rc::Rc`
[INFO] [stdout]  --> src/models/item.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::{rc::Rc, path::PathBuf};
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Utc`
[INFO] [stdout]  --> src/models/item.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use chrono::{prelude::*, Utc, DateTime};
[INFO] [stdout]   |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArgSettings`, `Arg`
[INFO] [stdout]   --> src/models/item.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | use clap::{Arg, ArgMatches, ArgSettings, FromArgMatches};
[INFO] [stdout]    |            ^^^              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Unit`
[INFO] [stdout]   --> src/models/record.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |     models::{Entry, Unit, Item, fact::{Fact, AbstractFact}},
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `convert::TryFrom`, `str::FromStr`
[INFO] [stdout]  --> src/models/date.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt, convert::TryFrom, str::FromStr};
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::error::DError`
[INFO] [stdout]  --> src/models/date.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::error::DError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `humantime::parse_duration`
[INFO] [stdout]  --> src/models/date.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use humantime::parse_duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `humantime_serde::Serde`
[INFO] [stdout]  --> src/models/date.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use humantime_serde::Serde;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `prelude::*`
[INFO] [stdout]  --> src/models/date.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | use chrono::{prelude::*, DateTime, Local};
[INFO] [stdout]   |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap`, `convert::TryInto`, `prelude::*`, `self`
[INFO] [stdout]  --> src/config.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 |     io::{self, prelude::*, Read, Write},
[INFO] [stdout]   |          ^^^^  ^^^^^^^^^^
[INFO] [stdout] 5 |     path::PathBuf,
[INFO] [stdout] 6 |     convert::TryInto,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |     collections::HashMap,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Colorize`
[INFO] [stdout]  --> src/util.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use colored::{Colorize, Color};
[INFO] [stdout]   |               ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> src/util.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::{fs, io::{Read, prelude::*, self}, path::PathBuf};
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num`
[INFO] [stdout]  --> src/error.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt, io, num, error};
[INFO] [stdout]   |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attrib`, `Item`, `Record`, `Relation`
[INFO] [stdout]  --> src/search.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::models::{Fact, Item, Record, Attrib, Relation};
[INFO] [stdout]   |                           ^^^^  ^^^^^^  ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read`, `fs`, `path::PathBuf`
[INFO] [stdout]  --> src/prompt.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{fs, io::{Read, prelude::*, self}, path::PathBuf};
[INFO] [stdout]   |           ^^       ^^^^                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Action`, `Entry`, `Fact`, `Relation`, `note::Note`
[INFO] [stdout]  --> src/args/search.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Entry, Fact, Record, Item, Attrib,
[INFO] [stdout]   |     ^^^^^  ^^^^
[INFO] [stdout] 7 |     note::Note, Action, Relation, fact::{FactValue, Unit},
[INFO] [stdout]   |     ^^^^^^^^^^  ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> src/models/data.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 |     io::{Read, Write}
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entry`
[INFO] [stdout]  --> src/models/fact/value.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         Entry,
[INFO] [stdout]   |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/models/record.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 |     io::{Read, Write},
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/models/date.rs:166:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |             Datelike::Weekday(w, RelativeTo::Now(r)) => write!(f, "Month {}, Relative to {}", w, r),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]    --> src/store.rs:124:15
[INFO] [stdout]     |
[INFO] [stdout] 124 |     fn insert(db: &sled::Db) -> sled::Result<()> {
[INFO] [stdout]     |               ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]    --> src/store.rs:130:15
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn delete(db: &sled::Db) -> sled::Result<()> {
[INFO] [stdout]     |               ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fact`
[INFO] [stdout]   --> src/store.rs:34:31
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn insert_fact(&self, fact: Fact) -> sled::Result<()> {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_fact`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kind`
[INFO] [stdout]   --> src/store.rs:81:22
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn remove(&self, kind: &str, name: &str) -> Option<IVec> {
[INFO] [stdout]    |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_kind`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> src/store.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let db = SConfig::default()
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `record`
[INFO] [stdout]    --> src/store.rs:105:34
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn add_record(&mut self, record: Record) {
[INFO] [stdout]     |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `record`
[INFO] [stdout]    --> src/store.rs:112:37
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn remove_record(&mut self, record: &str) -> Result<(), DError> {
[INFO] [stdout]     |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir`
[INFO] [stdout]    --> src/store.rs:116:52
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub fn change_dir<D: Into<PathBuf>>(&mut self, dir: D) -> Result<(), DError> {
[INFO] [stdout]     |                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `term`
[INFO] [stdout]    --> src/cmd.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let term = TermSettings::new();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_term`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conf`
[INFO] [stdout]    --> src/cmd.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |         let conf = DConfig::load().expect("Could not load config");
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_conf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/cmd.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let data = crate::models::data::Data::new().expect("could not load data");
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matches`
[INFO] [stdout]    --> src/cmd.rs:401:25
[INFO] [stdout]     |
[INFO] [stdout] 401 |     fn from_arg_matches(matches: &ArgMatches) -> Self {
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `subc`
[INFO] [stdout]    --> src/cmd/fact.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let subc = FactCmd::from_subcommand(matches.subcommand());
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_subc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_filts`
[INFO] [stdout]    --> src/cmd/fact.rs:120:25
[INFO] [stdout]     |
[INFO] [stdout] 120 |                     let r_filts = r_filts
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_r_filts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i_filts`
[INFO] [stdout]    --> src/cmd/fact.rs:129:25
[INFO] [stdout]     |
[INFO] [stdout] 129 |                     let i_filts = i_filts
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_i_filts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filters`
[INFO] [stdout]    --> src/cmd/fact.rs:136:21
[INFO] [stdout]     |
[INFO] [stdout] 136 |                 let filters = Filters::from_arg_matches(matches);
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filters`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/fact.rs:139:27
[INFO] [stdout]     |
[INFO] [stdout] 139 |             Some(("list", sub)) => {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/fact.rs:143:27
[INFO] [stdout]     |
[INFO] [stdout] 143 |             Some(("info", sub)) => {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/action.rs:135:26
[INFO] [stdout]     |
[INFO] [stdout] 135 |             Some(("new", sub)) => {
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/action.rs:138:29
[INFO] [stdout]     |
[INFO] [stdout] 138 |             Some(("search", sub)) => {
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/action.rs:141:27
[INFO] [stdout]     |
[INFO] [stdout] 141 |             Some(("list", sub)) => {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/action.rs:144:27
[INFO] [stdout]     |
[INFO] [stdout] 144 |             Some(("info", sub)) => {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/cmd/record.rs:129:21
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 let s = Self::default();
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/link.rs:109:26
[INFO] [stdout]     |
[INFO] [stdout] 109 |             Some(("new", sub)) => {
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/link.rs:111:29
[INFO] [stdout]     |
[INFO] [stdout] 111 |             Some(("search", sub)) => {
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/link.rs:113:27
[INFO] [stdout]     |
[INFO] [stdout] 113 |             Some(("list", sub)) => {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/link.rs:115:27
[INFO] [stdout]     |
[INFO] [stdout] 115 |             Some(("info", sub)) => {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rec`
[INFO] [stdout]   --> src/models/data.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let rec = self.path.join("records.toml");
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_rec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/models/fact/entry.rs:122:23
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn parse_date(val: String) -> chrono_english::DateResult<String> {
[INFO] [stdout]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ue1`
[INFO] [stdout]   --> src/models/fact/value.rs:52:29
[INFO] [stdout]    |
[INFO] [stdout] 52 |             (Self::UserEnum(ue1), Self::UserEnum(ue2)) => {
[INFO] [stdout]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_ue1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ue2`
[INFO] [stdout]   --> src/models/fact/value.rs:52:50
[INFO] [stdout]    |
[INFO] [stdout] 52 |             (Self::UserEnum(ue1), Self::UserEnum(ue2)) => {
[INFO] [stdout]    |                                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ue2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r1`
[INFO] [stdout]   --> src/models/fact/value.rs:59:54
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 (Datelike::Month(m1, RelativeTo::Now(r1)), Datelike::Month(m2, RelativeTo::Now(r2))) => m1.eq(&m2),
[INFO] [stdout]    |                                                      ^^ help: if this is intentional, prefix it with an underscore: `_r1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r2`
[INFO] [stdout]   --> src/models/fact/value.rs:59:96
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 (Datelike::Month(m1, RelativeTo::Now(r1)), Datelike::Month(m2, RelativeTo::Now(r2))) => m1.eq(&m2),
[INFO] [stdout]    |                                                                                                ^^ help: if this is intentional, prefix it with an underscore: `_r2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/models/fact/value.rs:74:42
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn hash<H: std::hash::Hasher>(&self, state: &mut H) {
[INFO] [stdout]    |                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/models/fact/value.rs:77:41
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn hash_slice<H: std::hash::Hasher>(data: &[Self], state: &mut H)
[INFO] [stdout]    |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/models/fact/value.rs:77:56
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn hash_slice<H: std::hash::Hasher>(data: &[Self], state: &mut H)
[INFO] [stdout]    |                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s_s`
[INFO] [stdout]    --> src/models/fact/value.rs:114:17
[INFO] [stdout]     |
[INFO] [stdout] 114 |             let s_s = s.split_whitespace().collect::<Vec<&str>>();
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_s_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `unit`
[INFO] [stdout]   --> src/models/fact/units.rs:64:21
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 let unit: String = split.into_iter().collect();
[INFO] [stdout]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `today`
[INFO] [stdout]   --> src/models/fact/units.rs:77:25
[INFO] [stdout]    |
[INFO] [stdout] 77 |                     let today = Local::now().weekday();
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_today`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inp_sp`
[INFO] [stdout]    --> src/models/fact/units.rs:166:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let inp_sp = inp.split_whitespace();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_inp_sp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/models/fact/units.rs:174:32
[INFO] [stdout]     |
[INFO] [stdout] 174 |             FactValue::Boolean(b) => Self::Boolean,
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `record`
[INFO] [stdout]    --> src/models/item.rs:116:31
[INFO] [stdout]     |
[INFO] [stdout] 116 |             (Some(item), Some(record)) => {
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rec`
[INFO] [stdout]    --> src/models/record.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let rec = path.join("dlog").join("dlog");
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_rec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/models/record.rs:119:17
[INFO] [stdout]     |
[INFO] [stdout] 119 |             Err(e) => Ok(Self::default()),
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matches`
[INFO] [stdout]    --> src/models/record.rs:241:25
[INFO] [stdout]     |
[INFO] [stdout] 241 |     fn from_arg_matches(matches: &ArgMatches) -> Self {
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `date`
[INFO] [stdout]   --> src/models/date.rs:87:17
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let mut date: Option<Datelike> = None;
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dur`
[INFO] [stdout]   --> src/models/date.rs:88:17
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let mut dur: Option<chrono::Duration> = None;
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_dur`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> src/models/date.rs:97:30
[INFO] [stdout]    |
[INFO] [stdout] 97 |             } else if let Ok(t) = parse_date_string(time.as_str(), Local::now(), Dialect::Us) {
[INFO] [stdout]    |                              ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first`
[INFO] [stdout]    --> src/models/date.rs:107:22
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 let (first, sr1) = s.split_at(first);
[INFO] [stdout]     |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_first`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sr2`
[INFO] [stdout]    --> src/models/date.rs:108:22
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 let (sr2, last) = sr1.split_at(last);
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_sr2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last`
[INFO] [stdout]    --> src/models/date.rs:108:27
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 let (sr2, last) = sr1.split_at(last);
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_last`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `datetime`
[INFO] [stdout]   --> src/util.rs:79:23
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub fn split_datetime(datetime: chrono::DateTime<chrono::Utc>) -> () {
[INFO] [stdout]    |                       ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_datetime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/error.rs:28:37
[INFO] [stdout]    |
[INFO] [stdout] 28 |             DError::KeyRejected(ref err) => None,
[INFO] [stdout]    |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matches`
[INFO] [stdout]   --> src/args/list.rs:64:25
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn from_arg_matches(matches: &clap::ArgMatches) -> Self {
[INFO] [stdout]    |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matches`
[INFO] [stdout]   --> src/args/search.rs:70:25
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn from_arg_matches(matches: &clap::ArgMatches) -> Self {
[INFO] [stdout]    |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matches`
[INFO] [stdout]   --> src/args/search.rs:92:25
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn from_arg_matches(matches: &ArgMatches) -> Self {
[INFO] [stdout]    |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/models/date.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let mut date: Option<Datelike> = None;
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/models/date.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let mut dur: Option<chrono::Duration> = None;
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/search.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let mut pb = ProgressBar::new(50);
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `export`
[INFO] [stdout]   --> src/store.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn export(&self) -> Vec<(Vec<u8>, Vec<u8>, impl Iterator<Item=Vec<Vec<u8>>>)> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `remove`
[INFO] [stdout]   --> src/store.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn remove(&self, kind: &str, name: &str) -> Option<IVec> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `atty`
[INFO] [stdout]   --> src/cmd.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     atty: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `id`
[INFO] [stdout]    --> src/models/record.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 257 |     id: uuid::Uuid,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `uid`
[INFO] [stdout]    --> src/models/record.rs:258:5
[INFO] [stdout]     |
[INFO] [stdout] 258 |     uid: uuid::Uuid,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `name`
[INFO] [stdout]    --> src/models/record.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 |     name: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `username`
[INFO] [stdout]    --> src/models/record.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 263 |     username: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `at`
[INFO] [stdout]    --> src/models/date.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     at: chrono::NaiveTime,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `duration`
[INFO] [stdout]    --> src/models/date.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     duration: Option<std::time::Duration>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `name`
[INFO] [stdout]  --> src/models/topic.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     name: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `descr`
[INFO] [stdout]  --> src/models/topic.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     descr: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Unit` should have a snake case name
[INFO] [stdout]    --> src/models/fact/mod.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let Unit = Unit::from_match(matches.values_of("UNIT"));
[INFO] [stdout]     |             ^^^^ help: convert the identifier to snake case (notice the capitalization): `unit`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `link_Unit` should have a snake case name
[INFO] [stdout]    --> src/models/fact/mod.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |         let link_Unit = Unit::from_match(matches.values_of("link-unit"));
[INFO] [stdout]     |             ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `link_unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Unit` should have a snake case name
[INFO] [stdout]    --> src/models/fact/mod.rs:127:13
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let Unit = if link_Unit == Unit::None { Unit } else { link_Unit };
[INFO] [stdout]     |             ^^^^ help: convert the identifier to snake case (notice the capitalization): `unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Unit` should have a snake case name
[INFO] [stdout]   --> src/models/fact/units.rs:49:23
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn from_match(Unit: Option<clap::Values>) -> Self {
[INFO] [stdout]    |                       ^^^^ help: convert the identifier to snake case (notice the capitalization): `unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Unit` should have a snake case name
[INFO] [stdout]   --> src/models/fact/units.rs:50:21
[INFO] [stdout]    |
[INFO] [stdout] 50 |         if let Some(Unit) = Unit {
[INFO] [stdout]    |                     ^^^^ help: convert the identifier to snake case (notice the capitalization): `unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Unit` should have a snake case name
[INFO] [stdout]   --> src/models/fact/units.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 |             let Unit = Unit.map(|u| u.to_string()).collect::<Vec<String>>();
[INFO] [stdout]    |                 ^^^^ help: convert the identifier to snake case (notice the capitalization): `unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Unit` should have a snake case name
[INFO] [stdout]    --> src/models/fact/units.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn from(Unit: Vec<String>) -> Self {
[INFO] [stdout]     |             ^^^^ help: convert the identifier to snake case (notice the capitalization): `unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 133 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling mio v0.6.23
[INFO] [stderr]    Compiling predicates-tree v1.0.0
[INFO] [stderr]    Compiling futures-util v0.3.8
[INFO] [stderr]    Compiling lexical-core v0.7.6
[INFO] [stderr]    Compiling signal-hook v0.1.16
[INFO] [stderr]    Compiling predicates v1.0.6
[INFO] [stderr]    Compiling parking_lot v0.11.1
[INFO] [stderr]    Compiling console v0.13.0
[INFO] [stderr]    Compiling textwrap v0.12.1
[INFO] [stderr]    Compiling openssl v0.10.32
[INFO] [stderr]    Compiling tracing-futures v0.2.4
[INFO] [stderr]    Compiling clap v3.0.0-beta.2
[INFO] [stderr]    Compiling tokio v0.2.24
[INFO] [stderr]    Compiling crossterm v0.18.2
[INFO] [stderr]    Compiling sled v0.34.6
[INFO] [stderr]    Compiling indicatif v0.15.0
[INFO] [stderr]    Compiling dialoguer v0.7.1
[INFO] [stderr]    Compiling assert_cmd v1.0.2
[INFO] [stderr]    Compiling comfy-table v1.4.2
[INFO] [stderr]    Compiling http-body v0.3.1
[INFO] [stderr]    Compiling native-tls v0.2.7
[INFO] [stderr]    Compiling nom v5.1.2
[INFO] [stderr]    Compiling lexical v5.2.2
[INFO] [stderr]    Compiling chrono v0.4.19
[INFO] [stderr]    Compiling bstr v0.2.14
[INFO] [stderr]    Compiling serde_urlencoded v0.7.0
[INFO] [stderr]    Compiling serde_json v1.0.60
[INFO] [stderr]    Compiling toml v0.5.7
[INFO] [stderr]    Compiling humantime-serde v1.0.1
[INFO] [stderr]    Compiling uuid v0.8.1
[INFO] [stderr]    Compiling tokio-util v0.3.1
[INFO] [stderr]    Compiling tokio-tls v0.3.1
[INFO] [stderr]    Compiling h2 v0.2.7
[INFO] [stderr]    Compiling csv v1.1.5
[INFO] [stderr]    Compiling chrono-humanize v0.1.1
[INFO] [stderr]    Compiling chrono-tz v0.5.3
[INFO] [stderr]    Compiling chrono-english v0.1.4
[INFO] [stderr]    Compiling config v0.10.1
[INFO] [stderr]    Compiling hyper v0.13.9
[INFO] [stderr]    Compiling hyper-tls v0.4.3
[INFO] [stderr]    Compiling reqwest v0.10.10
[INFO] [stderr]    Compiling dlog v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Db`
[INFO] [stdout]  --> src/store.rs:2:31
[INFO] [stdout]   |
[INFO] [stdout] 2 | use sled::{Config as SConfig, Db, IVec};
[INFO] [stdout]   |                               ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `U16`, `U32`
[INFO] [stdout]  --> src/store.rs:5:72
[INFO] [stdout]   |
[INFO] [stdout] 5 |         byteorder::U64, AsBytes, FromBytes, LayoutVerified, Unaligned, U16, U32,
[INFO] [stdout]   |                                                                        ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Item`, `config::DConfig`
[INFO] [stdout]   --> src/store.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout] 8  |     config::DConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 9  |     error::DError,
[INFO] [stdout] 10 |     models::{Record, Fact, Item},
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime`, `Local`
[INFO] [stdout]  --> src/cmd/fact.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::{DateTime, Local};
[INFO] [stdout]   |              ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Unit`, `attrib::Attrib`, `item::Item`, `note::Notes`, `prompt::prompt`, `record::Record`
[INFO] [stdout]   --> src/cmd/fact.rs:5:36
[INFO] [stdout]    |
[INFO] [stdout] 5  |         fact::{Fact, AbstractFact, Unit},
[INFO] [stdout]    |                                    ^^^^
[INFO] [stdout] 6  |         note::Notes,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 7  |         item::Item,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 8  |         attrib::Attrib,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 9  |         record::Record,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     prompt::prompt,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `action::Action`
[INFO] [stdout]  --> src/cmd/relation.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |         action::Action,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Record`
[INFO] [stdout]  --> src/cmd/item.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 |     models::{Item, Record, fact::{Fact, AbstractFact}},
[INFO] [stdout]   |                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ArgSettings`
[INFO] [stdout]  --> src/cmd/item.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use clap::{Arg, ArgMatches, ArgSettings, FromArgMatches};
[INFO] [stdout]   |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entry`
[INFO] [stdout]  --> src/cmd/record.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |         Entry, record::Record
[INFO] [stdout]   |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Style`, `Styles`
[INFO] [stdout]  --> src/cmd/record.rs:7:32
[INFO] [stdout]   |
[INFO] [stdout] 7 | use colored::{Color, Colorize, Style, Styles};
[INFO] [stdout]   |                                ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Action`, `Fact`, `Relation`, `note::Note`
[INFO] [stdout]   --> src/cmd.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |     Entry, Fact, Record, Item, Attrib,
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 26 |     note::Note, Action, Relation,  Unit, FactValue,
[INFO] [stdout]    |     ^^^^^^^^^^  ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]  --> src/models/action.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{fmt, collections::HashMap};
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AbstractFact`, `Entry`, `Relation`
[INFO] [stdout]  --> src/models/data.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |         Entry, Unit, Action, Note, Item, fact::{FactValue, Fact, AbstractFact},
[INFO] [stdout]   |         ^^^^^                                                    ^^^^^^^^^^^^
[INFO] [stdout] 5 |         Attrib, Relation,
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attribute`, `Cell`, `Color as TColor`, `ContentArrangement`, `Table`, `presets::UTF8_BORDERS_ONLY`
[INFO] [stdout]   --> src/models/data.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Table, ContentArrangement, presets::UTF8_BORDERS_ONLY,
[INFO] [stdout]    |     ^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     Cell, Attribute, Color as TColor,
[INFO] [stdout]    |     ^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `convert::TryFrom`, `rc::Rc`
[INFO] [stdout]   --> src/models/data.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     convert::TryFrom,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     rc::Rc,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToRow`
[INFO] [stdout]  --> src/models/fact/entry.rs:3:39
[INFO] [stdout]   |
[INFO] [stdout] 3 |     Cell, Attribute, Color as TColor, ToRow,
[INFO] [stdout]   |                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attribs`, `Datelike`, `Duration`, `Notes`, `Recurring`, `RelativeTo`, `csv as Csv`
[INFO] [stdout]   --> src/models/fact/entry.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  |     csv as Csv, prompt,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |         note::{Note, Notes},
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 13 |         attrib::{Attrib, Attribs},
[INFO] [stdout]    |                          ^^^^^^^
[INFO] [stdout] 14 |         date::{Datelike, Duration, RelativeTo, Recurring},
[INFO] [stdout]    |                ^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap`, `convert::TryFrom`, `str::FromStr`
[INFO] [stdout]   --> src/models/fact/entry.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::{convert::TryFrom, fmt, path::PathBuf, collections::HashMap, str::FromStr};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^                      ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Colorize`
[INFO] [stdout]   --> src/models/fact/entry.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 22 | use colored::{Color, Colorize};
[INFO] [stdout]    |               ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attribute`, `Cell`, `Color as TColor`, `ContentArrangement`, `Table`, `ToRow`, `presets`
[INFO] [stdout]  --> src/models/fact/value.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Table, ContentArrangement, presets,
[INFO] [stdout]   |     ^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 3 |     Cell, Attribute, Color as TColor, ToRow,
[INFO] [stdout]   |     ^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attrib`, `Attribs`, `Note`, `Notes`, `UserUnit`, `csv as csv`, `item::Item`, `prompt`, `record::Record`
[INFO] [stdout]   --> src/models/fact/value.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  |     csv as csv, prompt,
[INFO] [stdout]    |     ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 9  |         fact::{Unit, UserUnit},
[INFO] [stdout]    |                      ^^^^^^^^
[INFO] [stdout] 10 |         record::Record,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 11 |         item::Item,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 12 |         note::{Note, Notes},
[INFO] [stdout]    |                ^^^^  ^^^^^
[INFO] [stdout] 13 |         attrib::{Attrib, Attribs},
[INFO] [stdout]    |                  ^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/models/fact/value.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `convert::TryFrom`, `path::PathBuf`, `str::FromStr`
[INFO] [stdout]   --> src/models/fact/value.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::{convert::TryFrom, fmt, path::PathBuf, collections::HashMap, str::FromStr};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^       ^^^^^^^^^^^^^                        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]   --> src/models/fact/value.rs:20:14
[INFO] [stdout]    |
[INFO] [stdout] 20 | use chrono::{DateTime, Local};
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Colorize`
[INFO] [stdout]   --> src/models/fact/value.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 22 | use colored::{Color, Colorize};
[INFO] [stdout]    |               ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `convert::TryFrom`, `path::PathBuf`, `time`
[INFO] [stdout]  --> src/models/fact/units.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{fmt, path::PathBuf, convert::TryFrom, time};
[INFO] [stdout]   |                ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Utc`, `format`
[INFO] [stdout]  --> src/models/fact/units.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | use chrono::{Utc, DateTime, Duration, format, prelude::*};
[INFO] [stdout]   |              ^^^                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateError`, `parse_date_string`
[INFO] [stdout]  --> src/models/fact/units.rs:6:31
[INFO] [stdout]   |
[INFO] [stdout] 6 | use chrono_english::{Dialect, DateError, parse_date_string};
[INFO] [stdout]   |                               ^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArgMatches`, `FromArgMatches`
[INFO] [stdout]  --> src/models/fact/units.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use clap::{ArgMatches, FromArgMatches};
[INFO] [stdout]   |            ^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Colorize`
[INFO] [stdout]  --> src/models/fact/units.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use colored::{Color, Colorize};
[INFO] [stdout]   |               ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attribs`, `Datelike`, `Duration`, `Entry`, `Notes`, `Recurring`, `RelativeTo`, `csv as csv`, `item::Item`, `record::Record`
[INFO] [stdout]   --> src/models/fact/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     csv as csv, prompt,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 17 |     models::{
[INFO] [stdout] 18 |         Entry,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 19 |         record::Record,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 20 |         item::Item,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 21 |         note::{Note, Notes},
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 22 |         attrib::{Attrib, Attribs},
[INFO] [stdout]    |                          ^^^^^^^
[INFO] [stdout] 23 |         date::{Datelike, Duration, RelativeTo, Recurring},
[INFO] [stdout]    |                ^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/models/fact/mod.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap`, `convert::TryFrom`, `path::PathBuf`, `str::FromStr`
[INFO] [stdout]   --> src/models/fact/mod.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | use std::{convert::TryFrom, fmt, path::PathBuf, collections::HashMap, str::FromStr};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^       ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Colorize`
[INFO] [stdout]   --> src/models/fact/mod.rs:31:15
[INFO] [stdout]    |
[INFO] [stdout] 31 | use colored::{Color, Colorize};
[INFO] [stdout]    |               ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap`, `str::FromStr`
[INFO] [stdout]  --> src/models/attrib.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{fmt, str::FromStr, collections::HashMap};
[INFO] [stdout]   |                ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UTF8_BORDERS_ONLY`
[INFO] [stdout]  --> src/models/item.rs:2:48
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Table, ContentArrangement, presets::{self, UTF8_BORDERS_ONLY},
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rc::Rc`
[INFO] [stdout]  --> src/models/item.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::{rc::Rc, path::PathBuf};
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Utc`
[INFO] [stdout]  --> src/models/item.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use chrono::{prelude::*, Utc, DateTime};
[INFO] [stdout]   |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArgSettings`, `Arg`
[INFO] [stdout]   --> src/models/item.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | use clap::{Arg, ArgMatches, ArgSettings, FromArgMatches};
[INFO] [stdout]    |            ^^^              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Unit`
[INFO] [stdout]   --> src/models/record.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |     models::{Entry, Unit, Item, fact::{Fact, AbstractFact}},
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `convert::TryFrom`, `str::FromStr`
[INFO] [stdout]  --> src/models/date.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt, convert::TryFrom, str::FromStr};
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::error::DError`
[INFO] [stdout]  --> src/models/date.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::error::DError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `humantime::parse_duration`
[INFO] [stdout]  --> src/models/date.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use humantime::parse_duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `humantime_serde::Serde`
[INFO] [stdout]  --> src/models/date.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use humantime_serde::Serde;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `prelude::*`
[INFO] [stdout]  --> src/models/date.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | use chrono::{prelude::*, DateTime, Local};
[INFO] [stdout]   |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap`, `convert::TryInto`, `prelude::*`, `self`
[INFO] [stdout]  --> src/config.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 |     io::{self, prelude::*, Read, Write},
[INFO] [stdout]   |          ^^^^  ^^^^^^^^^^
[INFO] [stdout] 5 |     path::PathBuf,
[INFO] [stdout] 6 |     convert::TryInto,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |     collections::HashMap,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Colorize`
[INFO] [stdout]  --> src/util.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use colored::{Colorize, Color};
[INFO] [stdout]   |               ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> src/util.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::{fs, io::{Read, prelude::*, self}, path::PathBuf};
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num`
[INFO] [stdout]  --> src/error.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt, io, num, error};
[INFO] [stdout]   |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attrib`, `Item`, `Record`, `Relation`
[INFO] [stdout]  --> src/search.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::models::{Fact, Item, Record, Attrib, Relation};
[INFO] [stdout]   |                           ^^^^  ^^^^^^  ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read`, `fs`, `path::PathBuf`
[INFO] [stdout]  --> src/prompt.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{fs, io::{Read, prelude::*, self}, path::PathBuf};
[INFO] [stdout]   |           ^^       ^^^^                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Action`, `Entry`, `Fact`, `Relation`, `note::Note`
[INFO] [stdout]  --> src/args/search.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Entry, Fact, Record, Item, Attrib,
[INFO] [stdout]   |     ^^^^^  ^^^^
[INFO] [stdout] 7 |     note::Note, Action, Relation, fact::{FactValue, Unit},
[INFO] [stdout]   |     ^^^^^^^^^^  ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> src/models/data.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 |     io::{Read, Write}
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entry`
[INFO] [stdout]  --> src/models/fact/value.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         Entry,
[INFO] [stdout]   |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/models/record.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 |     io::{Read, Write},
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/models/date.rs:166:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |             Datelike::Weekday(w, RelativeTo::Now(r)) => write!(f, "Month {}, Relative to {}", w, r),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]    --> src/store.rs:124:15
[INFO] [stdout]     |
[INFO] [stdout] 124 |     fn insert(db: &sled::Db) -> sled::Result<()> {
[INFO] [stdout]     |               ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]    --> src/store.rs:130:15
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn delete(db: &sled::Db) -> sled::Result<()> {
[INFO] [stdout]     |               ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fact`
[INFO] [stdout]   --> src/store.rs:34:31
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn insert_fact(&self, fact: Fact) -> sled::Result<()> {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_fact`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kind`
[INFO] [stdout]   --> src/store.rs:81:22
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn remove(&self, kind: &str, name: &str) -> Option<IVec> {
[INFO] [stdout]    |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_kind`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> src/store.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let db = SConfig::default()
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `record`
[INFO] [stdout]    --> src/store.rs:105:34
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn add_record(&mut self, record: Record) {
[INFO] [stdout]     |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `record`
[INFO] [stdout]    --> src/store.rs:112:37
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn remove_record(&mut self, record: &str) -> Result<(), DError> {
[INFO] [stdout]     |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir`
[INFO] [stdout]    --> src/store.rs:116:52
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub fn change_dir<D: Into<PathBuf>>(&mut self, dir: D) -> Result<(), DError> {
[INFO] [stdout]     |                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `term`
[INFO] [stdout]    --> src/cmd.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let term = TermSettings::new();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_term`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conf`
[INFO] [stdout]    --> src/cmd.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |         let conf = DConfig::load().expect("Could not load config");
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_conf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/cmd.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let data = crate::models::data::Data::new().expect("could not load data");
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matches`
[INFO] [stdout]    --> src/cmd.rs:401:25
[INFO] [stdout]     |
[INFO] [stdout] 401 |     fn from_arg_matches(matches: &ArgMatches) -> Self {
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `subc`
[INFO] [stdout]    --> src/cmd/fact.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let subc = FactCmd::from_subcommand(matches.subcommand());
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_subc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_filts`
[INFO] [stdout]    --> src/cmd/fact.rs:120:25
[INFO] [stdout]     |
[INFO] [stdout] 120 |                     let r_filts = r_filts
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_r_filts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i_filts`
[INFO] [stdout]    --> src/cmd/fact.rs:129:25
[INFO] [stdout]     |
[INFO] [stdout] 129 |                     let i_filts = i_filts
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_i_filts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filters`
[INFO] [stdout]    --> src/cmd/fact.rs:136:21
[INFO] [stdout]     |
[INFO] [stdout] 136 |                 let filters = Filters::from_arg_matches(matches);
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filters`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/fact.rs:139:27
[INFO] [stdout]     |
[INFO] [stdout] 139 |             Some(("list", sub)) => {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/fact.rs:143:27
[INFO] [stdout]     |
[INFO] [stdout] 143 |             Some(("info", sub)) => {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/action.rs:135:26
[INFO] [stdout]     |
[INFO] [stdout] 135 |             Some(("new", sub)) => {
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/action.rs:138:29
[INFO] [stdout]     |
[INFO] [stdout] 138 |             Some(("search", sub)) => {
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/action.rs:141:27
[INFO] [stdout]     |
[INFO] [stdout] 141 |             Some(("list", sub)) => {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/action.rs:144:27
[INFO] [stdout]     |
[INFO] [stdout] 144 |             Some(("info", sub)) => {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/cmd/record.rs:129:21
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 let s = Self::default();
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/link.rs:109:26
[INFO] [stdout]     |
[INFO] [stdout] 109 |             Some(("new", sub)) => {
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/link.rs:111:29
[INFO] [stdout]     |
[INFO] [stdout] 111 |             Some(("search", sub)) => {
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/link.rs:113:27
[INFO] [stdout]     |
[INFO] [stdout] 113 |             Some(("list", sub)) => {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/link.rs:115:27
[INFO] [stdout]     |
[INFO] [stdout] 115 |             Some(("info", sub)) => {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rec`
[INFO] [stdout]   --> src/models/data.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let rec = self.path.join("records.toml");
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_rec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/models/fact/entry.rs:122:23
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn parse_date(val: String) -> chrono_english::DateResult<String> {
[INFO] [stdout]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ue1`
[INFO] [stdout]   --> src/models/fact/value.rs:52:29
[INFO] [stdout]    |
[INFO] [stdout] 52 |             (Self::UserEnum(ue1), Self::UserEnum(ue2)) => {
[INFO] [stdout]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_ue1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ue2`
[INFO] [stdout]   --> src/models/fact/value.rs:52:50
[INFO] [stdout]    |
[INFO] [stdout] 52 |             (Self::UserEnum(ue1), Self::UserEnum(ue2)) => {
[INFO] [stdout]    |                                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ue2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r1`
[INFO] [stdout]   --> src/models/fact/value.rs:59:54
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 (Datelike::Month(m1, RelativeTo::Now(r1)), Datelike::Month(m2, RelativeTo::Now(r2))) => m1.eq(&m2),
[INFO] [stdout]    |                                                      ^^ help: if this is intentional, prefix it with an underscore: `_r1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r2`
[INFO] [stdout]   --> src/models/fact/value.rs:59:96
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 (Datelike::Month(m1, RelativeTo::Now(r1)), Datelike::Month(m2, RelativeTo::Now(r2))) => m1.eq(&m2),
[INFO] [stdout]    |                                                                                                ^^ help: if this is intentional, prefix it with an underscore: `_r2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/models/fact/value.rs:74:42
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn hash<H: std::hash::Hasher>(&self, state: &mut H) {
[INFO] [stdout]    |                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/models/fact/value.rs:77:41
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn hash_slice<H: std::hash::Hasher>(data: &[Self], state: &mut H)
[INFO] [stdout]    |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/models/fact/value.rs:77:56
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn hash_slice<H: std::hash::Hasher>(data: &[Self], state: &mut H)
[INFO] [stdout]    |                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s_s`
[INFO] [stdout]    --> src/models/fact/value.rs:114:17
[INFO] [stdout]     |
[INFO] [stdout] 114 |             let s_s = s.split_whitespace().collect::<Vec<&str>>();
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_s_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `unit`
[INFO] [stdout]   --> src/models/fact/units.rs:64:21
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 let unit: String = split.into_iter().collect();
[INFO] [stdout]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `today`
[INFO] [stdout]   --> src/models/fact/units.rs:77:25
[INFO] [stdout]    |
[INFO] [stdout] 77 |                     let today = Local::now().weekday();
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_today`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inp_sp`
[INFO] [stdout]    --> src/models/fact/units.rs:166:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let inp_sp = inp.split_whitespace();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_inp_sp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/models/fact/units.rs:174:32
[INFO] [stdout]     |
[INFO] [stdout] 174 |             FactValue::Boolean(b) => Self::Boolean,
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `record`
[INFO] [stdout]    --> src/models/item.rs:116:31
[INFO] [stdout]     |
[INFO] [stdout] 116 |             (Some(item), Some(record)) => {
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rec`
[INFO] [stdout]    --> src/models/record.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let rec = path.join("dlog").join("dlog");
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_rec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/models/record.rs:119:17
[INFO] [stdout]     |
[INFO] [stdout] 119 |             Err(e) => Ok(Self::default()),
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matches`
[INFO] [stdout]    --> src/models/record.rs:241:25
[INFO] [stdout]     |
[INFO] [stdout] 241 |     fn from_arg_matches(matches: &ArgMatches) -> Self {
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `date`
[INFO] [stdout]   --> src/models/date.rs:87:17
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let mut date: Option<Datelike> = None;
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dur`
[INFO] [stdout]   --> src/models/date.rs:88:17
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let mut dur: Option<chrono::Duration> = None;
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_dur`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> src/models/date.rs:97:30
[INFO] [stdout]    |
[INFO] [stdout] 97 |             } else if let Ok(t) = parse_date_string(time.as_str(), Local::now(), Dialect::Us) {
[INFO] [stdout]    |                              ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first`
[INFO] [stdout]    --> src/models/date.rs:107:22
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 let (first, sr1) = s.split_at(first);
[INFO] [stdout]     |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_first`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sr2`
[INFO] [stdout]    --> src/models/date.rs:108:22
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 let (sr2, last) = sr1.split_at(last);
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_sr2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last`
[INFO] [stdout]    --> src/models/date.rs:108:27
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 let (sr2, last) = sr1.split_at(last);
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_last`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `datetime`
[INFO] [stdout]   --> src/util.rs:79:23
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub fn split_datetime(datetime: chrono::DateTime<chrono::Utc>) -> () {
[INFO] [stdout]    |                       ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_datetime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/error.rs:28:37
[INFO] [stdout]    |
[INFO] [stdout] 28 |             DError::KeyRejected(ref err) => None,
[INFO] [stdout]    |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matches`
[INFO] [stdout]   --> src/args/list.rs:64:25
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn from_arg_matches(matches: &clap::ArgMatches) -> Self {
[INFO] [stdout]    |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matches`
[INFO] [stdout]   --> src/args/search.rs:70:25
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn from_arg_matches(matches: &clap::ArgMatches) -> Self {
[INFO] [stdout]    |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matches`
[INFO] [stdout]   --> src/args/search.rs:92:25
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn from_arg_matches(matches: &ArgMatches) -> Self {
[INFO] [stdout]    |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/models/date.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let mut date: Option<Datelike> = None;
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/models/date.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let mut dur: Option<chrono::Duration> = None;
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/search.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let mut pb = ProgressBar::new(50);
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `export`
[INFO] [stdout]   --> src/store.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn export(&self) -> Vec<(Vec<u8>, Vec<u8>, impl Iterator<Item=Vec<Vec<u8>>>)> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `remove`
[INFO] [stdout]   --> src/store.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn remove(&self, kind: &str, name: &str) -> Option<IVec> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `atty`
[INFO] [stdout]   --> src/cmd.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     atty: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `id`
[INFO] [stdout]    --> src/models/record.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 257 |     id: uuid::Uuid,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `uid`
[INFO] [stdout]    --> src/models/record.rs:258:5
[INFO] [stdout]     |
[INFO] [stdout] 258 |     uid: uuid::Uuid,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `name`
[INFO] [stdout]    --> src/models/record.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 |     name: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `username`
[INFO] [stdout]    --> src/models/record.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 263 |     username: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `at`
[INFO] [stdout]    --> src/models/date.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     at: chrono::NaiveTime,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `duration`
[INFO] [stdout]    --> src/models/date.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     duration: Option<std::time::Duration>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `name`
[INFO] [stdout]  --> src/models/topic.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     name: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `descr`
[INFO] [stdout]  --> src/models/topic.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     descr: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Unit` should have a snake case name
[INFO] [stdout]    --> src/models/fact/mod.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let Unit = Unit::from_match(matches.values_of("UNIT"));
[INFO] [stdout]     |             ^^^^ help: convert the identifier to snake case (notice the capitalization): `unit`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `link_Unit` should have a snake case name
[INFO] [stdout]    --> src/models/fact/mod.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |         let link_Unit = Unit::from_match(matches.values_of("link-unit"));
[INFO] [stdout]     |             ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `link_unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Unit` should have a snake case name
[INFO] [stdout]    --> src/models/fact/mod.rs:127:13
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let Unit = if link_Unit == Unit::None { Unit } else { link_Unit };
[INFO] [stdout]     |             ^^^^ help: convert the identifier to snake case (notice the capitalization): `unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Unit` should have a snake case name
[INFO] [stdout]   --> src/models/fact/units.rs:49:23
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn from_match(Unit: Option<clap::Values>) -> Self {
[INFO] [stdout]    |                       ^^^^ help: convert the identifier to snake case (notice the capitalization): `unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Unit` should have a snake case name
[INFO] [stdout]   --> src/models/fact/units.rs:50:21
[INFO] [stdout]    |
[INFO] [stdout] 50 |         if let Some(Unit) = Unit {
[INFO] [stdout]    |                     ^^^^ help: convert the identifier to snake case (notice the capitalization): `unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Unit` should have a snake case name
[INFO] [stdout]   --> src/models/fact/units.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 |             let Unit = Unit.map(|u| u.to_string()).collect::<Vec<String>>();
[INFO] [stdout]    |                 ^^^^ help: convert the identifier to snake case (notice the capitalization): `unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Unit` should have a snake case name
[INFO] [stdout]    --> src/models/fact/units.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn from(Unit: Vec<String>) -> Self {
[INFO] [stdout]     |             ^^^^ help: convert the identifier to snake case (notice the capitalization): `unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Db`
[INFO] [stdout]  --> src/store.rs:2:31
[INFO] [stdout]   |
[INFO] [stdout] 2 | use sled::{Config as SConfig, Db, IVec};
[INFO] [stdout]   |                               ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `U16`, `U32`
[INFO] [stdout]  --> src/store.rs:5:72
[INFO] [stdout]   |
[INFO] [stdout] 5 |         byteorder::U64, AsBytes, FromBytes, LayoutVerified, Unaligned, U16, U32,
[INFO] [stdout]   |                                                                        ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Item`, `config::DConfig`
[INFO] [stdout]   --> src/store.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout] 8  |     config::DConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 9  |     error::DError,
[INFO] [stdout] 10 |     models::{Record, Fact, Item},
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime`, `Local`
[INFO] [stdout]  --> src/cmd/fact.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::{DateTime, Local};
[INFO] [stdout]   |              ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Unit`, `attrib::Attrib`, `item::Item`, `note::Notes`, `prompt::prompt`, `record::Record`
[INFO] [stdout]   --> src/cmd/fact.rs:5:36
[INFO] [stdout]    |
[INFO] [stdout] 5  |         fact::{Fact, AbstractFact, Unit},
[INFO] [stdout]    |                                    ^^^^
[INFO] [stdout] 6  |         note::Notes,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 7  |         item::Item,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 8  |         attrib::Attrib,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 9  |         record::Record,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     prompt::prompt,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `action::Action`
[INFO] [stdout]  --> src/cmd/relation.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |         action::Action,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Record`
[INFO] [stdout]  --> src/cmd/item.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 |     models::{Item, Record, fact::{Fact, AbstractFact}},
[INFO] [stdout]   |                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ArgSettings`
[INFO] [stdout]  --> src/cmd/item.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use clap::{Arg, ArgMatches, ArgSettings, FromArgMatches};
[INFO] [stdout]   |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entry`
[INFO] [stdout]  --> src/cmd/record.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |         Entry, record::Record
[INFO] [stdout]   |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Style`, `Styles`
[INFO] [stdout]  --> src/cmd/record.rs:7:32
[INFO] [stdout]   |
[INFO] [stdout] 7 | use colored::{Color, Colorize, Style, Styles};
[INFO] [stdout]   |                                ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Action`, `Fact`, `Relation`, `note::Note`
[INFO] [stdout]   --> src/cmd.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |     Entry, Fact, Record, Item, Attrib,
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 26 |     note::Note, Action, Relation,  Unit, FactValue,
[INFO] [stdout]    |     ^^^^^^^^^^  ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]  --> src/models/action.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{fmt, collections::HashMap};
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AbstractFact`, `Entry`, `Relation`
[INFO] [stdout]  --> src/models/data.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |         Entry, Unit, Action, Note, Item, fact::{FactValue, Fact, AbstractFact},
[INFO] [stdout]   |         ^^^^^                                                    ^^^^^^^^^^^^
[INFO] [stdout] 5 |         Attrib, Relation,
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attribute`, `Cell`, `Color as TColor`, `ContentArrangement`, `Table`, `presets::UTF8_BORDERS_ONLY`
[INFO] [stdout]   --> src/models/data.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Table, ContentArrangement, presets::UTF8_BORDERS_ONLY,
[INFO] [stdout]    |     ^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     Cell, Attribute, Color as TColor,
[INFO] [stdout]    |     ^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `convert::TryFrom`, `rc::Rc`
[INFO] [stdout]   --> src/models/data.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     convert::TryFrom,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     rc::Rc,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToRow`
[INFO] [stdout]  --> src/models/fact/entry.rs:3:39
[INFO] [stdout]   |
[INFO] [stdout] 3 |     Cell, Attribute, Color as TColor, ToRow,
[INFO] [stdout]   |                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attribs`, `Datelike`, `Duration`, `Notes`, `Recurring`, `RelativeTo`, `csv as Csv`
[INFO] [stdout]   --> src/models/fact/entry.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  |     csv as Csv, prompt,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |         note::{Note, Notes},
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 13 |         attrib::{Attrib, Attribs},
[INFO] [stdout]    |                          ^^^^^^^
[INFO] [stdout] 14 |         date::{Datelike, Duration, RelativeTo, Recurring},
[INFO] [stdout]    |                ^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap`, `convert::TryFrom`, `str::FromStr`
[INFO] [stdout]   --> src/models/fact/entry.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::{convert::TryFrom, fmt, path::PathBuf, collections::HashMap, str::FromStr};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^                      ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Colorize`
[INFO] [stdout]   --> src/models/fact/entry.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 22 | use colored::{Color, Colorize};
[INFO] [stdout]    |               ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attribute`, `Cell`, `Color as TColor`, `ContentArrangement`, `Table`, `ToRow`, `presets`
[INFO] [stdout]  --> src/models/fact/value.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Table, ContentArrangement, presets,
[INFO] [stdout]   |     ^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 3 |     Cell, Attribute, Color as TColor, ToRow,
[INFO] [stdout]   |     ^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attrib`, `Attribs`, `Note`, `Notes`, `UserUnit`, `csv as csv`, `item::Item`, `prompt`, `record::Record`
[INFO] [stdout]   --> src/models/fact/value.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  |     csv as csv, prompt,
[INFO] [stdout]    |     ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 9  |         fact::{Unit, UserUnit},
[INFO] [stdout]    |                      ^^^^^^^^
[INFO] [stdout] 10 |         record::Record,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 11 |         item::Item,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 12 |         note::{Note, Notes},
[INFO] [stdout]    |                ^^^^  ^^^^^
[INFO] [stdout] 13 |         attrib::{Attrib, Attribs},
[INFO] [stdout]    |                  ^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/models/fact/value.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `convert::TryFrom`, `path::PathBuf`, `str::FromStr`
[INFO] [stdout]   --> src/models/fact/value.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::{convert::TryFrom, fmt, path::PathBuf, collections::HashMap, str::FromStr};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^       ^^^^^^^^^^^^^                        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]   --> src/models/fact/value.rs:20:14
[INFO] [stdout]    |
[INFO] [stdout] 20 | use chrono::{DateTime, Local};
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Colorize`
[INFO] [stdout]   --> src/models/fact/value.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 22 | use colored::{Color, Colorize};
[INFO] [stdout]    |               ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `convert::TryFrom`, `path::PathBuf`, `time`
[INFO] [stdout]  --> src/models/fact/units.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{fmt, path::PathBuf, convert::TryFrom, time};
[INFO] [stdout]   |                ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Utc`, `format`
[INFO] [stdout]  --> src/models/fact/units.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | use chrono::{Utc, DateTime, Duration, format, prelude::*};
[INFO] [stdout]   |              ^^^                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateError`, `parse_date_string`
[INFO] [stdout]  --> src/models/fact/units.rs:6:31
[INFO] [stdout]   |
[INFO] [stdout] 6 | use chrono_english::{Dialect, DateError, parse_date_string};
[INFO] [stdout]   |                               ^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArgMatches`, `FromArgMatches`
[INFO] [stdout]  --> src/models/fact/units.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use clap::{ArgMatches, FromArgMatches};
[INFO] [stdout]   |            ^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Colorize`
[INFO] [stdout]  --> src/models/fact/units.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use colored::{Color, Colorize};
[INFO] [stdout]   |               ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attribs`, `Datelike`, `Duration`, `Entry`, `Notes`, `Recurring`, `RelativeTo`, `csv as csv`, `item::Item`, `record::Record`
[INFO] [stdout]   --> src/models/fact/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     csv as csv, prompt,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 17 |     models::{
[INFO] [stdout] 18 |         Entry,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 19 |         record::Record,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 20 |         item::Item,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 21 |         note::{Note, Notes},
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 22 |         attrib::{Attrib, Attribs},
[INFO] [stdout]    |                          ^^^^^^^
[INFO] [stdout] 23 |         date::{Datelike, Duration, RelativeTo, Recurring},
[INFO] [stdout]    |                ^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/models/fact/mod.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap`, `convert::TryFrom`, `path::PathBuf`, `str::FromStr`
[INFO] [stdout]   --> src/models/fact/mod.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | use std::{convert::TryFrom, fmt, path::PathBuf, collections::HashMap, str::FromStr};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^       ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Colorize`
[INFO] [stdout]   --> src/models/fact/mod.rs:31:15
[INFO] [stdout]    |
[INFO] [stdout] 31 | use colored::{Color, Colorize};
[INFO] [stdout]    |               ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap`, `str::FromStr`
[INFO] [stdout]  --> src/models/attrib.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{fmt, str::FromStr, collections::HashMap};
[INFO] [stdout]   |                ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UTF8_BORDERS_ONLY`
[INFO] [stdout]  --> src/models/item.rs:2:48
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Table, ContentArrangement, presets::{self, UTF8_BORDERS_ONLY},
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rc::Rc`
[INFO] [stdout]  --> src/models/item.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::{rc::Rc, path::PathBuf};
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Utc`
[INFO] [stdout]  --> src/models/item.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use chrono::{prelude::*, Utc, DateTime};
[INFO] [stdout]   |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArgSettings`, `Arg`
[INFO] [stdout]   --> src/models/item.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | use clap::{Arg, ArgMatches, ArgSettings, FromArgMatches};
[INFO] [stdout]    |            ^^^              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Unit`
[INFO] [stdout]   --> src/models/record.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |     models::{Entry, Unit, Item, fact::{Fact, AbstractFact}},
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `convert::TryFrom`, `str::FromStr`
[INFO] [stdout]  --> src/models/date.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt, convert::TryFrom, str::FromStr};
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::error::DError`
[INFO] [stdout]  --> src/models/date.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::error::DError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `humantime::parse_duration`
[INFO] [stdout]  --> src/models/date.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use humantime::parse_duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `humantime_serde::Serde`
[INFO] [stdout]  --> src/models/date.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use humantime_serde::Serde;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `prelude::*`
[INFO] [stdout]  --> src/models/date.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | use chrono::{prelude::*, DateTime, Local};
[INFO] [stdout]   |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap`, `convert::TryInto`, `prelude::*`, `self`
[INFO] [stdout]  --> src/config.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 |     io::{self, prelude::*, Read, Write},
[INFO] [stdout]   |          ^^^^  ^^^^^^^^^^
[INFO] [stdout] 5 |     path::PathBuf,
[INFO] [stdout] 6 |     convert::TryInto,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |     collections::HashMap,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Colorize`
[INFO] [stdout]  --> src/util.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use colored::{Colorize, Color};
[INFO] [stdout]   |               ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> src/util.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::{fs, io::{Read, prelude::*, self}, path::PathBuf};
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num`
[INFO] [stdout]  --> src/error.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt, io, num, error};
[INFO] [stdout]   |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attrib`, `Item`, `Record`, `Relation`
[INFO] [stdout]  --> src/search.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::models::{Fact, Item, Record, Attrib, Relation};
[INFO] [stdout]   |                           ^^^^  ^^^^^^  ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read`, `fs`, `path::PathBuf`
[INFO] [stdout]  --> src/prompt.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{fs, io::{Read, prelude::*, self}, path::PathBuf};
[INFO] [stdout]   |           ^^       ^^^^                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Action`, `Entry`, `Fact`, `Relation`, `note::Note`
[INFO] [stdout]  --> src/args/search.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Entry, Fact, Record, Item, Attrib,
[INFO] [stdout]   |     ^^^^^  ^^^^
[INFO] [stdout] 7 |     note::Note, Action, Relation, fact::{FactValue, Unit},
[INFO] [stdout]   |     ^^^^^^^^^^  ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> src/models/data.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 |     io::{Read, Write}
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entry`
[INFO] [stdout]  --> src/models/fact/value.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         Entry,
[INFO] [stdout]   |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/models/record.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 |     io::{Read, Write},
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/models/date.rs:166:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |             Datelike::Weekday(w, RelativeTo::Now(r)) => write!(f, "Month {}, Relative to {}", w, r),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]    --> src/store.rs:124:15
[INFO] [stdout]     |
[INFO] [stdout] 124 |     fn insert(db: &sled::Db) -> sled::Result<()> {
[INFO] [stdout]     |               ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]    --> src/store.rs:130:15
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn delete(db: &sled::Db) -> sled::Result<()> {
[INFO] [stdout]     |               ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fact`
[INFO] [stdout]   --> src/store.rs:34:31
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn insert_fact(&self, fact: Fact) -> sled::Result<()> {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_fact`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kind`
[INFO] [stdout]   --> src/store.rs:81:22
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn remove(&self, kind: &str, name: &str) -> Option<IVec> {
[INFO] [stdout]    |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_kind`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> src/store.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let db = SConfig::default()
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `record`
[INFO] [stdout]    --> src/store.rs:105:34
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn add_record(&mut self, record: Record) {
[INFO] [stdout]     |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `record`
[INFO] [stdout]    --> src/store.rs:112:37
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn remove_record(&mut self, record: &str) -> Result<(), DError> {
[INFO] [stdout]     |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir`
[INFO] [stdout]    --> src/store.rs:116:52
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub fn change_dir<D: Into<PathBuf>>(&mut self, dir: D) -> Result<(), DError> {
[INFO] [stdout]     |                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `term`
[INFO] [stdout]    --> src/cmd.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let term = TermSettings::new();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_term`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conf`
[INFO] [stdout]    --> src/cmd.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |         let conf = DConfig::load().expect("Could not load config");
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_conf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/cmd.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let data = crate::models::data::Data::new().expect("could not load data");
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matches`
[INFO] [stdout]    --> src/cmd.rs:401:25
[INFO] [stdout]     |
[INFO] [stdout] 401 |     fn from_arg_matches(matches: &ArgMatches) -> Self {
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `subc`
[INFO] [stdout]    --> src/cmd/fact.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let subc = FactCmd::from_subcommand(matches.subcommand());
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_subc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_filts`
[INFO] [stdout]    --> src/cmd/fact.rs:120:25
[INFO] [stdout]     |
[INFO] [stdout] 120 |                     let r_filts = r_filts
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_r_filts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i_filts`
[INFO] [stdout]    --> src/cmd/fact.rs:129:25
[INFO] [stdout]     |
[INFO] [stdout] 129 |                     let i_filts = i_filts
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_i_filts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filters`
[INFO] [stdout]    --> src/cmd/fact.rs:136:21
[INFO] [stdout]     |
[INFO] [stdout] 136 |                 let filters = Filters::from_arg_matches(matches);
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filters`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/fact.rs:139:27
[INFO] [stdout]     |
[INFO] [stdout] 139 |             Some(("list", sub)) => {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/fact.rs:143:27
[INFO] [stdout]     |
[INFO] [stdout] 143 |             Some(("info", sub)) => {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/action.rs:135:26
[INFO] [stdout]     |
[INFO] [stdout] 135 |             Some(("new", sub)) => {
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/action.rs:138:29
[INFO] [stdout]     |
[INFO] [stdout] 138 |             Some(("search", sub)) => {
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/action.rs:141:27
[INFO] [stdout]     |
[INFO] [stdout] 141 |             Some(("list", sub)) => {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/action.rs:144:27
[INFO] [stdout]     |
[INFO] [stdout] 144 |             Some(("info", sub)) => {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/cmd/record.rs:129:21
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 let s = Self::default();
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/link.rs:109:26
[INFO] [stdout]     |
[INFO] [stdout] 109 |             Some(("new", sub)) => {
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/link.rs:111:29
[INFO] [stdout]     |
[INFO] [stdout] 111 |             Some(("search", sub)) => {
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/link.rs:113:27
[INFO] [stdout]     |
[INFO] [stdout] 113 |             Some(("list", sub)) => {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub`
[INFO] [stdout]    --> src/cmd/link.rs:115:27
[INFO] [stdout]     |
[INFO] [stdout] 115 |             Some(("info", sub)) => {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_sub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rec`
[INFO] [stdout]   --> src/models/data.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let rec = self.path.join("records.toml");
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_rec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/models/fact/entry.rs:122:23
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn parse_date(val: String) -> chrono_english::DateResult<String> {
[INFO] [stdout]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ue1`
[INFO] [stdout]   --> src/models/fact/value.rs:52:29
[INFO] [stdout]    |
[INFO] [stdout] 52 |             (Self::UserEnum(ue1), Self::UserEnum(ue2)) => {
[INFO] [stdout]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_ue1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ue2`
[INFO] [stdout]   --> src/models/fact/value.rs:52:50
[INFO] [stdout]    |
[INFO] [stdout] 52 |             (Self::UserEnum(ue1), Self::UserEnum(ue2)) => {
[INFO] [stdout]    |                                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ue2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r1`
[INFO] [stdout]   --> src/models/fact/value.rs:59:54
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 (Datelike::Month(m1, RelativeTo::Now(r1)), Datelike::Month(m2, RelativeTo::Now(r2))) => m1.eq(&m2),
[INFO] [stdout]    |                                                      ^^ help: if this is intentional, prefix it with an underscore: `_r1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r2`
[INFO] [stdout]   --> src/models/fact/value.rs:59:96
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 (Datelike::Month(m1, RelativeTo::Now(r1)), Datelike::Month(m2, RelativeTo::Now(r2))) => m1.eq(&m2),
[INFO] [stdout]    |                                                                                                ^^ help: if this is intentional, prefix it with an underscore: `_r2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/models/fact/value.rs:74:42
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn hash<H: std::hash::Hasher>(&self, state: &mut H) {
[INFO] [stdout]    |                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/models/fact/value.rs:77:41
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn hash_slice<H: std::hash::Hasher>(data: &[Self], state: &mut H)
[INFO] [stdout]    |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/models/fact/value.rs:77:56
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn hash_slice<H: std::hash::Hasher>(data: &[Self], state: &mut H)
[INFO] [stdout]    |                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s_s`
[INFO] [stdout]    --> src/models/fact/value.rs:114:17
[INFO] [stdout]     |
[INFO] [stdout] 114 |             let s_s = s.split_whitespace().collect::<Vec<&str>>();
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_s_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `unit`
[INFO] [stdout]   --> src/models/fact/units.rs:64:21
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 let unit: String = split.into_iter().collect();
[INFO] [stdout]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `today`
[INFO] [stdout]   --> src/models/fact/units.rs:77:25
[INFO] [stdout]    |
[INFO] [stdout] 77 |                     let today = Local::now().weekday();
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_today`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inp_sp`
[INFO] [stdout]    --> src/models/fact/units.rs:166:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let inp_sp = inp.split_whitespace();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_inp_sp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/models/fact/units.rs:174:32
[INFO] [stdout]     |
[INFO] [stdout] 174 |             FactValue::Boolean(b) => Self::Boolean,
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `record`
[INFO] [stdout]    --> src/models/item.rs:116:31
[INFO] [stdout]     |
[INFO] [stdout] 116 |             (Some(item), Some(record)) => {
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rec`
[INFO] [stdout]    --> src/models/record.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let rec = path.join("dlog").join("dlog");
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_rec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/models/record.rs:119:17
[INFO] [stdout]     |
[INFO] [stdout] 119 |             Err(e) => Ok(Self::default()),
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matches`
[INFO] [stdout]    --> src/models/record.rs:241:25
[INFO] [stdout]     |
[INFO] [stdout] 241 |     fn from_arg_matches(matches: &ArgMatches) -> Self {
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `date`
[INFO] [stdout]   --> src/models/date.rs:87:17
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let mut date: Option<Datelike> = None;
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dur`
[INFO] [stdout]   --> src/models/date.rs:88:17
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let mut dur: Option<chrono::Duration> = None;
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_dur`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> src/models/date.rs:97:30
[INFO] [stdout]    |
[INFO] [stdout] 97 |             } else if let Ok(t) = parse_date_string(time.as_str(), Local::now(), Dialect::Us) {
[INFO] [stdout]    |                              ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first`
[INFO] [stdout]    --> src/models/date.rs:107:22
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 let (first, sr1) = s.split_at(first);
[INFO] [stdout]     |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_first`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sr2`
[INFO] [stdout]    --> src/models/date.rs:108:22
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 let (sr2, last) = sr1.split_at(last);
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_sr2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last`
[INFO] [stdout]    --> src/models/date.rs:108:27
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 let (sr2, last) = sr1.split_at(last);
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_last`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `datetime`
[INFO] [stdout]   --> src/util.rs:79:23
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub fn split_datetime(datetime: chrono::DateTime<chrono::Utc>) -> () {
[INFO] [stdout]    |                       ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_datetime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/error.rs:28:37
[INFO] [stdout]    |
[INFO] [stdout] 28 |             DError::KeyRejected(ref err) => None,
[INFO] [stdout]    |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matches`
[INFO] [stdout]   --> src/args/list.rs:64:25
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn from_arg_matches(matches: &clap::ArgMatches) -> Self {
[INFO] [stdout]    |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matches`
[INFO] [stdout]   --> src/args/search.rs:70:25
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn from_arg_matches(matches: &clap::ArgMatches) -> Self {
[INFO] [stdout]    |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matches`
[INFO] [stdout]   --> src/args/search.rs:92:25
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn from_arg_matches(matches: &ArgMatches) -> Self {
[INFO] [stdout]    |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/models/date.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let mut date: Option<Datelike> = None;
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/models/date.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let mut dur: Option<chrono::Duration> = None;
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/search.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let mut pb = ProgressBar::new(50);
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `export`
[INFO] [stdout]   --> src/store.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn export(&self) -> Vec<(Vec<u8>, Vec<u8>, impl Iterator<Item=Vec<Vec<u8>>>)> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `remove`
[INFO] [stdout]   --> src/store.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn remove(&self, kind: &str, name: &str) -> Option<IVec> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `atty`
[INFO] [stdout]   --> src/cmd.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     atty: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `id`
[INFO] [stdout]    --> src/models/record.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 257 |     id: uuid::Uuid,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `uid`
[INFO] [stdout]    --> src/models/record.rs:258:5
[INFO] [stdout]     |
[INFO] [stdout] 258 |     uid: uuid::Uuid,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `name`
[INFO] [stdout]    --> src/models/record.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 |     name: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `username`
[INFO] [stdout]    --> src/models/record.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 263 |     username: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `at`
[INFO] [stdout]    --> src/models/date.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     at: chrono::NaiveTime,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `duration`
[INFO] [stdout]    --> src/models/date.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     duration: Option<std::time::Duration>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `name`
[INFO] [stdout]  --> src/models/topic.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     name: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `descr`
[INFO] [stdout]  --> src/models/topic.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     descr: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Unit` should have a snake case name
[INFO] [stdout]    --> src/models/fact/mod.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let Unit = Unit::from_match(matches.values_of("UNIT"));
[INFO] [stdout]     |             ^^^^ help: convert the identifier to snake case (notice the capitalization): `unit`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `link_Unit` should have a snake case name
[INFO] [stdout]    --> src/models/fact/mod.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |         let link_Unit = Unit::from_match(matches.values_of("link-unit"));
[INFO] [stdout]     |             ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `link_unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Unit` should have a snake case name
[INFO] [stdout]    --> src/models/fact/mod.rs:127:13
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let Unit = if link_Unit == Unit::None { Unit } else { link_Unit };
[INFO] [stdout]     |             ^^^^ help: convert the identifier to snake case (notice the capitalization): `unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Unit` should have a snake case name
[INFO] [stdout]   --> src/models/fact/units.rs:49:23
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn from_match(Unit: Option<clap::Values>) -> Self {
[INFO] [stdout]    |                       ^^^^ help: convert the identifier to snake case (notice the capitalization): `unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Unit` should have a snake case name
[INFO] [stdout]   --> src/models/fact/units.rs:50:21
[INFO] [stdout]    |
[INFO] [stdout] 50 |         if let Some(Unit) = Unit {
[INFO] [stdout]    |                     ^^^^ help: convert the identifier to snake case (notice the capitalization): `unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Unit` should have a snake case name
[INFO] [stdout]   --> src/models/fact/units.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 |             let Unit = Unit.map(|u| u.to_string()).collect::<Vec<String>>();
[INFO] [stdout]    |                 ^^^^ help: convert the identifier to snake case (notice the capitalization): `unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Unit` should have a snake case name
[INFO] [stdout]    --> src/models/fact/units.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn from(Unit: Vec<String>) -> Self {
[INFO] [stdout]     |             ^^^^ help: convert the identifier to snake case (notice the capitalization): `unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 133 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cargo::cargo_bin`, `cmd::Command`, `output::OutputOkExt`
[INFO] [stdout]  --> tests/record.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use assert_cmd::{cmd::Command, cargo::cargo_bin, output::OutputOkExt};
[INFO] [stdout]   |                  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `diff`, `prelude::*`, `similar`
[INFO] [stdout]  --> tests/record.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use predicates::{prelude::*, str::{diff, similar},};
[INFO] [stdout]   |                  ^^^^^^^^^^        ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Cmd`, `attribute::AttribCmd`
[INFO] [stdout]  --> tests/item.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use dlog_lib::cmd::{DApp, Cmd, fact::FactCmd, attribute::AttribCmd, Subcmd};
[INFO] [stdout]   |                           ^^^                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FactValue`, `Fact`
[INFO] [stdout]  --> tests/item.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 |     fact::{Fact, FactValue},
[INFO] [stdout]   |            ^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `dlog_lib::models::units`
[INFO] [stdout]  --> tests/fact.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         units::Units,
[INFO] [stdout]   |         ^^^^^ could not find `units` in `models`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `clap::FromArgMatches`
[INFO] [stdout]  --> tests/fact.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use clap::FromArgMatches;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AbstractFact`, `Fact`
[INFO] [stdout]  --> tests/fact.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 |         fact::{Fact, FactValue, AbstractFact},
[INFO] [stdout]   |                ^^^^             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Cmd`, `attribute::AttribCmd`
[INFO] [stdout]  --> tests/item.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use dlog_lib::cmd::{DApp, Cmd, fact::FactCmd, attribute::AttribCmd, Subcmd};
[INFO] [stdout]   |                           ^^^                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FactValue`, `Fact`
[INFO] [stdout]  --> tests/item.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 |     fact::{Fact, FactValue},
[INFO] [stdout]   |            ^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cargo::cargo_bin`, `cmd::Command`, `output::OutputOkExt`
[INFO] [stdout]  --> tests/record.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use assert_cmd::{cmd::Command, cargo::cargo_bin, output::OutputOkExt};
[INFO] [stdout]   |                  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `diff`, `prelude::*`, `similar`
[INFO] [stdout]  --> tests/record.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use predicates::{prelude::*, str::{diff, similar},};
[INFO] [stdout]   |                  ^^^^^^^^^^        ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `predicates::prelude::*`
[INFO] [stdout]  --> tests/lib.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use predicates::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Cmd`, `attribute::AttribCmd`
[INFO] [stdout]  --> tests/lib.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 | use dlog_lib::cmd::{DApp, Cmd, fact::FactCmd, attribute::AttribCmd, Subcmd};
[INFO] [stdout]   |                           ^^^                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FactValue`, `Fact`
[INFO] [stdout]   --> tests/lib.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fact::{Fact, FactValue},
[INFO] [stdout]    |            ^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Cmd`, `attribute::AttribCmd`
[INFO] [stdout]  --> tests/attrib.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use dlog_lib::cmd::{DApp, Cmd, fact::FactCmd, attribute::AttribCmd, Subcmd};
[INFO] [stdout]   |                           ^^^                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FactValue`, `Fact`
[INFO] [stdout]  --> tests/attrib.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 |     fact::{Fact, FactValue},
[INFO] [stdout]   |            ^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `dlog_lib::models::units`
[INFO] [stdout]  --> tests/fact.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         units::Units,
[INFO] [stdout]   |         ^^^^^ could not find `units` in `models`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `clap::FromArgMatches`
[INFO] [stdout]  --> tests/fact.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use clap::FromArgMatches;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AbstractFact`, `Fact`
[INFO] [stdout]  --> tests/fact.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 |         fact::{Fact, FactValue, AbstractFact},
[INFO] [stdout]   |                ^^^^             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Cmd`
[INFO] [stdout]  --> tests/fact.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 |     cmd::{DApp, Cmd, Subcmd,
[INFO] [stdout]   |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error; 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `dlog`
[INFO] [stdout] warning: unused import: `Cmd`
[INFO] [stdout]  --> tests/fact.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 |     cmd::{DApp, Cmd, Subcmd,
[INFO] [stdout]   |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] 
[INFO] [stdout] error: aborting due to previous error; 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 133 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "60aa130eb5eaa16d853a1bc13e049d63d56453bb7c8b46563a4d1843a26c9ff2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "60aa130eb5eaa16d853a1bc13e049d63d56453bb7c8b46563a4d1843a26c9ff2", kill_on_drop: false }`
[INFO] [stdout] 60aa130eb5eaa16d853a1bc13e049d63d56453bb7c8b46563a4d1843a26c9ff2
