[INFO] fetching crate lectio 0.1.4... [INFO] linting lectio-0.1.4 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate lectio 0.1.4 into /workspace/builds/worker-7-tc1/source [INFO] started tweaking crates.io crate lectio 0.1.4 [INFO] finished tweaking crates.io crate lectio 0.1.4 [INFO] tweaked toml for crates.io crate lectio 0.1.4 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate lectio 0.1.4 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate lectio 0.1.4 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded servo_arc v0.4.1 [INFO] [stderr] Downloaded owo-colors v4.2.1 [INFO] [stderr] Downloaded windows-registry v0.5.2 [INFO] [stderr] Downloaded number-names v0.2.0 [INFO] [stderr] Downloaded scraper v0.23.1 [INFO] [stderr] Downloaded inquire v0.7.5 [INFO] [stderr] Downloaded getopts v0.2.23 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 870ad802f5bbbb9b2ba43b6c87b0c171bf53cd17bf679b387245ab7825d4d762 [INFO] running `Command { std: "docker" "start" "-a" "870ad802f5bbbb9b2ba43b6c87b0c171bf53cd17bf679b387245ab7825d4d762", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "870ad802f5bbbb9b2ba43b6c87b0c171bf53cd17bf679b387245ab7825d4d762", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "870ad802f5bbbb9b2ba43b6c87b0c171bf53cd17bf679b387245ab7825d4d762", kill_on_drop: false }` [INFO] [stdout] 870ad802f5bbbb9b2ba43b6c87b0c171bf53cd17bf679b387245ab7825d4d762 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ed616e00dc641afb0c693bc84aa47808315520aff3d4621fbb9f77e5360ee2d7 [INFO] running `Command { std: "docker" "start" "-a" "ed616e00dc641afb0c693bc84aa47808315520aff3d4621fbb9f77e5360ee2d7", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.103 [INFO] [stderr] Compiling libc v0.2.173 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Compiling siphasher v1.0.1 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Checking bitflags v2.9.1 [INFO] [stderr] Checking phf_shared v0.11.3 [INFO] [stderr] Checking indexmap v2.9.0 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Checking futf v0.1.5 [INFO] [stderr] Checking dtoa v1.0.10 [INFO] [stderr] Compiling bumpalo v3.18.1 [INFO] [stderr] Compiling owo-colors v4.2.1 [INFO] [stderr] Checking newline-converter v0.3.0 [INFO] [stderr] Checking fuzzy-matcher v0.3.7 [INFO] [stderr] Checking servo_arc v0.4.1 [INFO] [stderr] Checking getopts v0.2.23 [INFO] [stderr] Checking tendril v0.4.3 [INFO] [stderr] Checking smawk v0.3.2 [INFO] [stderr] Checking ego-tree v0.10.0 [INFO] [stderr] Checking dtoa-short v0.3.5 [INFO] [stderr] Checking chrono v0.4.41 [INFO] [stderr] Checking Inflector v0.11.4 [INFO] [stderr] Checking number-names v0.2.0 [INFO] [stderr] Compiling phf_generator v0.11.3 [INFO] [stderr] Checking textwrap v0.16.2 [INFO] [stderr] Checking colored v3.0.0 [INFO] [stderr] Compiling phf_codegen v0.11.3 [INFO] [stderr] Compiling string_cache_codegen v0.5.4 [INFO] [stderr] Compiling selectors v0.26.0 [INFO] [stderr] Compiling markup5ever v0.14.1 [INFO] [stderr] Checking parking_lot_core v0.9.11 [INFO] [stderr] Checking signal-hook-registry v1.4.5 [INFO] [stderr] Checking mio v1.0.4 [INFO] [stderr] Checking socket2 v0.5.10 [INFO] [stderr] Checking openssl-sys v0.9.109 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking dirs-sys v0.5.0 [INFO] [stderr] Checking dirs v6.0.0 [INFO] [stderr] Checking parking_lot v0.12.4 [INFO] [stderr] Checking signal-hook-mio v0.2.4 [INFO] [stderr] Checking crossterm v0.25.0 [INFO] [stderr] Checking inquire v0.7.5 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.100 [INFO] [stderr] Compiling zerovec-derive v0.11.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling phf_macros v0.11.3 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling cssparser-macros v0.6.1 [INFO] [stderr] Compiling match_token v0.1.0 [INFO] [stderr] Compiling derive_more v0.99.20 [INFO] [stderr] Compiling clap_derive v4.5.40 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.0 [INFO] [stderr] Checking openssl v0.10.73 [INFO] [stderr] Checking phf v0.11.3 [INFO] [stderr] Checking cssparser v0.34.0 [INFO] [stderr] Checking tokio v1.45.1 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking yoke v0.8.0 [INFO] [stderr] Checking zerotrie v0.2.2 [INFO] [stderr] Checking zerovec v0.11.2 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.100 [INFO] [stderr] Checking clap v4.5.40 [INFO] [stderr] Checking tinystr v0.8.1 [INFO] [stderr] Checking potential_utf v0.1.2 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.100 [INFO] [stderr] Checking icu_collections v2.0.0 [INFO] [stderr] Checking icu_locale_core v2.0.0 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking wasm-bindgen v0.2.100 [INFO] [stderr] Checking serde v1.0.219 [INFO] [stderr] Checking native-tls v0.2.14 [INFO] [stderr] Checking icu_provider v2.0.0 [INFO] [stderr] Checking icu_normalizer v2.0.0 [INFO] [stderr] Checking icu_properties v2.0.1 [INFO] [stderr] Checking tokio-util v0.7.15 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking tower v0.5.2 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking idna v1.0.3 [INFO] [stderr] Checking tower-http v0.6.6 [INFO] [stderr] Checking h2 v0.4.10 [INFO] [stderr] Checking url v2.5.4 [INFO] [stderr] Checking string_cache v0.8.9 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking serde_json v1.0.140 [INFO] [stderr] Checking html5ever v0.29.1 [INFO] [stderr] Checking hyper v1.6.0 [INFO] [stderr] Checking scraper v0.23.1 [INFO] [stderr] Checking hyper-util v0.1.14 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking reqwest v0.12.20 [INFO] [stderr] Checking lectio v0.1.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/generate_liturgy.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/generate_liturgy.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `once_cell::sync::Lazy` [INFO] [stdout] --> src/generate_liturgy.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use once_cell::sync::Lazy; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/generate_liturgy.rs:123:13 [INFO] [stdout] | [INFO] [stdout] 123 | easter: easter, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `easter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `NaiveDate` [INFO] [stdout] --> src/wasm.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | use chrono::{NaiveDate}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/wasm.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | season: season, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `season` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/generate_liturgy.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/generate_liturgy.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `once_cell::sync::Lazy` [INFO] [stdout] --> src/generate_liturgy.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use once_cell::sync::Lazy; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/generate_liturgy.rs:123:13 [INFO] [stdout] | [INFO] [stdout] 123 | easter: easter, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `easter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `NaiveDate` [INFO] [stdout] --> src/wasm.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | use chrono::{NaiveDate}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/wasm.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | season: season, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `season` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/wasm.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/wasm.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | Err(e) => return "".to_string(), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `weeks_before_lent` is never read [INFO] [stdout] --> src/generate_liturgy.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 52 | struct Calendar { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 62 | weeks_before_lent: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Calendar` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_str` is never used [INFO] [stdout] --> src/generate_liturgy.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 75 | impl LiturgicalSeason { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] 76 | fn as_str(&self) -> &'static str { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/wasm.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | Err(e) => return "".to_string(), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `weeks_before_lent` is never read [INFO] [stdout] --> src/generate_liturgy.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 52 | struct Calendar { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 62 | weeks_before_lent: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Calendar` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_str` is never used [INFO] [stdout] --> src/generate_liturgy.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 75 | impl LiturgicalSeason { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] 76 | fn as_str(&self) -> &'static str { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/generate_liturgy.rs:102:67 [INFO] [stdout] | [INFO] [stdout] 102 | let lectionary: LectionaryTemplate = serde_json::from_str(&lectionary_data)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `lectionary_data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/generate_liturgy.rs:102:67 [INFO] [stdout] | [INFO] [stdout] 102 | let lectionary: LectionaryTemplate = serde_json::from_str(&lectionary_data)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `lectionary_data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/generate_liturgy.rs:210:9 [INFO] [stdout] | [INFO] [stdout] 209 | let o = ordinal(n as u64).to_title_case(); [INFO] [stdout] | ------------------------------------------ unnecessary `let` binding [INFO] [stdout] 210 | o [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 209 ~ [INFO] [stdout] 210 ~ ordinal(n as u64).to_title_case() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/generate_liturgy.rs:210:9 [INFO] [stdout] | [INFO] [stdout] 209 | let o = ordinal(n as u64).to_title_case(); [INFO] [stdout] | ------------------------------------------ unnecessary `let` binding [INFO] [stdout] 210 | o [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 209 ~ [INFO] [stdout] 210 ~ ordinal(n as u64).to_title_case() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:265:29 [INFO] [stdout] | [INFO] [stdout] 265 | liturgy.entry(date).or_insert_with(Vec::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:265:29 [INFO] [stdout] | [INFO] [stdout] 265 | liturgy.entry(date).or_insert_with(Vec::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:339:29 [INFO] [stdout] | [INFO] [stdout] 339 | liturgy.entry(date).or_insert_with(Vec::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/generate_liturgy.rs:348:50 [INFO] [stdout] | [INFO] [stdout] 348 | Self::get_day_of_week_string((day_of_week - 1) as u32) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((day_of_week - 1))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:339:29 [INFO] [stdout] | [INFO] [stdout] 339 | liturgy.entry(date).or_insert_with(Vec::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/generate_liturgy.rs:348:50 [INFO] [stdout] | [INFO] [stdout] 348 | Self::get_day_of_week_string((day_of_week - 1) as u32) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((day_of_week - 1))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:389:29 [INFO] [stdout] | [INFO] [stdout] 389 | liturgy.entry(date).or_insert_with(Vec::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:389:29 [INFO] [stdout] | [INFO] [stdout] 389 | liturgy.entry(date).or_insert_with(Vec::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:416:29 [INFO] [stdout] | [INFO] [stdout] 416 | liturgy.entry(date).or_insert_with(Vec::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:416:29 [INFO] [stdout] | [INFO] [stdout] 416 | liturgy.entry(date).or_insert_with(Vec::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:460:29 [INFO] [stdout] | [INFO] [stdout] 460 | liturgy.entry(date).or_insert_with(Vec::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:460:29 [INFO] [stdout] | [INFO] [stdout] 460 | liturgy.entry(date).or_insert_with(Vec::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:532:43 [INFO] [stdout] | [INFO] [stdout] 532 | liturgy.entry(trinity_sunday).or_insert_with(Vec::new).insert(0, reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:535:39 [INFO] [stdout] | [INFO] [stdout] 535 | liturgy.entry(body_blood).or_insert_with(Vec::new).insert(0, reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:538:41 [INFO] [stdout] | [INFO] [stdout] 538 | liturgy.entry(sacred_heart).or_insert_with(Vec::new).insert(0, reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:532:43 [INFO] [stdout] | [INFO] [stdout] 532 | liturgy.entry(trinity_sunday).or_insert_with(Vec::new).insert(0, reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:535:39 [INFO] [stdout] | [INFO] [stdout] 535 | liturgy.entry(body_blood).or_insert_with(Vec::new).insert(0, reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:538:41 [INFO] [stdout] | [INFO] [stdout] 538 | liturgy.entry(sacred_heart).or_insert_with(Vec::new).insert(0, reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/generate_liturgy.rs:584:25 [INFO] [stdout] | [INFO] [stdout] 584 | / if solemnity_date.weekday() == Weekday::Sun { [INFO] [stdout] 585 | | actual_date = NaiveDate::from_ymd_opt(self.year, 12, 9).unwrap(); [INFO] [stdout] 586 | | } [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 582 ~ &"Dec8" [INFO] [stdout] 583 | // Immaculate Conception - move if Sunday in Advent [INFO] [stdout] 584 ~ if solemnity_date.weekday() == Weekday::Sun => { [INFO] [stdout] 585 | actual_date = NaiveDate::from_ymd_opt(self.year, 12, 9).unwrap(); [INFO] [stdout] 586 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/generate_liturgy.rs:553:17 [INFO] [stdout] | [INFO] [stdout] 553 | / match key { [INFO] [stdout] 554 | | &"Mar19" => { [INFO] [stdout] 555 | | // St. Joseph - move if conflicts with Holy Week [INFO] [stdout] 556 | | if start_holy_week < solemnity_date && solemnity_date < self.calendar.easter { [INFO] [stdout] ... | [INFO] [stdout] 588 | | _ => {} [INFO] [stdout] 589 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] = note: `#[warn(clippy::match_ref_pats)]` on by default [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 553 ~ match *key { [INFO] [stdout] 554 ~ "Mar19" => { [INFO] [stdout] 555 | // St. Joseph - move if conflicts with Holy Week [INFO] [stdout] ... [INFO] [stdout] 562 | }, [INFO] [stdout] 563 ~ "Mar25" => { [INFO] [stdout] 564 | // Annunciation - complex moving rules [INFO] [stdout] ... [INFO] [stdout] 571 | }, [INFO] [stdout] 572 ~ "Jun24" => { [INFO] [stdout] 573 | // St. John the Baptist - move if conflicts with Sacred Heart [INFO] [stdout] ... [INFO] [stdout] 581 | }, [INFO] [stdout] 582 ~ "Dec8" => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/generate_liturgy.rs:584:25 [INFO] [stdout] | [INFO] [stdout] 584 | / if solemnity_date.weekday() == Weekday::Sun { [INFO] [stdout] 585 | | actual_date = NaiveDate::from_ymd_opt(self.year, 12, 9).unwrap(); [INFO] [stdout] 586 | | } [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 582 ~ &"Dec8" [INFO] [stdout] 583 | // Immaculate Conception - move if Sunday in Advent [INFO] [stdout] 584 ~ if solemnity_date.weekday() == Weekday::Sun => { [INFO] [stdout] 585 | actual_date = NaiveDate::from_ymd_opt(self.year, 12, 9).unwrap(); [INFO] [stdout] 586 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `matches!` to pattern match a bool [INFO] [stdout] --> src/generate_liturgy.rs:559:34 [INFO] [stdout] | [INFO] [stdout] 559 | ... matches!(liturgy.get(&solemnity_date).map(|v| v.is_empty()).unwrap_or(true), false) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using the condition directly: `!liturgy.get(&solemnity_date).map(|v| v.is_empty()).unwrap_or(true)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/generate_liturgy.rs:553:17 [INFO] [stdout] | [INFO] [stdout] 553 | / match key { [INFO] [stdout] 554 | | &"Mar19" => { [INFO] [stdout] 555 | | // St. Joseph - move if conflicts with Holy Week [INFO] [stdout] 556 | | if start_holy_week < solemnity_date && solemnity_date < self.calendar.easter { [INFO] [stdout] ... | [INFO] [stdout] 588 | | _ => {} [INFO] [stdout] 589 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] = note: `#[warn(clippy::match_ref_pats)]` on by default [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 553 ~ match *key { [INFO] [stdout] 554 ~ "Mar19" => { [INFO] [stdout] 555 | // St. Joseph - move if conflicts with Holy Week [INFO] [stdout] ... [INFO] [stdout] 562 | }, [INFO] [stdout] 563 ~ "Mar25" => { [INFO] [stdout] 564 | // Annunciation - complex moving rules [INFO] [stdout] ... [INFO] [stdout] 571 | }, [INFO] [stdout] 572 ~ "Jun24" => { [INFO] [stdout] 573 | // St. John the Baptist - move if conflicts with Sacred Heart [INFO] [stdout] ... [INFO] [stdout] 581 | }, [INFO] [stdout] 582 ~ "Dec8" => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:579:56 [INFO] [stdout] | [INFO] [stdout] 579 | ... liturgy.entry(actual_date).or_insert_with(Vec::new).insert(0, vigil_reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `matches!` to pattern match a bool [INFO] [stdout] --> src/generate_liturgy.rs:559:34 [INFO] [stdout] | [INFO] [stdout] 559 | ... matches!(liturgy.get(&solemnity_date).map(|v| v.is_empty()).unwrap_or(true), false) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using the condition directly: `!liturgy.get(&solemnity_date).map(|v| v.is_empty()).unwrap_or(true)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:592:48 [INFO] [stdout] | [INFO] [stdout] 592 | liturgy.entry(actual_date).or_insert_with(Vec::new).insert(0, reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:579:56 [INFO] [stdout] | [INFO] [stdout] 579 | ... liturgy.entry(actual_date).or_insert_with(Vec::new).insert(0, vigil_reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:608:67 [INFO] [stdout] | [INFO] [stdout] 608 | let readings = liturgy.entry(parsed_date).or_insert_with(Vec::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:592:48 [INFO] [stdout] | [INFO] [stdout] 592 | liturgy.entry(actual_date).or_insert_with(Vec::new).insert(0, reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:613:48 [INFO] [stdout] | [INFO] [stdout] 613 | liturgy.entry(parsed_date).or_insert_with(Vec::new).insert(0, reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:608:67 [INFO] [stdout] | [INFO] [stdout] 608 | let readings = liturgy.entry(parsed_date).or_insert_with(Vec::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:628:41 [INFO] [stdout] | [INFO] [stdout] 628 | liturgy.entry(thanksgiving).or_insert_with(Vec::new).push(reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:613:48 [INFO] [stdout] | [INFO] [stdout] 613 | liturgy.entry(parsed_date).or_insert_with(Vec::new).insert(0, reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:642:47 [INFO] [stdout] | [INFO] [stdout] 642 | liturgy.entry(saint_date).or_insert_with(Vec::new).push(reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:628:41 [INFO] [stdout] | [INFO] [stdout] 628 | liturgy.entry(thanksgiving).or_insert_with(Vec::new).push(reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:644:47 [INFO] [stdout] | [INFO] [stdout] 644 | liturgy.entry(saint_date).or_insert_with(Vec::new).insert(0, reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:642:47 [INFO] [stdout] | [INFO] [stdout] 642 | liturgy.entry(saint_date).or_insert_with(Vec::new).push(reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:644:47 [INFO] [stdout] | [INFO] [stdout] 644 | liturgy.entry(saint_date).or_insert_with(Vec::new).insert(0, reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/generate_liturgy.rs:670:31 [INFO] [stdout] | [INFO] [stdout] 670 | ...e(&self) -> Result<(HashMap>, HashMap), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/generate_liturgy.rs:670:31 [INFO] [stdout] | [INFO] [stdout] 670 | ...e(&self) -> Result<(HashMap>, HashMap), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/generate_liturgy.rs:712:24 [INFO] [stdout] | [INFO] [stdout] 712 | std::fs::write(&liturgy_folder.join(format!("liturgy{}.json", self.year)), &liturgy_json)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `liturgy_folder.join(format!("liturgy{}.json", self.year))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/generate_liturgy.rs:712:24 [INFO] [stdout] | [INFO] [stdout] 712 | std::fs::write(&liturgy_folder.join(format!("liturgy{}.json", self.year)), &liturgy_json)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `liturgy_folder.join(format!("liturgy{}.json", self.year))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:810:13 [INFO] [stdout] | [INFO] [stdout] 810 | advent_start = advent_start - chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `advent_start -= chrono::Duration::days(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:812:17 [INFO] [stdout] | [INFO] [stdout] 812 | advent_start = advent_start - chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `advent_start -= chrono::Duration::days(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:836:13 [INFO] [stdout] | [INFO] [stdout] 836 | epiphany = epiphany + chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `epiphany += chrono::Duration::days(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate_liturgy.rs:849:13 [INFO] [stdout] | [INFO] [stdout] 849 | return NaiveDate::from_ymd_opt(year, 12, 30).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 849 - return NaiveDate::from_ymd_opt(year, 12, 30).unwrap(); [INFO] [stdout] 849 + NaiveDate::from_ymd_opt(year, 12, 30).unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:852:17 [INFO] [stdout] | [INFO] [stdout] 852 | holy_family = holy_family - chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `holy_family -= chrono::Duration::days(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate_liturgy.rs:864:13 [INFO] [stdout] | [INFO] [stdout] 864 | return christmas_end + chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 864 - return christmas_end + chrono::Duration::days(1); [INFO] [stdout] 864 + christmas_end + chrono::Duration::days(1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:810:13 [INFO] [stdout] | [INFO] [stdout] 810 | advent_start = advent_start - chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `advent_start -= chrono::Duration::days(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:867:17 [INFO] [stdout] | [INFO] [stdout] 867 | christmas_end = christmas_end + chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `christmas_end += chrono::Duration::days(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:812:17 [INFO] [stdout] | [INFO] [stdout] 812 | advent_start = advent_start - chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `advent_start -= chrono::Duration::days(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate_liturgy.rs:892:9 [INFO] [stdout] | [INFO] [stdout] 892 | return weeks; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 892 - return weeks; [INFO] [stdout] 892 + weeks [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:836:13 [INFO] [stdout] | [INFO] [stdout] 836 | epiphany = epiphany + chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `epiphany += chrono::Duration::days(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:884:17 [INFO] [stdout] | [INFO] [stdout] 884 | sunday_index = sunday_index - chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `sunday_index -= chrono::Duration::days(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate_liturgy.rs:849:13 [INFO] [stdout] | [INFO] [stdout] 849 | return NaiveDate::from_ymd_opt(year, 12, 30).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 849 - return NaiveDate::from_ymd_opt(year, 12, 30).unwrap(); [INFO] [stdout] 849 + NaiveDate::from_ymd_opt(year, 12, 30).unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:889:13 [INFO] [stdout] | [INFO] [stdout] 889 | weeks = weeks + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace it with: `weeks += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:852:17 [INFO] [stdout] | [INFO] [stdout] 852 | holy_family = holy_family - chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `holy_family -= chrono::Duration::days(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate_liturgy.rs:913:13 [INFO] [stdout] | [INFO] [stdout] 913 | return weeks_before_lent + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 913 - return weeks_before_lent + 1; [INFO] [stdout] 913 + weeks_before_lent + 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate_liturgy.rs:915:13 [INFO] [stdout] | [INFO] [stdout] 915 | return weeks_before_lent + 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 915 - return weeks_before_lent + 2; [INFO] [stdout] 915 + weeks_before_lent + 2 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate_liturgy.rs:864:13 [INFO] [stdout] | [INFO] [stdout] 864 | return christmas_end + chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 864 - return christmas_end + chrono::Duration::days(1); [INFO] [stdout] 864 + christmas_end + chrono::Duration::days(1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:903:17 [INFO] [stdout] | [INFO] [stdout] 903 | sunday_index = sunday_index - chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `sunday_index -= chrono::Duration::days(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:908:13 [INFO] [stdout] | [INFO] [stdout] 908 | weeks = weeks + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace it with: `weeks += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:867:17 [INFO] [stdout] | [INFO] [stdout] 867 | christmas_end = christmas_end + chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `christmas_end += chrono::Duration::days(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate_liturgy.rs:892:9 [INFO] [stdout] | [INFO] [stdout] 892 | return weeks; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 892 - return weeks; [INFO] [stdout] 892 + weeks [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:884:17 [INFO] [stdout] | [INFO] [stdout] 884 | sunday_index = sunday_index - chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `sunday_index -= chrono::Duration::days(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:889:13 [INFO] [stdout] | [INFO] [stdout] 889 | weeks = weeks + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace it with: `weeks += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate_liturgy.rs:913:13 [INFO] [stdout] | [INFO] [stdout] 913 | return weeks_before_lent + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 913 - return weeks_before_lent + 1; [INFO] [stdout] 913 + weeks_before_lent + 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate_liturgy.rs:915:13 [INFO] [stdout] | [INFO] [stdout] 915 | return weeks_before_lent + 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 915 - return weeks_before_lent + 2; [INFO] [stdout] 915 + weeks_before_lent + 2 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/generate_liturgy.rs:948:18 [INFO] [stdout] | [INFO] [stdout] 948 | fn search_verses<'a>(bible:&'a str, verses:&mut Verses) -> Vec { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 948 - fn search_verses<'a>(bible:&'a str, verses:&mut Verses) -> Vec { [INFO] [stdout] 948 + fn search_verses(bible:&str, verses:&mut Verses) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate_liturgy.rs:1034:5 [INFO] [stdout] | [INFO] [stdout] 1034 | return result; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1034 - return result; [INFO] [stdout] 1034 + result [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:903:17 [INFO] [stdout] | [INFO] [stdout] 903 | sunday_index = sunday_index - chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `sunday_index -= chrono::Duration::days(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:908:13 [INFO] [stdout] | [INFO] [stdout] 908 | weeks = weeks + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace it with: `weeks += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: compiling a regex in a loop [INFO] [stdout] --> src/generate_liturgy.rs:963:34 [INFO] [stdout] | [INFO] [stdout] 963 | let end_asterisk_regex = Regex::new(r"\s*\*[^*]*\*$").unwrap(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: move the regex construction outside this loop [INFO] [stdout] --> src/generate_liturgy.rs:958:5 [INFO] [stdout] | [INFO] [stdout] 958 | for verse in &mut verses.verses { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#regex_creation_in_loops [INFO] [stdout] = note: `#[warn(clippy::regex_creation_in_loops)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/generate_liturgy.rs:948:18 [INFO] [stdout] | [INFO] [stdout] 948 | fn search_verses<'a>(bible:&'a str, verses:&mut Verses) -> Vec { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 948 - fn search_verses<'a>(bible:&'a str, verses:&mut Verses) -> Vec { [INFO] [stdout] 948 + fn search_verses(bible:&str, verses:&mut Verses) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate_liturgy.rs:1034:5 [INFO] [stdout] | [INFO] [stdout] 1034 | return result; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1034 - return result; [INFO] [stdout] 1034 + result [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_string` [INFO] [stdout] --> src/generate_liturgy.rs:980:61 [INFO] [stdout] | [INFO] [stdout] 980 | let result = end_asterisk_regex.replace_all(&result.to_string(), "").trim().to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: use: `result` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] = note: `#[warn(clippy::unnecessary_to_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: compiling a regex in a loop [INFO] [stdout] --> src/generate_liturgy.rs:963:34 [INFO] [stdout] | [INFO] [stdout] 963 | let end_asterisk_regex = Regex::new(r"\s*\*[^*]*\*$").unwrap(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: move the regex construction outside this loop [INFO] [stdout] --> src/generate_liturgy.rs:958:5 [INFO] [stdout] | [INFO] [stdout] 958 | for verse in &mut verses.verses { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#regex_creation_in_loops [INFO] [stdout] = note: `#[warn(clippy::regex_creation_in_loops)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_string` [INFO] [stdout] --> src/generate_liturgy.rs:980:61 [INFO] [stdout] | [INFO] [stdout] 980 | let result = end_asterisk_regex.replace_all(&result.to_string(), "").trim().to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: use: `result` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] = note: `#[warn(clippy::unnecessary_to_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/generate_liturgy.rs:1012:21 [INFO] [stdout] | [INFO] [stdout] 1012 | / if let Some(verse_text) = split_text.get(1) { [INFO] [stdout] 1013 | | if verse_text.starts_with(&(verse_number.to_string())) { [INFO] [stdout] 1014 | | let space_split = line.split_once(' '); [INFO] [stdout] 1015 | | let (_, verse_text) = space_split.unwrap_or(("", "")); [INFO] [stdout] ... | [INFO] [stdout] 1022 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 1012 ~ if let Some(verse_text) = split_text.get(1) [INFO] [stdout] 1013 ~ && verse_text.starts_with(&(verse_number.to_string())) { [INFO] [stdout] 1014 | let space_split = line.split_once(' '); [INFO] [stdout] ... [INFO] [stdout] 1020 | break; [INFO] [stdout] 1021 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/generate_liturgy.rs:1012:21 [INFO] [stdout] | [INFO] [stdout] 1012 | / if let Some(verse_text) = split_text.get(1) { [INFO] [stdout] 1013 | | if verse_text.starts_with(&(verse_number.to_string())) { [INFO] [stdout] 1014 | | let space_split = line.split_once(' '); [INFO] [stdout] 1015 | | let (_, verse_text) = space_split.unwrap_or(("", "")); [INFO] [stdout] ... | [INFO] [stdout] 1022 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 1012 ~ if let Some(verse_text) = split_text.get(1) [INFO] [stdout] 1013 ~ && verse_text.starts_with(&(verse_number.to_string())) { [INFO] [stdout] 1014 | let space_split = line.split_once(' '); [INFO] [stdout] ... [INFO] [stdout] 1020 | break; [INFO] [stdout] 1021 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/wasm.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | return serialized_liturgy; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 53 - return serialized_liturgy; [INFO] [stdout] 53 + serialized_liturgy [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/wasm.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | return serialized_liturgy; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 53 - return serialized_liturgy; [INFO] [stdout] 53 + serialized_liturgy [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Command` and `Stdio` [INFO] [stdout] --> src/main.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use std::process::{Command, Stdio}; [INFO] [stdout] | ^^^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Deserialize` [INFO] [stdout] --> src/main.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | use serde::{Deserialize}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/biblescrape.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | use reqwest; [INFO] [stdout] | ^^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/biblescrape.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | use tokio; [INFO] [stdout] | ^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Command` and `Stdio` [INFO] [stdout] --> src/main.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use std::process::{Command, Stdio}; [INFO] [stdout] | ^^^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Deserialize` [INFO] [stdout] --> src/main.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | use serde::{Deserialize}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/biblescrape.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | use reqwest; [INFO] [stdout] | ^^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/biblescrape.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | use tokio; [INFO] [stdout] | ^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/generate_liturgy.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/generate_liturgy.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `once_cell::sync::Lazy` [INFO] [stdout] --> src/generate_liturgy.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use once_cell::sync::Lazy; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/generate_liturgy.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/generate_liturgy.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `once_cell::sync::Lazy` [INFO] [stdout] --> src/generate_liturgy.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use once_cell::sync::Lazy; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/generate_liturgy.rs:123:13 [INFO] [stdout] | [INFO] [stdout] 123 | easter: easter, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `easter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/generate_liturgy.rs:123:13 [INFO] [stdout] | [INFO] [stdout] 123 | easter: easter, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `easter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RangeEnd`, `Verse`, and `Verses` [INFO] [stdout] --> src/main.rs:21:93 [INFO] [stdout] | [INFO] [stdout] 21 | use generate_liturgy::{LiturgyGenerator, LiturgicalSeason, search_bible, Readings, Reading, Verses, Verse, RangeEnd}; [INFO] [stdout] | ^^^^^^ ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RangeEnd`, `Verse`, and `Verses` [INFO] [stdout] --> src/main.rs:21:93 [INFO] [stdout] | [INFO] [stdout] 21 | use generate_liturgy::{LiturgyGenerator, LiturgicalSeason, search_bible, Readings, Reading, Verses, Verse, RangeEnd}; [INFO] [stdout] | ^^^^^^ ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `verse_count` is assigned to, but never used [INFO] [stdout] --> src/biblescrape.rs:197:13 [INFO] [stdout] | [INFO] [stdout] 197 | let mut verse_count = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_verse_count` instead [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `verse_count` is never read [INFO] [stdout] --> src/biblescrape.rs:302:45 [INFO] [stdout] | [INFO] [stdout] 302 | ... verse_count += 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `verse_count` is assigned to, but never used [INFO] [stdout] --> src/biblescrape.rs:197:13 [INFO] [stdout] | [INFO] [stdout] 197 | let mut verse_count = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_verse_count` instead [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `verse_count` is never read [INFO] [stdout] --> src/biblescrape.rs:302:45 [INFO] [stdout] | [INFO] [stdout] 302 | ... verse_count += 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `date` [INFO] [stdout] --> src/main.rs:149:18 [INFO] [stdout] | [INFO] [stdout] 149 | for (date, liturgy) in &mut liturgy_json { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_date` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `season` [INFO] [stdout] --> src/main.rs:252:64 [INFO] [stdout] | [INFO] [stdout] 252 | fn print_reading(reading_option: Option, title: &str, season: &LiturgicalSeason) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_season` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_liturgy` is never used [INFO] [stdout] --> src/main.rs:319:4 [INFO] [stdout] | [INFO] [stdout] 319 | fn read_liturgy(year:i32) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `stop`, `get_book`, and `get_all_books` are never used [INFO] [stdout] --> src/biblescrape.rs:337:12 [INFO] [stdout] | [INFO] [stdout] 178 | impl BibleDownloader { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 337 | pub fn stop(&self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 341 | pub fn get_book(&self, book_name: &str) -> Option<&String> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 345 | pub fn get_all_books(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `weeks_before_lent` is never read [INFO] [stdout] --> src/generate_liturgy.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 52 | struct Calendar { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 62 | weeks_before_lent: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Calendar` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_str` is never used [INFO] [stdout] --> src/generate_liturgy.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 75 | impl LiturgicalSeason { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] 76 | fn as_str(&self) -> &'static str { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `save_to_files` is never used [INFO] [stdout] --> src/generate_liturgy.rs:703:12 [INFO] [stdout] | [INFO] [stdout] 97 | impl LiturgyGenerator { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 703 | pub fn save_to_files(&self) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/biblescrape.rs:290:37 [INFO] [stdout] | [INFO] [stdout] 290 | / ... if class_name.starts_with(&book_abrv) { [INFO] [stdout] 291 | | ... if let Some(captures) = verse_regex.captures(class_name) { [INFO] [stdout] 292 | | ... let chapter_num = &captures[1]; [INFO] [stdout] 293 | | ... let verse_num = &captures[2]; [INFO] [stdout] ... | [INFO] [stdout] 306 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 290 ~ if class_name.starts_with(&book_abrv) [INFO] [stdout] 291 ~ && let Some(captures) = verse_regex.captures(class_name) { [INFO] [stdout] 292 | let chapter_num = &captures[1]; [INFO] [stdout] ... [INFO] [stdout] 304 | break; [INFO] [stdout] 305 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `date` [INFO] [stdout] --> src/main.rs:149:18 [INFO] [stdout] | [INFO] [stdout] 149 | for (date, liturgy) in &mut liturgy_json { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_date` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `season` [INFO] [stdout] --> src/main.rs:252:64 [INFO] [stdout] | [INFO] [stdout] 252 | fn print_reading(reading_option: Option, title: &str, season: &LiturgicalSeason) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_season` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_liturgy` is never used [INFO] [stdout] --> src/main.rs:319:4 [INFO] [stdout] | [INFO] [stdout] 319 | fn read_liturgy(year:i32) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `stop`, `get_book`, and `get_all_books` are never used [INFO] [stdout] --> src/biblescrape.rs:337:12 [INFO] [stdout] | [INFO] [stdout] 178 | impl BibleDownloader { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 337 | pub fn stop(&self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 341 | pub fn get_book(&self, book_name: &str) -> Option<&String> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 345 | pub fn get_all_books(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `weeks_before_lent` is never read [INFO] [stdout] --> src/generate_liturgy.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 52 | struct Calendar { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 62 | weeks_before_lent: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Calendar` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_str` is never used [INFO] [stdout] --> src/generate_liturgy.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 75 | impl LiturgicalSeason { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] 76 | fn as_str(&self) -> &'static str { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `save_to_files` is never used [INFO] [stdout] --> src/generate_liturgy.rs:703:12 [INFO] [stdout] | [INFO] [stdout] 97 | impl LiturgyGenerator { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 703 | pub fn save_to_files(&self) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/generate_liturgy.rs:102:67 [INFO] [stdout] | [INFO] [stdout] 102 | let lectionary: LectionaryTemplate = serde_json::from_str(&lectionary_data)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `lectionary_data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/generate_liturgy.rs:210:9 [INFO] [stdout] | [INFO] [stdout] 209 | let o = ordinal(n as u64).to_title_case(); [INFO] [stdout] | ------------------------------------------ unnecessary `let` binding [INFO] [stdout] 210 | o [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 209 ~ [INFO] [stdout] 210 ~ ordinal(n as u64).to_title_case() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/biblescrape.rs:290:37 [INFO] [stdout] | [INFO] [stdout] 290 | / ... if class_name.starts_with(&book_abrv) { [INFO] [stdout] 291 | | ... if let Some(captures) = verse_regex.captures(class_name) { [INFO] [stdout] 292 | | ... let chapter_num = &captures[1]; [INFO] [stdout] 293 | | ... let verse_num = &captures[2]; [INFO] [stdout] ... | [INFO] [stdout] 306 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 290 ~ if class_name.starts_with(&book_abrv) [INFO] [stdout] 291 ~ && let Some(captures) = verse_regex.captures(class_name) { [INFO] [stdout] 292 | let chapter_num = &captures[1]; [INFO] [stdout] ... [INFO] [stdout] 304 | break; [INFO] [stdout] 305 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:265:29 [INFO] [stdout] | [INFO] [stdout] 265 | liturgy.entry(date).or_insert_with(Vec::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:339:29 [INFO] [stdout] | [INFO] [stdout] 339 | liturgy.entry(date).or_insert_with(Vec::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/generate_liturgy.rs:348:50 [INFO] [stdout] | [INFO] [stdout] 348 | Self::get_day_of_week_string((day_of_week - 1) as u32) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((day_of_week - 1))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:389:29 [INFO] [stdout] | [INFO] [stdout] 389 | liturgy.entry(date).or_insert_with(Vec::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:416:29 [INFO] [stdout] | [INFO] [stdout] 416 | liturgy.entry(date).or_insert_with(Vec::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:460:29 [INFO] [stdout] | [INFO] [stdout] 460 | liturgy.entry(date).or_insert_with(Vec::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:532:43 [INFO] [stdout] | [INFO] [stdout] 532 | liturgy.entry(trinity_sunday).or_insert_with(Vec::new).insert(0, reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:535:39 [INFO] [stdout] | [INFO] [stdout] 535 | liturgy.entry(body_blood).or_insert_with(Vec::new).insert(0, reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:538:41 [INFO] [stdout] | [INFO] [stdout] 538 | liturgy.entry(sacred_heart).or_insert_with(Vec::new).insert(0, reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/generate_liturgy.rs:584:25 [INFO] [stdout] | [INFO] [stdout] 584 | / if solemnity_date.weekday() == Weekday::Sun { [INFO] [stdout] 585 | | actual_date = NaiveDate::from_ymd_opt(self.year, 12, 9).unwrap(); [INFO] [stdout] 586 | | } [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 582 ~ &"Dec8" [INFO] [stdout] 583 | // Immaculate Conception - move if Sunday in Advent [INFO] [stdout] 584 ~ if solemnity_date.weekday() == Weekday::Sun => { [INFO] [stdout] 585 | actual_date = NaiveDate::from_ymd_opt(self.year, 12, 9).unwrap(); [INFO] [stdout] 586 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/generate_liturgy.rs:553:17 [INFO] [stdout] | [INFO] [stdout] 553 | / match key { [INFO] [stdout] 554 | | &"Mar19" => { [INFO] [stdout] 555 | | // St. Joseph - move if conflicts with Holy Week [INFO] [stdout] 556 | | if start_holy_week < solemnity_date && solemnity_date < self.calendar.easter { [INFO] [stdout] ... | [INFO] [stdout] 588 | | _ => {} [INFO] [stdout] 589 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] = note: `#[warn(clippy::match_ref_pats)]` on by default [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 553 ~ match *key { [INFO] [stdout] 554 ~ "Mar19" => { [INFO] [stdout] 555 | // St. Joseph - move if conflicts with Holy Week [INFO] [stdout] ... [INFO] [stdout] 562 | }, [INFO] [stdout] 563 ~ "Mar25" => { [INFO] [stdout] 564 | // Annunciation - complex moving rules [INFO] [stdout] ... [INFO] [stdout] 571 | }, [INFO] [stdout] 572 ~ "Jun24" => { [INFO] [stdout] 573 | // St. John the Baptist - move if conflicts with Sacred Heart [INFO] [stdout] ... [INFO] [stdout] 581 | }, [INFO] [stdout] 582 ~ "Dec8" => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `matches!` to pattern match a bool [INFO] [stdout] --> src/generate_liturgy.rs:559:34 [INFO] [stdout] | [INFO] [stdout] 559 | ... matches!(liturgy.get(&solemnity_date).map(|v| v.is_empty()).unwrap_or(true), false) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using the condition directly: `!liturgy.get(&solemnity_date).map(|v| v.is_empty()).unwrap_or(true)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:579:56 [INFO] [stdout] | [INFO] [stdout] 579 | ... liturgy.entry(actual_date).or_insert_with(Vec::new).insert(0, vigil_reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:592:48 [INFO] [stdout] | [INFO] [stdout] 592 | liturgy.entry(actual_date).or_insert_with(Vec::new).insert(0, reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:608:67 [INFO] [stdout] | [INFO] [stdout] 608 | let readings = liturgy.entry(parsed_date).or_insert_with(Vec::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:613:48 [INFO] [stdout] | [INFO] [stdout] 613 | liturgy.entry(parsed_date).or_insert_with(Vec::new).insert(0, reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:628:41 [INFO] [stdout] | [INFO] [stdout] 628 | liturgy.entry(thanksgiving).or_insert_with(Vec::new).push(reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:642:47 [INFO] [stdout] | [INFO] [stdout] 642 | liturgy.entry(saint_date).or_insert_with(Vec::new).push(reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:644:47 [INFO] [stdout] | [INFO] [stdout] 644 | liturgy.entry(saint_date).or_insert_with(Vec::new).insert(0, reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/generate_liturgy.rs:670:31 [INFO] [stdout] | [INFO] [stdout] 670 | ...e(&self) -> Result<(HashMap>, HashMap), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/generate_liturgy.rs:712:24 [INFO] [stdout] | [INFO] [stdout] 712 | std::fs::write(&liturgy_folder.join(format!("liturgy{}.json", self.year)), &liturgy_json)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `liturgy_folder.join(format!("liturgy{}.json", self.year))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:810:13 [INFO] [stdout] | [INFO] [stdout] 810 | advent_start = advent_start - chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `advent_start -= chrono::Duration::days(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:812:17 [INFO] [stdout] | [INFO] [stdout] 812 | advent_start = advent_start - chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `advent_start -= chrono::Duration::days(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:836:13 [INFO] [stdout] | [INFO] [stdout] 836 | epiphany = epiphany + chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `epiphany += chrono::Duration::days(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate_liturgy.rs:849:13 [INFO] [stdout] | [INFO] [stdout] 849 | return NaiveDate::from_ymd_opt(year, 12, 30).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 849 - return NaiveDate::from_ymd_opt(year, 12, 30).unwrap(); [INFO] [stdout] 849 + NaiveDate::from_ymd_opt(year, 12, 30).unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:852:17 [INFO] [stdout] | [INFO] [stdout] 852 | holy_family = holy_family - chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `holy_family -= chrono::Duration::days(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/generate_liturgy.rs:102:67 [INFO] [stdout] | [INFO] [stdout] 102 | let lectionary: LectionaryTemplate = serde_json::from_str(&lectionary_data)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `lectionary_data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate_liturgy.rs:864:13 [INFO] [stdout] | [INFO] [stdout] 864 | return christmas_end + chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 864 - return christmas_end + chrono::Duration::days(1); [INFO] [stdout] 864 + christmas_end + chrono::Duration::days(1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:867:17 [INFO] [stdout] | [INFO] [stdout] 867 | christmas_end = christmas_end + chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `christmas_end += chrono::Duration::days(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate_liturgy.rs:892:9 [INFO] [stdout] | [INFO] [stdout] 892 | return weeks; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 892 - return weeks; [INFO] [stdout] 892 + weeks [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:884:17 [INFO] [stdout] | [INFO] [stdout] 884 | sunday_index = sunday_index - chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `sunday_index -= chrono::Duration::days(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:889:13 [INFO] [stdout] | [INFO] [stdout] 889 | weeks = weeks + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace it with: `weeks += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate_liturgy.rs:913:13 [INFO] [stdout] | [INFO] [stdout] 913 | return weeks_before_lent + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 913 - return weeks_before_lent + 1; [INFO] [stdout] 913 + weeks_before_lent + 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate_liturgy.rs:915:13 [INFO] [stdout] | [INFO] [stdout] 915 | return weeks_before_lent + 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 915 - return weeks_before_lent + 2; [INFO] [stdout] 915 + weeks_before_lent + 2 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:903:17 [INFO] [stdout] | [INFO] [stdout] 903 | sunday_index = sunday_index - chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `sunday_index -= chrono::Duration::days(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:908:13 [INFO] [stdout] | [INFO] [stdout] 908 | weeks = weeks + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace it with: `weeks += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/generate_liturgy.rs:948:18 [INFO] [stdout] | [INFO] [stdout] 948 | fn search_verses<'a>(bible:&'a str, verses:&mut Verses) -> Vec { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 948 - fn search_verses<'a>(bible:&'a str, verses:&mut Verses) -> Vec { [INFO] [stdout] 948 + fn search_verses(bible:&str, verses:&mut Verses) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate_liturgy.rs:1034:5 [INFO] [stdout] | [INFO] [stdout] 1034 | return result; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1034 - return result; [INFO] [stdout] 1034 + result [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/generate_liturgy.rs:210:9 [INFO] [stdout] | [INFO] [stdout] 209 | let o = ordinal(n as u64).to_title_case(); [INFO] [stdout] | ------------------------------------------ unnecessary `let` binding [INFO] [stdout] 210 | o [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 209 ~ [INFO] [stdout] 210 ~ ordinal(n as u64).to_title_case() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: compiling a regex in a loop [INFO] [stdout] --> src/generate_liturgy.rs:963:34 [INFO] [stdout] | [INFO] [stdout] 963 | let end_asterisk_regex = Regex::new(r"\s*\*[^*]*\*$").unwrap(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: move the regex construction outside this loop [INFO] [stdout] --> src/generate_liturgy.rs:958:5 [INFO] [stdout] | [INFO] [stdout] 958 | for verse in &mut verses.verses { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#regex_creation_in_loops [INFO] [stdout] = note: `#[warn(clippy::regex_creation_in_loops)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:265:29 [INFO] [stdout] | [INFO] [stdout] 265 | liturgy.entry(date).or_insert_with(Vec::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_string` [INFO] [stdout] --> src/generate_liturgy.rs:980:61 [INFO] [stdout] | [INFO] [stdout] 980 | let result = end_asterisk_regex.replace_all(&result.to_string(), "").trim().to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: use: `result` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] = note: `#[warn(clippy::unnecessary_to_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/generate_liturgy.rs:1012:21 [INFO] [stdout] | [INFO] [stdout] 1012 | / if let Some(verse_text) = split_text.get(1) { [INFO] [stdout] 1013 | | if verse_text.starts_with(&(verse_number.to_string())) { [INFO] [stdout] 1014 | | let space_split = line.split_once(' '); [INFO] [stdout] 1015 | | let (_, verse_text) = space_split.unwrap_or(("", "")); [INFO] [stdout] ... | [INFO] [stdout] 1022 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 1012 ~ if let Some(verse_text) = split_text.get(1) [INFO] [stdout] 1013 ~ && verse_text.starts_with(&(verse_number.to_string())) { [INFO] [stdout] 1014 | let space_split = line.split_once(' '); [INFO] [stdout] ... [INFO] [stdout] 1020 | break; [INFO] [stdout] 1021 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:339:29 [INFO] [stdout] | [INFO] [stdout] 339 | liturgy.entry(date).or_insert_with(Vec::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/generate_liturgy.rs:348:50 [INFO] [stdout] | [INFO] [stdout] 348 | Self::get_day_of_week_string((day_of_week - 1) as u32) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((day_of_week - 1))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:389:29 [INFO] [stdout] | [INFO] [stdout] 389 | liturgy.entry(date).or_insert_with(Vec::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:416:29 [INFO] [stdout] | [INFO] [stdout] 416 | liturgy.entry(date).or_insert_with(Vec::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:460:29 [INFO] [stdout] | [INFO] [stdout] 460 | liturgy.entry(date).or_insert_with(Vec::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's keys [INFO] [stdout] --> src/main.rs:74:22 [INFO] [stdout] | [INFO] [stdout] 74 | for (book, _) in &*biblescrape::BOOKS { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] = note: `#[warn(clippy::for_kv_map)]` on by default [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 74 - for (book, _) in &*biblescrape::BOOKS { [INFO] [stdout] 74 + for book in (*biblescrape::BOOKS).keys() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/main.rs:81:12 [INFO] [stdout] | [INFO] [stdout] 81 | if text != "" { [INFO] [stdout] | ^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!text.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] = note: `#[warn(clippy::comparison_to_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:532:43 [INFO] [stdout] | [INFO] [stdout] 532 | liturgy.entry(trinity_sunday).or_insert_with(Vec::new).insert(0, reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:535:39 [INFO] [stdout] | [INFO] [stdout] 535 | liturgy.entry(body_blood).or_insert_with(Vec::new).insert(0, reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:538:41 [INFO] [stdout] | [INFO] [stdout] 538 | liturgy.entry(sacred_heart).or_insert_with(Vec::new).insert(0, reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/generate_liturgy.rs:584:25 [INFO] [stdout] | [INFO] [stdout] 584 | / if solemnity_date.weekday() == Weekday::Sun { [INFO] [stdout] 585 | | actual_date = NaiveDate::from_ymd_opt(self.year, 12, 9).unwrap(); [INFO] [stdout] 586 | | } [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 582 ~ &"Dec8" [INFO] [stdout] 583 | // Immaculate Conception - move if Sunday in Advent [INFO] [stdout] 584 ~ if solemnity_date.weekday() == Weekday::Sun => { [INFO] [stdout] 585 | actual_date = NaiveDate::from_ymd_opt(self.year, 12, 9).unwrap(); [INFO] [stdout] 586 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/generate_liturgy.rs:553:17 [INFO] [stdout] | [INFO] [stdout] 553 | / match key { [INFO] [stdout] 554 | | &"Mar19" => { [INFO] [stdout] 555 | | // St. Joseph - move if conflicts with Holy Week [INFO] [stdout] 556 | | if start_holy_week < solemnity_date && solemnity_date < self.calendar.easter { [INFO] [stdout] ... | [INFO] [stdout] 588 | | _ => {} [INFO] [stdout] 589 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] = note: `#[warn(clippy::match_ref_pats)]` on by default [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 553 ~ match *key { [INFO] [stdout] 554 ~ "Mar19" => { [INFO] [stdout] 555 | // St. Joseph - move if conflicts with Holy Week [INFO] [stdout] ... [INFO] [stdout] 562 | }, [INFO] [stdout] 563 ~ "Mar25" => { [INFO] [stdout] 564 | // Annunciation - complex moving rules [INFO] [stdout] ... [INFO] [stdout] 571 | }, [INFO] [stdout] 572 ~ "Jun24" => { [INFO] [stdout] 573 | // St. John the Baptist - move if conflicts with Sacred Heart [INFO] [stdout] ... [INFO] [stdout] 581 | }, [INFO] [stdout] 582 ~ "Dec8" => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `matches!` to pattern match a bool [INFO] [stdout] --> src/generate_liturgy.rs:559:34 [INFO] [stdout] | [INFO] [stdout] 559 | ... matches!(liturgy.get(&solemnity_date).map(|v| v.is_empty()).unwrap_or(true), false) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using the condition directly: `!liturgy.get(&solemnity_date).map(|v| v.is_empty()).unwrap_or(true)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:146:34 [INFO] [stdout] | [INFO] [stdout] 146 | search_bible(&bible, &mut chosen_liturgy); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: change this to: `chosen_liturgy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:579:56 [INFO] [stdout] | [INFO] [stdout] 579 | ... liturgy.entry(actual_date).or_insert_with(Vec::new).insert(0, vigil_reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:157:66 [INFO] [stdout] | [INFO] [stdout] 157 | let mut searched_liturgy = match parse_liturgy(&liturgy, &date) { [INFO] [stdout] | ^^^^^ help: change this to: `date` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:592:48 [INFO] [stdout] | [INFO] [stdout] 592 | liturgy.entry(actual_date).or_insert_with(Vec::new).insert(0, reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:168:42 [INFO] [stdout] | [INFO] [stdout] 168 | print_readings(readings, &date, season); [INFO] [stdout] | ^^^^^ help: change this to: `date` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:608:67 [INFO] [stdout] | [INFO] [stdout] 608 | let readings = liturgy.entry(parsed_date).or_insert_with(Vec::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/main.rs:177:17 [INFO] [stdout] | [INFO] [stdout] 177 | select_config.help_message = StyleSheet::default().with_fg(Color::DarkGreen); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `RenderConfig::<'_> { help_message: StyleSheet::default().with_fg(Color::DarkGreen), selected_option: Some(StyleSheet::default().with_fg(Color::DarkGreen)), answer: StyleSheet::default().with_fg(Color::DarkGreen), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/main.rs:176:17 [INFO] [stdout] | [INFO] [stdout] 176 | let mut select_config = RenderConfig::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] = note: `#[warn(clippy::field_reassign_with_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:613:48 [INFO] [stdout] | [INFO] [stdout] 613 | liturgy.entry(parsed_date).or_insert_with(Vec::new).insert(0, reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:628:41 [INFO] [stdout] | [INFO] [stdout] 628 | liturgy.entry(thanksgiving).or_insert_with(Vec::new).push(reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:192:74 [INFO] [stdout] | [INFO] [stdout] 192 | print_readings(searched_liturgy[selected_index].clone(), &date, season); [INFO] [stdout] | ^^^^^ help: change this to: `date` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:642:47 [INFO] [stdout] | [INFO] [stdout] 642 | liturgy.entry(saint_date).or_insert_with(Vec::new).push(reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:240:15 [INFO] [stdout] | [INFO] [stdout] 240 | } else if !NaiveDate::parse_from_str(date, "%Y-%m-%d").is_ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `NaiveDate::parse_from_str(date, "%Y-%m-%d").is_err()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/generate_liturgy.rs:644:47 [INFO] [stdout] | [INFO] [stdout] 644 | liturgy.entry(saint_date).or_insert_with(Vec::new).insert(0, reading.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:249:5 [INFO] [stdout] | [INFO] [stdout] 249 | return local.format("%Y-%m-%d").to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 249 - return local.format("%Y-%m-%d").to_string(); [INFO] [stdout] 249 + local.format("%Y-%m-%d").to_string() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/generate_liturgy.rs:670:31 [INFO] [stdout] | [INFO] [stdout] 670 | ...e(&self) -> Result<(HashMap>, HashMap), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/generate_liturgy.rs:712:24 [INFO] [stdout] | [INFO] [stdout] 712 | std::fs::write(&liturgy_folder.join(format!("liturgy{}.json", self.year)), &liturgy_json)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `liturgy_folder.join(format!("liturgy{}.json", self.year))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:810:13 [INFO] [stdout] | [INFO] [stdout] 810 | advent_start = advent_start - chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `advent_start -= chrono::Duration::days(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:812:17 [INFO] [stdout] | [INFO] [stdout] 812 | advent_start = advent_start - chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `advent_start -= chrono::Duration::days(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:836:13 [INFO] [stdout] | [INFO] [stdout] 836 | epiphany = epiphany + chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `epiphany += chrono::Duration::days(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate_liturgy.rs:849:13 [INFO] [stdout] | [INFO] [stdout] 849 | return NaiveDate::from_ymd_opt(year, 12, 30).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 849 - return NaiveDate::from_ymd_opt(year, 12, 30).unwrap(); [INFO] [stdout] 849 + NaiveDate::from_ymd_opt(year, 12, 30).unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:852:17 [INFO] [stdout] | [INFO] [stdout] 852 | holy_family = holy_family - chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `holy_family -= chrono::Duration::days(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate_liturgy.rs:864:13 [INFO] [stdout] | [INFO] [stdout] 864 | return christmas_end + chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 864 - return christmas_end + chrono::Duration::days(1); [INFO] [stdout] 864 + christmas_end + chrono::Duration::days(1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:867:17 [INFO] [stdout] | [INFO] [stdout] 867 | christmas_end = christmas_end + chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `christmas_end += chrono::Duration::days(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate_liturgy.rs:892:9 [INFO] [stdout] | [INFO] [stdout] 892 | return weeks; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 892 - return weeks; [INFO] [stdout] 892 + weeks [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:884:17 [INFO] [stdout] | [INFO] [stdout] 884 | sunday_index = sunday_index - chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `sunday_index -= chrono::Duration::days(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:889:13 [INFO] [stdout] | [INFO] [stdout] 889 | weeks = weeks + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace it with: `weeks += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate_liturgy.rs:913:13 [INFO] [stdout] | [INFO] [stdout] 913 | return weeks_before_lent + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 913 - return weeks_before_lent + 1; [INFO] [stdout] 913 + weeks_before_lent + 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate_liturgy.rs:915:13 [INFO] [stdout] | [INFO] [stdout] 915 | return weeks_before_lent + 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 915 - return weeks_before_lent + 2; [INFO] [stdout] 915 + weeks_before_lent + 2 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:903:17 [INFO] [stdout] | [INFO] [stdout] 903 | sunday_index = sunday_index - chrono::Duration::days(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `sunday_index -= chrono::Duration::days(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/generate_liturgy.rs:908:13 [INFO] [stdout] | [INFO] [stdout] 908 | weeks = weeks + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace it with: `weeks += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/generate_liturgy.rs:948:18 [INFO] [stdout] | [INFO] [stdout] 948 | fn search_verses<'a>(bible:&'a str, verses:&mut Verses) -> Vec { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 948 - fn search_verses<'a>(bible:&'a str, verses:&mut Verses) -> Vec { [INFO] [stdout] 948 + fn search_verses(bible:&str, verses:&mut Verses) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate_liturgy.rs:1034:5 [INFO] [stdout] | [INFO] [stdout] 1034 | return result; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1034 - return result; [INFO] [stdout] 1034 + result [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: compiling a regex in a loop [INFO] [stdout] --> src/generate_liturgy.rs:963:34 [INFO] [stdout] | [INFO] [stdout] 963 | let end_asterisk_regex = Regex::new(r"\s*\*[^*]*\*$").unwrap(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: move the regex construction outside this loop [INFO] [stdout] --> src/generate_liturgy.rs:958:5 [INFO] [stdout] | [INFO] [stdout] 958 | for verse in &mut verses.verses { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#regex_creation_in_loops [INFO] [stdout] = note: `#[warn(clippy::regex_creation_in_loops)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_string` [INFO] [stdout] --> src/generate_liturgy.rs:980:61 [INFO] [stdout] | [INFO] [stdout] 980 | let result = end_asterisk_regex.replace_all(&result.to_string(), "").trim().to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: use: `result` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] = note: `#[warn(clippy::unnecessary_to_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/generate_liturgy.rs:1012:21 [INFO] [stdout] | [INFO] [stdout] 1012 | / if let Some(verse_text) = split_text.get(1) { [INFO] [stdout] 1013 | | if verse_text.starts_with(&(verse_number.to_string())) { [INFO] [stdout] 1014 | | let space_split = line.split_once(' '); [INFO] [stdout] 1015 | | let (_, verse_text) = space_split.unwrap_or(("", "")); [INFO] [stdout] ... | [INFO] [stdout] 1022 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 1012 ~ if let Some(verse_text) = split_text.get(1) [INFO] [stdout] 1013 ~ && verse_text.starts_with(&(verse_number.to_string())) { [INFO] [stdout] 1014 | let space_split = line.split_once(' '); [INFO] [stdout] ... [INFO] [stdout] 1020 | break; [INFO] [stdout] 1021 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's keys [INFO] [stdout] --> src/main.rs:74:22 [INFO] [stdout] | [INFO] [stdout] 74 | for (book, _) in &*biblescrape::BOOKS { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] = note: `#[warn(clippy::for_kv_map)]` on by default [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 74 - for (book, _) in &*biblescrape::BOOKS { [INFO] [stdout] 74 + for book in (*biblescrape::BOOKS).keys() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/main.rs:81:12 [INFO] [stdout] | [INFO] [stdout] 81 | if text != "" { [INFO] [stdout] | ^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!text.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] = note: `#[warn(clippy::comparison_to_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:146:34 [INFO] [stdout] | [INFO] [stdout] 146 | search_bible(&bible, &mut chosen_liturgy); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: change this to: `chosen_liturgy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:157:66 [INFO] [stdout] | [INFO] [stdout] 157 | let mut searched_liturgy = match parse_liturgy(&liturgy, &date) { [INFO] [stdout] | ^^^^^ help: change this to: `date` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:168:42 [INFO] [stdout] | [INFO] [stdout] 168 | print_readings(readings, &date, season); [INFO] [stdout] | ^^^^^ help: change this to: `date` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/main.rs:177:17 [INFO] [stdout] | [INFO] [stdout] 177 | select_config.help_message = StyleSheet::default().with_fg(Color::DarkGreen); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `RenderConfig::<'_> { help_message: StyleSheet::default().with_fg(Color::DarkGreen), selected_option: Some(StyleSheet::default().with_fg(Color::DarkGreen)), answer: StyleSheet::default().with_fg(Color::DarkGreen), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/main.rs:176:17 [INFO] [stdout] | [INFO] [stdout] 176 | let mut select_config = RenderConfig::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] = note: `#[warn(clippy::field_reassign_with_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:192:74 [INFO] [stdout] | [INFO] [stdout] 192 | print_readings(searched_liturgy[selected_index].clone(), &date, season); [INFO] [stdout] | ^^^^^ help: change this to: `date` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:240:15 [INFO] [stdout] | [INFO] [stdout] 240 | } else if !NaiveDate::parse_from_str(date, "%Y-%m-%d").is_ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `NaiveDate::parse_from_str(date, "%Y-%m-%d").is_err()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:249:5 [INFO] [stdout] | [INFO] [stdout] 249 | return local.format("%Y-%m-%d").to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 249 - return local.format("%Y-%m-%d").to_string(); [INFO] [stdout] 249 + local.format("%Y-%m-%d").to_string() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 52.68s [INFO] running `Command { std: "docker" "inspect" "ed616e00dc641afb0c693bc84aa47808315520aff3d4621fbb9f77e5360ee2d7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ed616e00dc641afb0c693bc84aa47808315520aff3d4621fbb9f77e5360ee2d7", kill_on_drop: false }` [INFO] [stdout] ed616e00dc641afb0c693bc84aa47808315520aff3d4621fbb9f77e5360ee2d7