[INFO] cloning repository https://github.com/Valodim/khaleesi [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Valodim/khaleesi" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FValodim%2Fkhaleesi", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FValodim%2Fkhaleesi'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b8e15051ff6a845b252a8f86f8a17ccad87b4336 [INFO] linting Valodim/khaleesi against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FValodim%2Fkhaleesi" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Valodim/khaleesi [INFO] finished tweaking git repo https://github.com/Valodim/khaleesi [INFO] tweaked toml for git repo https://github.com/Valodim/khaleesi written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Valodim/khaleesi 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 git repo https://github.com/Valodim/khaleesi 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] Downloading crates ... [INFO] [stderr] Downloaded same-file v1.0.4 [INFO] [stderr] Downloaded rand_core v0.3.1 [INFO] [stderr] Downloaded fuchsia-cprng v0.1.1 [INFO] [stderr] Downloaded rand_xorshift v0.1.1 [INFO] [stderr] Downloaded output_vt100 v0.1.2 [INFO] [stderr] Downloaded ctor v0.1.9 [INFO] [stderr] Downloaded rand_core v0.4.0 [INFO] [stderr] Downloaded walkdir v2.2.8 [INFO] [stderr] Downloaded pkg-config v0.3.14 [INFO] [stderr] Downloaded ignore v0.4.7 [INFO] [stderr] Downloaded indoc-impl v0.3.3 [INFO] [stderr] Downloaded dirs-sys v0.3.3 [INFO] [stderr] Downloaded globwalk v0.5.0 [INFO] [stderr] Downloaded crossbeam-utils v0.6.5 [INFO] [stderr] Downloaded predicates-tree v1.0.0 [INFO] [stderr] Downloaded redox_users v0.3.0 [INFO] [stderr] Downloaded smallvec v0.6.10 [INFO] [stderr] Downloaded backtrace v0.3.30 [INFO] [stderr] Downloaded itertools v0.8.0 [INFO] [stderr] Downloaded nom v4.2.3 [INFO] [stderr] Downloaded unicode-segmentation v1.3.0 [INFO] [stderr] Downloaded rand v0.6.5 [INFO] [stderr] Downloaded syn v0.15.36 [INFO] [stderr] Downloaded bindgen v0.43.2 [INFO] [stderr] Downloaded chrono v0.4.6 [INFO] [stderr] Downloaded crossbeam-channel v0.3.8 [INFO] [stderr] Downloaded regex v1.1.7 [INFO] [stderr] Downloaded clap v2.33.0 [INFO] [stderr] Downloaded bstr v0.1.4 [INFO] [stderr] Downloaded regex-syntax v0.6.7 [INFO] [stderr] Downloaded aho-corasick v0.7.3 [INFO] [stderr] Downloaded serde v1.0.92 [INFO] [stderr] Downloaded argon2rs v0.2.5 [INFO] [stderr] Downloaded toml v0.5.1 [INFO] [stderr] Downloaded env_logger v0.6.1 [INFO] [stderr] Downloaded libc v0.2.58 [INFO] [stderr] Downloaded pretty_assertions v0.6.1 [INFO] [stderr] Downloaded num-traits v0.2.8 [INFO] [stderr] Downloaded rand_os v0.1.3 [INFO] [stderr] Downloaded globset v0.4.3 [INFO] [stderr] Downloaded arrayvec v0.4.10 [INFO] [stderr] Downloaded backtrace-sys v0.1.28 [INFO] [stderr] Downloaded rustc-demangle v0.1.15 [INFO] [stderr] Downloaded synstructure v0.10.2 [INFO] [stderr] Downloaded failure v0.1.5 [INFO] [stderr] Downloaded cc v1.0.37 [INFO] [stderr] Downloaded libloading v0.5.1 [INFO] [stderr] Downloaded clang-sys v0.26.4 [INFO] [stderr] Downloaded log v0.4.6 [INFO] [stderr] Downloaded quote v0.6.12 [INFO] [stderr] Downloaded structopt v0.2.16 [INFO] [stderr] Downloaded glob v0.2.11 [INFO] [stderr] Downloaded termcolor v0.3.6 [INFO] [stderr] Downloaded termion v1.5.3 [INFO] [stderr] Downloaded redox_syscall v0.1.54 [INFO] [stderr] Downloaded tempfile v3.0.8 [INFO] [stderr] Downloaded cloudabi v0.0.3 [INFO] [stderr] Downloaded nodrop v0.1.13 [INFO] [stderr] Downloaded constant_time_eq v0.1.3 [INFO] [stderr] Downloaded wincolor v1.0.1 [INFO] [stderr] Downloaded proc-macro2 v0.3.5 [INFO] [stderr] Downloaded ucd-util v0.1.3 [INFO] [stderr] Downloaded ansi_term v0.11.0 [INFO] [stderr] Downloaded cfg-if v0.1.9 [INFO] [stderr] Downloaded rdrand v0.4.0 [INFO] [stderr] Downloaded autocfg v0.1.4 [INFO] [stderr] Downloaded rand_pcg v0.1.2 [INFO] [stderr] Downloaded fnv v1.0.6 [INFO] [stderr] Downloaded proc-macro-hack v0.5.7 [INFO] [stderr] Downloaded maplit v1.0.1 [INFO] [stderr] Downloaded memchr v2.2.0 [INFO] [stderr] Downloaded serde_derive v1.0.92 [INFO] [stderr] Downloaded wincolor v0.1.6 [INFO] [stderr] Downloaded redox_termios v0.1.1 [INFO] [stderr] Downloaded vec_map v0.8.1 [INFO] [stderr] Downloaded winapi v0.3.7 [INFO] [stderr] Downloaded remove_dir_all v0.5.2 [INFO] [stderr] Downloaded rand_jitter v0.1.4 [INFO] [stderr] Downloaded bitflags v1.1.0 [INFO] [stderr] Downloaded assert_fs v0.11.3 [INFO] [stderr] Downloaded failure_derive v0.1.5 [INFO] [stderr] Downloaded dirs v2.0.1 [INFO] [stderr] Downloaded unindent v0.1.3 [INFO] [stderr] Downloaded indoc v0.3.3 [INFO] [stderr] Downloaded cexpr v0.3.5 [INFO] [stderr] Downloaded quote v0.5.2 [INFO] [stderr] Downloaded float-cmp v0.4.0 [INFO] [stderr] Downloaded predicates-core v1.0.0 [INFO] [stderr] Downloaded stderrlog v0.4.1 [INFO] [stderr] Downloaded rand_isaac v0.1.1 [INFO] [stderr] Downloaded libical-sys v0.1.1 [INFO] [stderr] Downloaded rand_chacha v0.1.1 [INFO] [stderr] Downloaded rand_hc v0.1.0 [INFO] [stderr] Downloaded which v1.0.5 [INFO] [stderr] Downloaded normalize-line-endings v0.2.2 [INFO] [stderr] Downloaded utf8-ranges v1.0.3 [INFO] [stderr] Downloaded atty v0.2.11 [INFO] [stderr] Downloaded unicode-width v0.1.5 [INFO] [stderr] Downloaded uuid v0.7.4 [INFO] [stderr] Downloaded either v1.5.2 [INFO] [stderr] Downloaded humantime v1.2.0 [INFO] [stderr] Downloaded predicates v1.0.1 [INFO] [stderr] Downloaded num-integer v0.1.41 [INFO] [stderr] Downloaded time v0.1.42 [INFO] [stderr] Downloaded lazy_static v1.3.0 [INFO] [stderr] Downloaded structopt-derive v0.2.16 [INFO] [stderr] Downloaded yansi v0.5.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ed529d73b77b6c96a13d63006f2d72d5dcb98219c29e04141f783fc0b601d4c8 [INFO] running `Command { std: "docker" "start" "-a" "ed529d73b77b6c96a13d63006f2d72d5dcb98219c29e04141f783fc0b601d4c8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ed529d73b77b6c96a13d63006f2d72d5dcb98219c29e04141f783fc0b601d4c8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ed529d73b77b6c96a13d63006f2d72d5dcb98219c29e04141f783fc0b601d4c8", kill_on_drop: false }` [INFO] [stdout] ed529d73b77b6c96a13d63006f2d72d5dcb98219c29e04141f783fc0b601d4c8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 570c518c06292f5613df95f035f0337cd6dc78d1764f221843d2624a6ae1214d [INFO] running `Command { std: "docker" "start" "-a" "570c518c06292f5613df95f035f0337cd6dc78d1764f221843d2624a6ae1214d", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.58 [INFO] [stderr] Compiling autocfg v0.1.4 [INFO] [stderr] Compiling memchr v2.2.0 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling regex v1.1.7 [INFO] [stderr] Checking cfg-if v0.1.9 [INFO] [stderr] Compiling cc v1.0.37 [INFO] [stderr] Checking rand_core v0.4.0 [INFO] [stderr] Checking lazy_static v1.3.0 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling bitflags v1.1.0 [INFO] [stderr] Compiling syn v0.15.36 [INFO] [stderr] Compiling version_check v0.1.5 [INFO] [stderr] Compiling glob v0.2.11 [INFO] [stderr] Compiling ucd-util v0.1.3 [INFO] [stderr] Compiling unicode-width v0.1.5 [INFO] [stderr] Checking thread_local v0.3.6 [INFO] [stderr] Compiling regex-syntax v0.6.7 [INFO] [stderr] Compiling quick-error v1.2.2 [INFO] [stderr] Compiling utf8-ranges v1.0.3 [INFO] [stderr] Compiling humantime v1.2.0 [INFO] [stderr] Compiling log v0.4.6 [INFO] [stderr] Compiling num-traits v0.2.8 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Compiling nom v4.2.3 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling proc-macro2 v0.3.5 [INFO] [stderr] Compiling ansi_term v0.11.0 [INFO] [stderr] Compiling termcolor v1.0.5 [INFO] [stderr] Compiling strsim v0.8.0 [INFO] [stderr] Compiling quote v0.6.12 [INFO] [stderr] Compiling atty v0.2.11 [INFO] [stderr] Compiling vec_map v0.8.1 [INFO] [stderr] Compiling bindgen v0.43.2 [INFO] [stderr] Compiling clang-sys v0.26.4 [INFO] [stderr] Checking aho-corasick v0.7.3 [INFO] [stderr] Compiling which v1.0.5 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking rand_isaac v0.1.1 [INFO] [stderr] Compiling quote v0.5.2 [INFO] [stderr] Checking rand_hc v0.1.0 [INFO] [stderr] Compiling libloading v0.5.1 [INFO] [stderr] Compiling clap v2.33.0 [INFO] [stderr] Checking rand_xorshift v0.1.1 [INFO] [stderr] Checking rand_jitter v0.1.4 [INFO] [stderr] Compiling num-integer v0.1.41 [INFO] [stderr] Compiling peeking_take_while v0.1.2 [INFO] [stderr] Checking same-file v1.0.4 [INFO] [stderr] Checking walkdir v2.2.8 [INFO] [stderr] Compiling backtrace-sys v0.1.28 [INFO] [stderr] Compiling pkg-config v0.3.14 [INFO] [stderr] Compiling serde v1.0.92 [INFO] [stderr] Compiling unicode-segmentation v1.3.0 [INFO] [stderr] Checking bstr v0.1.4 [INFO] [stderr] Checking time v0.1.42 [INFO] [stderr] Compiling cexpr v0.3.5 [INFO] [stderr] Compiling backtrace v0.3.30 [INFO] [stderr] Compiling heck v0.3.1 [INFO] [stderr] Checking crossbeam-utils v0.6.5 [INFO] [stderr] Compiling unindent v0.1.3 [INFO] [stderr] Checking smallvec v0.6.10 [INFO] [stderr] Checking remove_dir_all v0.5.2 [INFO] [stderr] Checking fnv v1.0.6 [INFO] [stderr] Checking chrono v0.4.6 [INFO] [stderr] Checking dirs-sys v0.3.3 [INFO] [stderr] Checking rustc-demangle v0.1.15 [INFO] [stderr] Checking either v1.5.2 [INFO] [stderr] Checking termcolor v0.3.6 [INFO] [stderr] Checking difference v2.0.0 [INFO] [stderr] Checking predicates-core v1.0.0 [INFO] [stderr] Checking itertools v0.8.0 [INFO] [stderr] Checking dirs v2.0.1 [INFO] [stderr] Checking crossbeam-channel v0.3.8 [INFO] [stderr] Checking float-cmp v0.4.0 [INFO] [stderr] Checking fs2 v0.4.3 [INFO] [stderr] Checking normalize-line-endings v0.2.2 [INFO] [stderr] Checking yansi v0.5.0 [INFO] [stderr] Checking treeline v0.1.0 [INFO] [stderr] Checking pretty_assertions v0.6.1 [INFO] [stderr] Checking predicates-tree v1.0.0 [INFO] [stderr] Checking maplit v1.0.1 [INFO] [stderr] Checking tempfile v3.0.8 [INFO] [stderr] Checking uuid v0.7.4 [INFO] [stderr] Checking stderrlog v0.4.1 [INFO] [stderr] Checking globset v0.4.3 [INFO] [stderr] Checking predicates v1.0.1 [INFO] [stderr] Checking ignore v0.4.7 [INFO] [stderr] Checking globwalk v0.5.0 [INFO] [stderr] Checking assert_fs v0.11.3 [INFO] [stderr] Compiling env_logger v0.6.1 [INFO] [stderr] Checking toml v0.5.1 [INFO] [stderr] Compiling proc-macro-hack v0.5.7 [INFO] [stderr] Compiling structopt-derive v0.2.16 [INFO] [stderr] Compiling serde_derive v1.0.92 [INFO] [stderr] Compiling indoc-impl v0.3.3 [INFO] [stderr] Checking structopt v0.2.16 [INFO] [stderr] Checking indoc v0.3.3 [INFO] [stderr] Compiling libical-sys v0.1.1 [INFO] [stderr] Checking khaleesi v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/config.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Deserialize,Debug,PartialEq)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/config.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Deserialize,Debug,PartialEq)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/config.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Deserialize,Debug,PartialEq)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/config.rs:28:10 [INFO] [stdout] | [INFO] [stdout] 28 | #[derive(Deserialize,Debug,PartialEq)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `crate` references the macro call's crate [INFO] [stdout] --> src/macros.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | use crate::utils::stdioutils; [INFO] [stdout] | ^^^^^ help: to reference the macro definition's crate, use: `$crate` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#crate_in_macro_def [INFO] [stdout] = note: `#[warn(clippy::crate_in_macro_def)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/icalwrap/icalcomponent.rs:21:21 [INFO] [stdout] | [INFO] [stdout] 21 | fn get_properties(self: &Self, property_kind: ical::icalproperty_kind) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] = note: `#[warn(clippy::needless_arbitrary_self_type)]` on by default [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 21 - fn get_properties(self: &Self, property_kind: ical::icalproperty_kind) -> Vec> { [INFO] [stdout] 21 + fn get_properties(&self, property_kind: ical::icalproperty_kind) -> Vec> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/lib.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | use ical; [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: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/actions/agenda.rs:31:16 [INFO] [stdout] | [INFO] [stdout] 31 | events: &mut Iterator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 31 | events: &mut dyn Iterator, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/config.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Deserialize,Debug,PartialEq)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/config.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Deserialize,Debug,PartialEq)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/config.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Deserialize,Debug,PartialEq)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/config.rs:28:10 [INFO] [stdout] | [INFO] [stdout] 28 | #[derive(Deserialize,Debug,PartialEq)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `crate` references the macro call's crate [INFO] [stdout] --> src/macros.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | use crate::utils::stdioutils; [INFO] [stdout] | ^^^^^ help: to reference the macro definition's crate, use: `$crate` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#crate_in_macro_def [INFO] [stdout] = note: `#[warn(clippy::crate_in_macro_def)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/actions/index/indextime.rs:31:34 [INFO] [stdout] | [INFO] [stdout] 31 | let timestamp = Utc.ymd(1990,01,01).and_hms(1, 1, 0); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] = note: `#[warn(clippy::zero_prefixed_literal)]` on by default [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 31 - let timestamp = Utc.ymd(1990,01,01).and_hms(1, 1, 0); [INFO] [stdout] 31 + let timestamp = Utc.ymd(1990,1,01).and_hms(1, 1, 0); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 31 | let timestamp = Utc.ymd(1990,0o1,01).and_hms(1, 1, 0); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/actions/index/indextime.rs:31:37 [INFO] [stdout] | [INFO] [stdout] 31 | let timestamp = Utc.ymd(1990,01,01).and_hms(1, 1, 0); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 31 - let timestamp = Utc.ymd(1990,01,01).and_hms(1, 1, 0); [INFO] [stdout] 31 + let timestamp = Utc.ymd(1990,01,1).and_hms(1, 1, 0); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 31 | let timestamp = Utc.ymd(1990,01,0o1).and_hms(1, 1, 0); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/actions/new.rs:277:45 [INFO] [stdout] | [INFO] [stdout] 277 | let from = IcalTime::floating_ymd(2015, 04, 17).and_hms(8, 17, 3); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 277 - let from = IcalTime::floating_ymd(2015, 04, 17).and_hms(8, 17, 3); [INFO] [stdout] 277 + let from = IcalTime::floating_ymd(2015, 4, 17).and_hms(8, 17, 3); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 277 | let from = IcalTime::floating_ymd(2015, 0o4, 17).and_hms(8, 17, 3); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/actions/new.rs:278:43 [INFO] [stdout] | [INFO] [stdout] 278 | let to = IcalTime::floating_ymd(2015, 05, 17).and_hms(8, 17, 3); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 278 - let to = IcalTime::floating_ymd(2015, 05, 17).and_hms(8, 17, 3); [INFO] [stdout] 278 + let to = IcalTime::floating_ymd(2015, 5, 17).and_hms(8, 17, 3); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 278 | let to = IcalTime::floating_ymd(2015, 0o5, 17).and_hms(8, 17, 3); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/icalwrap/icalcomponent.rs:21:21 [INFO] [stdout] | [INFO] [stdout] 21 | fn get_properties(self: &Self, property_kind: ical::icalproperty_kind) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] = note: `#[warn(clippy::needless_arbitrary_self_type)]` on by default [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 21 - fn get_properties(self: &Self, property_kind: ical::icalproperty_kind) -> Vec> { [INFO] [stdout] 21 + fn get_properties(&self, property_kind: ical::icalproperty_kind) -> Vec> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:243:38 [INFO] [stdout] | [INFO] [stdout] 243 | let local_time = Local.ymd(2014, 01, 01).and_hms(01, 02, 03); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 243 - let local_time = Local.ymd(2014, 01, 01).and_hms(01, 02, 03); [INFO] [stdout] 243 + let local_time = Local.ymd(2014, 1, 01).and_hms(01, 02, 03); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 243 | let local_time = Local.ymd(2014, 0o1, 01).and_hms(01, 02, 03); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:243:42 [INFO] [stdout] | [INFO] [stdout] 243 | let local_time = Local.ymd(2014, 01, 01).and_hms(01, 02, 03); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 243 - let local_time = Local.ymd(2014, 01, 01).and_hms(01, 02, 03); [INFO] [stdout] 243 + let local_time = Local.ymd(2014, 01, 1).and_hms(01, 02, 03); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 243 | let local_time = Local.ymd(2014, 01, 0o1).and_hms(01, 02, 03); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:243:54 [INFO] [stdout] | [INFO] [stdout] 243 | let local_time = Local.ymd(2014, 01, 01).and_hms(01, 02, 03); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 243 - let local_time = Local.ymd(2014, 01, 01).and_hms(01, 02, 03); [INFO] [stdout] 243 + let local_time = Local.ymd(2014, 01, 01).and_hms(1, 02, 03); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 243 | let local_time = Local.ymd(2014, 01, 01).and_hms(0o1, 02, 03); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:243:58 [INFO] [stdout] | [INFO] [stdout] 243 | let local_time = Local.ymd(2014, 01, 01).and_hms(01, 02, 03); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 243 - let local_time = Local.ymd(2014, 01, 01).and_hms(01, 02, 03); [INFO] [stdout] 243 + let local_time = Local.ymd(2014, 01, 01).and_hms(01, 2, 03); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 243 | let local_time = Local.ymd(2014, 01, 01).and_hms(01, 0o2, 03); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:243:62 [INFO] [stdout] | [INFO] [stdout] 243 | let local_time = Local.ymd(2014, 01, 01).and_hms(01, 02, 03); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 243 - let local_time = Local.ymd(2014, 01, 01).and_hms(01, 02, 03); [INFO] [stdout] 243 + let local_time = Local.ymd(2014, 01, 01).and_hms(01, 02, 3); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 243 | let local_time = Local.ymd(2014, 01, 01).and_hms(01, 02, 0o3); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:283:45 [INFO] [stdout] | [INFO] [stdout] 283 | let time = IcalTime::floating_ymd(2018, 02, 03); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 283 - let time = IcalTime::floating_ymd(2018, 02, 03); [INFO] [stdout] 283 + let time = IcalTime::floating_ymd(2018, 2, 03); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 283 | let time = IcalTime::floating_ymd(2018, 0o2, 03); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:283:49 [INFO] [stdout] | [INFO] [stdout] 283 | let time = IcalTime::floating_ymd(2018, 02, 03); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 283 - let time = IcalTime::floating_ymd(2018, 02, 03); [INFO] [stdout] 283 + let time = IcalTime::floating_ymd(2018, 02, 3); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 283 | let time = IcalTime::floating_ymd(2018, 02, 0o3); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:290:38 [INFO] [stdout] | [INFO] [stdout] 290 | let local_date = Local.ymd(2014, 01, 01); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 290 - let local_date = Local.ymd(2014, 01, 01); [INFO] [stdout] 290 + let local_date = Local.ymd(2014, 1, 01); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 290 | let local_date = Local.ymd(2014, 0o1, 01); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:290:42 [INFO] [stdout] | [INFO] [stdout] 290 | let local_date = Local.ymd(2014, 01, 01); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 290 - let local_date = Local.ymd(2014, 01, 01); [INFO] [stdout] 290 + let local_date = Local.ymd(2014, 01, 1); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 290 | let local_date = Local.ymd(2014, 01, 0o1); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:299:34 [INFO] [stdout] | [INFO] [stdout] 299 | let utc_date = Utc.ymd(2014, 01, 01); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 299 - let utc_date = Utc.ymd(2014, 01, 01); [INFO] [stdout] 299 + let utc_date = Utc.ymd(2014, 1, 01); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 299 | let utc_date = Utc.ymd(2014, 0o1, 01); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:299:38 [INFO] [stdout] | [INFO] [stdout] 299 | let utc_date = Utc.ymd(2014, 01, 01); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 299 - let utc_date = Utc.ymd(2014, 01, 01); [INFO] [stdout] 299 + let utc_date = Utc.ymd(2014, 01, 1); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 299 | let utc_date = Utc.ymd(2014, 01, 0o1); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:308:46 [INFO] [stdout] | [INFO] [stdout] 308 | let time = IcalTimeZone::utc().ymd(2014, 02, 02); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 308 - let time = IcalTimeZone::utc().ymd(2014, 02, 02); [INFO] [stdout] 308 + let time = IcalTimeZone::utc().ymd(2014, 2, 02); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 308 | let time = IcalTimeZone::utc().ymd(2014, 0o2, 02); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:308:50 [INFO] [stdout] | [INFO] [stdout] 308 | let time = IcalTimeZone::utc().ymd(2014, 02, 02); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 308 - let time = IcalTimeZone::utc().ymd(2014, 02, 02); [INFO] [stdout] 308 + let time = IcalTimeZone::utc().ymd(2014, 02, 2); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 308 | let time = IcalTimeZone::utc().ymd(2014, 02, 0o2); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:310:30 [INFO] [stdout] | [INFO] [stdout] 310 | assert_eq!(Utc.ymd(2014, 02, 02), date); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 310 - assert_eq!(Utc.ymd(2014, 02, 02), date); [INFO] [stdout] 310 + assert_eq!(Utc.ymd(2014, 2, 02), date); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 310 | assert_eq!(Utc.ymd(2014, 0o2, 02), date); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:310:34 [INFO] [stdout] | [INFO] [stdout] 310 | assert_eq!(Utc.ymd(2014, 02, 02), date); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 310 - assert_eq!(Utc.ymd(2014, 02, 02), date); [INFO] [stdout] 310 + assert_eq!(Utc.ymd(2014, 02, 2), date); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 310 | assert_eq!(Utc.ymd(2014, 02, 0o2), date); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:315:46 [INFO] [stdout] | [INFO] [stdout] 315 | let time = IcalTimeZone::utc().ymd(2014, 02, 02).and_hms(13, 37, 00); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 315 - let time = IcalTimeZone::utc().ymd(2014, 02, 02).and_hms(13, 37, 00); [INFO] [stdout] 315 + let time = IcalTimeZone::utc().ymd(2014, 2, 02).and_hms(13, 37, 00); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 315 | let time = IcalTimeZone::utc().ymd(2014, 0o2, 02).and_hms(13, 37, 00); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:315:50 [INFO] [stdout] | [INFO] [stdout] 315 | let time = IcalTimeZone::utc().ymd(2014, 02, 02).and_hms(13, 37, 00); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 315 - let time = IcalTimeZone::utc().ymd(2014, 02, 02).and_hms(13, 37, 00); [INFO] [stdout] 315 + let time = IcalTimeZone::utc().ymd(2014, 02, 2).and_hms(13, 37, 00); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 315 | let time = IcalTimeZone::utc().ymd(2014, 02, 0o2).and_hms(13, 37, 00); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:317:30 [INFO] [stdout] | [INFO] [stdout] 317 | assert_eq!(Utc.ymd(2014, 02, 02).and_hms(13, 37, 00), datetime); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 317 - assert_eq!(Utc.ymd(2014, 02, 02).and_hms(13, 37, 00), datetime); [INFO] [stdout] 317 + assert_eq!(Utc.ymd(2014, 2, 02).and_hms(13, 37, 00), datetime); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 317 | assert_eq!(Utc.ymd(2014, 0o2, 02).and_hms(13, 37, 00), datetime); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:317:34 [INFO] [stdout] | [INFO] [stdout] 317 | assert_eq!(Utc.ymd(2014, 02, 02).and_hms(13, 37, 00), datetime); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 317 - assert_eq!(Utc.ymd(2014, 02, 02).and_hms(13, 37, 00), datetime); [INFO] [stdout] 317 + assert_eq!(Utc.ymd(2014, 02, 2).and_hms(13, 37, 00), datetime); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 317 | assert_eq!(Utc.ymd(2014, 02, 0o2).and_hms(13, 37, 00), datetime); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:323:48 [INFO] [stdout] | [INFO] [stdout] 323 | let time = IcalTimeZone::local().ymd(2014, 02, 02); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 323 - let time = IcalTimeZone::local().ymd(2014, 02, 02); [INFO] [stdout] 323 + let time = IcalTimeZone::local().ymd(2014, 2, 02); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 323 | let time = IcalTimeZone::local().ymd(2014, 0o2, 02); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:323:52 [INFO] [stdout] | [INFO] [stdout] 323 | let time = IcalTimeZone::local().ymd(2014, 02, 02); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 323 - let time = IcalTimeZone::local().ymd(2014, 02, 02); [INFO] [stdout] 323 + let time = IcalTimeZone::local().ymd(2014, 02, 2); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 323 | let time = IcalTimeZone::local().ymd(2014, 02, 0o2); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:325:32 [INFO] [stdout] | [INFO] [stdout] 325 | assert_eq!(Local.ymd(2014, 02, 02), date); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 325 - assert_eq!(Local.ymd(2014, 02, 02), date); [INFO] [stdout] 325 + assert_eq!(Local.ymd(2014, 2, 02), date); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 325 | assert_eq!(Local.ymd(2014, 0o2, 02), date); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:325:36 [INFO] [stdout] | [INFO] [stdout] 325 | assert_eq!(Local.ymd(2014, 02, 02), date); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 325 - assert_eq!(Local.ymd(2014, 02, 02), date); [INFO] [stdout] 325 + assert_eq!(Local.ymd(2014, 02, 2), date); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 325 | assert_eq!(Local.ymd(2014, 02, 0o2), date); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:331:48 [INFO] [stdout] | [INFO] [stdout] 331 | let time = IcalTimeZone::local().ymd(2014, 02, 02).and_hms(13, 37, 00); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 331 - let time = IcalTimeZone::local().ymd(2014, 02, 02).and_hms(13, 37, 00); [INFO] [stdout] 331 + let time = IcalTimeZone::local().ymd(2014, 2, 02).and_hms(13, 37, 00); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 331 | let time = IcalTimeZone::local().ymd(2014, 0o2, 02).and_hms(13, 37, 00); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:331:52 [INFO] [stdout] | [INFO] [stdout] 331 | let time = IcalTimeZone::local().ymd(2014, 02, 02).and_hms(13, 37, 00); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 331 - let time = IcalTimeZone::local().ymd(2014, 02, 02).and_hms(13, 37, 00); [INFO] [stdout] 331 + let time = IcalTimeZone::local().ymd(2014, 02, 2).and_hms(13, 37, 00); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 331 | let time = IcalTimeZone::local().ymd(2014, 02, 0o2).and_hms(13, 37, 00); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:333:32 [INFO] [stdout] | [INFO] [stdout] 333 | assert_eq!(Local.ymd(2014, 02, 02).and_hms(13, 37, 00), datetime); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 333 - assert_eq!(Local.ymd(2014, 02, 02).and_hms(13, 37, 00), datetime); [INFO] [stdout] 333 + assert_eq!(Local.ymd(2014, 2, 02).and_hms(13, 37, 00), datetime); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 333 | assert_eq!(Local.ymd(2014, 0o2, 02).and_hms(13, 37, 00), datetime); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:333:36 [INFO] [stdout] | [INFO] [stdout] 333 | assert_eq!(Local.ymd(2014, 02, 02).and_hms(13, 37, 00), datetime); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 333 - assert_eq!(Local.ymd(2014, 02, 02).and_hms(13, 37, 00), datetime); [INFO] [stdout] 333 + assert_eq!(Local.ymd(2014, 02, 2).and_hms(13, 37, 00), datetime); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 333 | assert_eq!(Local.ymd(2014, 02, 0o2).and_hms(13, 37, 00), datetime); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:339:46 [INFO] [stdout] | [INFO] [stdout] 339 | let time = IcalTimeZone::utc().ymd(2014, 02, 02).and_hms(13, 37, 00); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 339 - let time = IcalTimeZone::utc().ymd(2014, 02, 02).and_hms(13, 37, 00); [INFO] [stdout] 339 + let time = IcalTimeZone::utc().ymd(2014, 2, 02).and_hms(13, 37, 00); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 339 | let time = IcalTimeZone::utc().ymd(2014, 0o2, 02).and_hms(13, 37, 00); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:339:50 [INFO] [stdout] | [INFO] [stdout] 339 | let time = IcalTimeZone::utc().ymd(2014, 02, 02).and_hms(13, 37, 00); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 339 - let time = IcalTimeZone::utc().ymd(2014, 02, 02).and_hms(13, 37, 00); [INFO] [stdout] 339 + let time = IcalTimeZone::utc().ymd(2014, 02, 2).and_hms(13, 37, 00); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 339 | let time = IcalTimeZone::utc().ymd(2014, 02, 0o2).and_hms(13, 37, 00); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:341:32 [INFO] [stdout] | [INFO] [stdout] 341 | assert_eq!(Local.ymd(2014, 02, 02).and_hms(14, 37, 00), datetime); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 341 - assert_eq!(Local.ymd(2014, 02, 02).and_hms(14, 37, 00), datetime); [INFO] [stdout] 341 + assert_eq!(Local.ymd(2014, 2, 02).and_hms(14, 37, 00), datetime); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 341 | assert_eq!(Local.ymd(2014, 0o2, 02).and_hms(14, 37, 00), datetime); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icaltime.rs:341:36 [INFO] [stdout] | [INFO] [stdout] 341 | assert_eq!(Local.ymd(2014, 02, 02).and_hms(14, 37, 00), datetime); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 341 - assert_eq!(Local.ymd(2014, 02, 02).and_hms(14, 37, 00), datetime); [INFO] [stdout] 341 + assert_eq!(Local.ymd(2014, 02, 2).and_hms(14, 37, 00), datetime); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 341 | assert_eq!(Local.ymd(2014, 02, 0o2).and_hms(14, 37, 00), datetime); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/icalwrap/icalvevent.rs:268:36 [INFO] [stdout] | [INFO] [stdout] 268 | IcalTime::floating_ymd(2007, 06, 28).and_hms(13, 29, 00), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 268 - IcalTime::floating_ymd(2007, 06, 28).and_hms(13, 29, 00), [INFO] [stdout] 268 + IcalTime::floating_ymd(2007, 6, 28).and_hms(13, 29, 00), [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 268 | IcalTime::floating_ymd(2007, 0o6, 28).and_hms(13, 29, 00), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/khevent.rs:190:77 [INFO] [stdout] | [INFO] [stdout] 190 | let event = event.with_internal_timestamp(&IcalTime::floating_ymd(2010, 01, 01)); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 190 - let event = event.with_internal_timestamp(&IcalTime::floating_ymd(2010, 01, 01)); [INFO] [stdout] 190 + let event = event.with_internal_timestamp(&IcalTime::floating_ymd(2010, 1, 01)); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 190 | let event = event.with_internal_timestamp(&IcalTime::floating_ymd(2010, 0o1, 01)); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/khevent.rs:190:81 [INFO] [stdout] | [INFO] [stdout] 190 | let event = event.with_internal_timestamp(&IcalTime::floating_ymd(2010, 01, 01)); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 190 - let event = event.with_internal_timestamp(&IcalTime::floating_ymd(2010, 01, 01)); [INFO] [stdout] 190 + let event = event.with_internal_timestamp(&IcalTime::floating_ymd(2010, 01, 1)); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 190 | let event = event.with_internal_timestamp(&IcalTime::floating_ymd(2010, 01, 0o1)); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/khevent.rs:214:77 [INFO] [stdout] | [INFO] [stdout] 214 | let event = event.with_internal_timestamp(&IcalTime::floating_ymd(2018, 01, 01)); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 214 - let event = event.with_internal_timestamp(&IcalTime::floating_ymd(2018, 01, 01)); [INFO] [stdout] 214 + let event = event.with_internal_timestamp(&IcalTime::floating_ymd(2018, 1, 01)); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 214 | let event = event.with_internal_timestamp(&IcalTime::floating_ymd(2018, 0o1, 01)); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/khevent.rs:214:81 [INFO] [stdout] | [INFO] [stdout] 214 | let event = event.with_internal_timestamp(&IcalTime::floating_ymd(2018, 01, 01)); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 214 - let event = event.with_internal_timestamp(&IcalTime::floating_ymd(2018, 01, 01)); [INFO] [stdout] 214 + let event = event.with_internal_timestamp(&IcalTime::floating_ymd(2018, 01, 1)); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 214 | let event = event.with_internal_timestamp(&IcalTime::floating_ymd(2018, 01, 0o1)); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/utils/dateutil.rs:147:28 [INFO] [stdout] | [INFO] [stdout] 147 | let dt = Utc.ymd(2019, 01, 11).and_hms(19, 24, 47); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 147 - let dt = Utc.ymd(2019, 01, 11).and_hms(19, 24, 47); [INFO] [stdout] 147 + let dt = Utc.ymd(2019, 1, 11).and_hms(19, 24, 47); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 147 | let dt = Utc.ymd(2019, 0o1, 11).and_hms(19, 24, 47); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/testdata.rs:272:58 [INFO] [stdout] | [INFO] [stdout] 272 | pub static ref NOW_TEST: DateTime = Utc.ymd(2013, 01, 01).and_hms(1, 2, 3); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 272 - pub static ref NOW_TEST: DateTime = Utc.ymd(2013, 01, 01).and_hms(1, 2, 3); [INFO] [stdout] 272 + pub static ref NOW_TEST: DateTime = Utc.ymd(2013, 1, 01).and_hms(1, 2, 3); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 272 | pub static ref NOW_TEST: DateTime = Utc.ymd(2013, 0o1, 01).and_hms(1, 2, 3); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/testdata.rs:272:62 [INFO] [stdout] | [INFO] [stdout] 272 | pub static ref NOW_TEST: DateTime = Utc.ymd(2013, 01, 01).and_hms(1, 2, 3); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 272 - pub static ref NOW_TEST: DateTime = Utc.ymd(2013, 01, 01).and_hms(1, 2, 3); [INFO] [stdout] 272 + pub static ref NOW_TEST: DateTime = Utc.ymd(2013, 01, 1).and_hms(1, 2, 3); [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 272 | pub static ref NOW_TEST: DateTime = Utc.ymd(2013, 01, 0o1).and_hms(1, 2, 3); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/lib.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | use ical; [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: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred [INFO] [stdout] --> src/testdata.rs:276:23 [INFO] [stdout] | [INFO] [stdout] 276 | use std::sync::{Once, ONCE_INIT}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred [INFO] [stdout] --> src/testdata.rs:278:21 [INFO] [stdout] | [INFO] [stdout] 278 | static INIT: Once = ONCE_INIT; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace the use of the deprecated constant [INFO] [stdout] | [INFO] [stdout] 278 - static INIT: Once = ONCE_INIT; [INFO] [stdout] 278 + static INIT: Once = Once::new(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/actions/agenda.rs:31:16 [INFO] [stdout] | [INFO] [stdout] 31 | events: &mut Iterator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 31 | events: &mut dyn Iterator, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of `.map(...).any(identity)` [INFO] [stdout] --> src/errors.rs:32:30 [INFO] [stdout] | [INFO] [stdout] 32 | frame.symbols().iter().map(|symbol| { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 33 | | symbol.name() [INFO] [stdout] 34 | | .and_then(|name| name.as_str()) [INFO] [stdout] 35 | | .map_or(false, |name| name.contains("khaleesi")) [INFO] [stdout] 36 | | }).any(|x| x) [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_all_any_identity [INFO] [stdout] = note: `#[warn(clippy::map_all_any_identity)]` on by default [INFO] [stdout] help: use `.any(...)` instead [INFO] [stdout] | [INFO] [stdout] 32 ~ frame.symbols().iter().any(|symbol| { [INFO] [stdout] 33 + symbol.name() [INFO] [stdout] 34 + .and_then(|name| name.as_str()) [INFO] [stdout] 35 + .map_or(false, |name| name.contains("khaleesi")) [INFO] [stdout] 36 + }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/errors.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | / symbol.name() [INFO] [stdout] 34 | | .and_then(|name| name.as_str()) [INFO] [stdout] 35 | | .map_or(false, |name| name.contains("khaleesi")) [INFO] [stdout] | |__________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 35 - .map_or(false, |name| name.contains("khaleesi")) [INFO] [stdout] 35 + .is_some_and(|name| name.contains("khaleesi")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.as_ref().map(|cause| &**cause)` on an `Option` value [INFO] [stdout] --> src/errors.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | self.cause.as_ref().map(|cause| &**cause) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using as_deref: `self.cause.as_deref()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_as_ref_deref [INFO] [stdout] = note: `#[warn(clippy::option_as_ref_deref)]` 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/actions/agenda.rs:60:34 [INFO] [stdout] | [INFO] [stdout] 60 | maybe_print_date_line_header(&config, cur_day, start_day, &mut last_printed_day); [INFO] [stdout] | ^^^^^^^ help: change this to: `config` [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/actions/agenda.rs:63:56 [INFO] [stdout] | [INFO] [stdout] 63 | let is_cursor = cursor.map(|c| c.matches_khevent(&event)).unwrap_or(false); [INFO] [stdout] | ^^^^^^ help: change this to: `event` [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/actions/agenda.rs:64:29 [INFO] [stdout] | [INFO] [stdout] 64 | maybe_print_date_line(&config, cur_day, start_day, &mut last_printed_day); [INFO] [stdout] | ^^^^^^^ help: change this to: `config` [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/actions/agenda.rs:65:45 [INFO] [stdout] | [INFO] [stdout] 65 | print_event_line(*cal_config, *index, &event, cur_day, is_cursor); [INFO] [stdout] | ^^^^^^ help: change this to: `event` [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/actions/agenda.rs:72:29 [INFO] [stdout] | [INFO] [stdout] 72 | maybe_print_date_line(&config, cur_day, start_day, &mut last_printed_day); [INFO] [stdout] | ^^^^^^^ help: change this to: `config` [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/actions/agenda.rs:118:28 [INFO] [stdout] | [INFO] [stdout] 118 | match event_line(config, &event, date, is_cursor) { [INFO] [stdout] | ^^^^^^ help: change this to: `event` [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/actions/edit.rs:20:19 [INFO] [stdout] | [INFO] [stdout] 20 | edit::edit_loop(&tempfile.path())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `tempfile.path()` [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/actions/edit.rs:22:28 [INFO] [stdout] | [INFO] [stdout] 22 | let backup_path = backup(&khline).unwrap(); [INFO] [stdout] | ^^^^^^^ help: change this to: `khline` [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 `map_or` can be simplified [INFO] [stdout] --> src/actions/index/action.rs:89:17 [INFO] [stdout] | [INFO] [stdout] 89 | .filter(|e| e.path().extension().map_or(false, |extension| extension == "ics")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 89 - .filter(|e| e.path().extension().map_or(false, |extension| extension == "ics")) [INFO] [stdout] 89 + .filter(|e| e.path().extension().is_some_and(|extension| extension == "ics")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/actions/index/action.rs:149:24 [INFO] [stdout] | [INFO] [stdout] 149 | fs::remove_dir_all(&indexdir)? [INFO] [stdout] | ^^^^^^^^^ help: change this to: `indexdir` [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/actions/index/action.rs:154:20 [INFO] [stdout] | [INFO] [stdout] 154 | fs::create_dir(&indexdir)?; [INFO] [stdout] | ^^^^^^^^^ help: change this to: `indexdir` [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] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/actions/delete.rs:36:3 [INFO] [stdout] | [INFO] [stdout] 36 | / match stdioutils::read_single_char_from_stdin().unwrap() { [INFO] [stdout] 37 | | 'y' => true, [INFO] [stdout] 38 | | _ => false [INFO] [stdout] 39 | | } [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 36 - match stdioutils::read_single_char_from_stdin().unwrap() { [INFO] [stdout] 37 - 'y' => true, [INFO] [stdout] 38 - _ => false [INFO] [stdout] 39 - } [INFO] [stdout] 36 + matches!(stdioutils::read_single_char_from_stdin().unwrap(), 'y') [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/actions/select.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | self.bucket.as_ref().map_or(false, |bucket| bucketname < bucket.as_str()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 41 - self.bucket.as_ref().map_or(false, |bucket| bucketname < bucket.as_str()) [INFO] [stdout] 41 + self.bucket.as_ref().is_some_and(|bucket| bucketname < bucket.as_str()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/actions/select.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | self.bucket.as_ref().map_or(true, |bucket| bucketname <= bucket.as_str()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 47 - self.bucket.as_ref().map_or(true, |bucket| bucketname <= bucket.as_str()) [INFO] [stdout] 47 + self.bucket.as_ref().is_none_or(|bucket| bucketname <= bucket.as_str()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/actions/select.rs:68:6 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|khline| khline.to_event()) [INFO] [stdout] | ______^ [INFO] [stdout] 69 | | .flatten() [INFO] [stdout] | |______________^ help: try replacing `map` with `flat_map` and remove the `.flatten()`: `flat_map(|khline| khline.to_event())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] = note: `#[warn(clippy::map_flatten)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/actions/seq.rs:21:3 [INFO] [stdout] | [INFO] [stdout] 21 | lines.push_str("\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `lines.push('\n')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] = note: `#[warn(clippy::single_char_add_str)]` 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/actions/undo.rs:24:43 [INFO] [stdout] | [INFO] [stdout] 24 | restore_file_from_backup(&source_dir, &file.path())?; [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `file.path()` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/actions/undo.rs:41:22 [INFO] [stdout] | [INFO] [stdout] 41 | fs::create_dir_all(&target_path.parent().ok_or_else(|| "error creating calendar directory")?)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `target_path.parent().ok_or_else(|| "error creating calendar directory")?` [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] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/actions/undo.rs:41:23 [INFO] [stdout] | [INFO] [stdout] 41 | fs::create_dir_all(&target_path.parent().ok_or_else(|| "error creating calendar directory")?)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations [INFO] [stdout] = note: `#[warn(clippy::unnecessary_lazy_evaluations)]` on by default [INFO] [stdout] help: use `ok_or` instead [INFO] [stdout] | [INFO] [stdout] 41 - fs::create_dir_all(&target_path.parent().ok_or_else(|| "error creating calendar directory")?)?; [INFO] [stdout] 41 + fs::create_dir_all(&target_path.parent().ok_or("error creating calendar directory")?)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/actions/undo.rs:64:3 [INFO] [stdout] | [INFO] [stdout] 64 | / match stdioutils::read_single_char_from_stdin().unwrap() { [INFO] [stdout] 65 | | 'y' => true, [INFO] [stdout] 66 | | _ => false [INFO] [stdout] 67 | | } [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 64 - match stdioutils::read_single_char_from_stdin().unwrap() { [INFO] [stdout] 65 - 'y' => true, [INFO] [stdout] 66 - _ => false [INFO] [stdout] 67 - } [INFO] [stdout] 64 + matches!(stdioutils::read_single_char_from_stdin().unwrap(), 'y') [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/actions/unroll.rs:23:14 [INFO] [stdout] | [INFO] [stdout] 23 | let path = filepath.to_str().ok_or_else(|| "str to path failed")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations [INFO] [stdout] help: use `ok_or` instead [INFO] [stdout] | [INFO] [stdout] 23 - let path = filepath.to_str().ok_or_else(|| "str to path failed")?; [INFO] [stdout] 23 + let path = filepath.to_str().ok_or("str to path failed")?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/backup.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | Err(io::Error::new(io::ErrorKind::Other, "backup dir same as source dir")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 16 - Err(io::Error::new(io::ErrorKind::Other, "backup dir same as source dir")) [INFO] [stdout] 16 + Err(io::Error::other("backup dir same as source dir")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/backup.rs:19:24 [INFO] [stdout] | [INFO] [stdout] 19 | prepare_backup_dir(&backup_path_parent)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: change this to: `backup_path_parent` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/backup.rs:28:24 [INFO] [stdout] | [INFO] [stdout] 28 | fs::create_dir_all(&backupdir)?; [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `backupdir` [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] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/calendars.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | .map(move |path| { [INFO] [stdout] | ______^ [INFO] [stdout] 9 | | path [INFO] [stdout] 10 | | .strip_prefix(&caldir) [INFO] [stdout] 11 | | .map(|suffix| suffix.to_string_lossy().into_owned()) [INFO] [stdout] 12 | | }) [INFO] [stdout] 13 | | .flatten() [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] help: try replacing `map` with `flat_map` and remove the `.flatten()` [INFO] [stdout] | [INFO] [stdout] 8 ~ .flat_map(move |path| { [INFO] [stdout] 9 + path [INFO] [stdout] 10 + .strip_prefix(&caldir) [INFO] [stdout] 11 + .map(|suffix| suffix.to_string_lossy().into_owned()) [INFO] [stdout] 12 + }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/config.rs:72:1 [INFO] [stdout] | [INFO] [stdout] 72 | / impl Default for Config { [INFO] [stdout] 73 | | fn default() -> Self { [INFO] [stdout] 74 | | Config { [INFO] [stdout] 75 | | agenda: AgendaConfig::default(), [INFO] [stdout] ... | [INFO] [stdout] 80 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 10 + #[derive(Default)] [INFO] [stdout] 11 | pub struct Config { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/cursorfile.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | Err(io::Error::new(io::ErrorKind::Other, "too many lines in cursorfile")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 25 - Err(io::Error::new(io::ErrorKind::Other, "too many lines in cursorfile")) [INFO] [stdout] 25 + Err(io::Error::other("too many lines in cursorfile")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/cursorfile.rs:27:46 [INFO] [stdout] | [INFO] [stdout] 27 | lines[0].parse::().map_err(|err| io::Error::new(io::ErrorKind::Other, err.to_string())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 27 - lines[0].parse::().map_err(|err| io::Error::new(io::ErrorKind::Other, err.to_string())) [INFO] [stdout] 27 + lines[0].parse::().map_err(|err| io::Error::other(err.to_string())) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/edit.rs:41:3 [INFO] [stdout] | [INFO] [stdout] 41 | / match stdioutils::read_single_char_from_stdin().unwrap() { [INFO] [stdout] 42 | | 'y' => true, [INFO] [stdout] 43 | | _ => false [INFO] [stdout] 44 | | } [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 41 - match stdioutils::read_single_char_from_stdin().unwrap() { [INFO] [stdout] 42 - 'y' => true, [INFO] [stdout] 43 - _ => false [INFO] [stdout] 44 - } [INFO] [stdout] 41 + matches!(stdioutils::read_single_char_from_stdin().unwrap(), 'y') [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/icalwrap/icalcomponent.rs:54:3 [INFO] [stdout] | [INFO] [stdout] 54 | unsafe fn remove_property_all(&self, kind: ical::icalproperty_kind) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] = note: `#[warn(clippy::missing_safety_doc)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/icalwrap/icalduration.rs:59:7 [INFO] [stdout] | [INFO] [stdout] 59 | return Err(format!("Could not parse duration {}", s)); [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] 59 - return Err(format!("Could not parse duration {}", s)); [INFO] [stdout] 59 + Err(format!("Could not parse duration {}", s)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/icalwrap/icaltimezone.rs:68:60 [INFO] [stdout] | [INFO] [stdout] 68 | IcalTime::floating_ymd(year, month, day).with_timezone(&self) [INFO] [stdout] | ^^^^^ help: change this to: `self` [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 can be `std::io::Error::other(_)` [INFO] [stdout] --> src/icalwrap/icalvcalendar.rs:76:20 [INFO] [stdout] | [INFO] [stdout] 76 | return Err(io::Error::new(io::ErrorKind::Other, "calendar has no path")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 76 - return Err(io::Error::new(io::ErrorKind::Other, "calendar has no path")); [INFO] [stdout] 76 + return Err(io::Error::other("calendar has no path")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/icalwrap/icalvcalendar.rs:82:20 [INFO] [stdout] | [INFO] [stdout] 82 | return Err(io::Error::new( [INFO] [stdout] | ____________________^ [INFO] [stdout] 83 | | io::ErrorKind::Other, [INFO] [stdout] 84 | | format!("expected VCALENDAR component, got {}", kind), [INFO] [stdout] 85 | | )); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 82 ~ return Err(io::Error::other( [INFO] [stdout] 83 ~ format!("expected VCALENDAR component, got {}", kind), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `icalwrap::icalvcalendar::IcalVCalendar` [INFO] [stdout] --> src/icalwrap/icalvcalendar.rs:102:3 [INFO] [stdout] | [INFO] [stdout] 102 | / pub fn to_string(&self) -> String { [INFO] [stdout] 103 | | unsafe { [INFO] [stdout] 104 | | let ical_cstr = CStr::from_ptr(ical::icalcomponent_as_ical_string(self.get_ptr())); [INFO] [stdout] 105 | | ical_cstr.to_string_lossy().into_owned() [INFO] [stdout] 106 | | } [INFO] [stdout] 107 | | } [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `icalwrap::icalvcalendar::IcalVCalendar` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] = note: `#[warn(clippy::inherent_to_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or_else` to construct default value [INFO] [stdout] --> src/icalwrap/icalvcalendar.rs:124:37 [INFO] [stdout] | [INFO] [stdout] 124 | self.get_path_as_string().unwrap_or_else(|| "".to_string()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_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 `unwrap_or_else` to construct default value [INFO] [stdout] --> src/icalwrap/icalvcalendar.rs:280:35 [INFO] [stdout] | [INFO] [stdout] 280 | self.get_path_as_string().unwrap_or_else(|| "".to_string()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_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/icalwrap/icalvcalendar.rs:361:35 [INFO] [stdout] | [INFO] [stdout] 361 | IcalEventIter { iter, parent: &cal } [INFO] [stdout] | ^^^^ help: change this to: `cal` [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 can be `std::io::Error::other(_)` [INFO] [stdout] --> src/input.rs:50:11 [INFO] [stdout] | [INFO] [stdout] 50 | Err(io::Error::new(io::ErrorKind::Other, "too many lines in input")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 50 - Err(io::Error::new(io::ErrorKind::Other, "too many lines in input")) [INFO] [stdout] 50 + Err(io::Error::other("too many lines in input")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/input.rs:52:48 [INFO] [stdout] | [INFO] [stdout] 52 | lines[0].parse::().map_err(|err| io::Error::new(io::ErrorKind::Other, err.to_string())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 52 - lines[0].parse::().map_err(|err| io::Error::new(io::ErrorKind::Other, err.to_string())) [INFO] [stdout] 52 + lines[0].parse::().map_err(|err| io::Error::other(err.to_string())) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/khevent.rs:100:21 [INFO] [stdout] | [INFO] [stdout] 100 | self.get_end().map(|dtend| dtend) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] = note: `#[warn(clippy::map_identity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/khline.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | lines.map(|line| line.parse::()).flatten() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try replacing `map` with `flat_map` and remove the `.flatten()`: `flat_map(|line| line.parse::())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/khline.rs:131:6 [INFO] [stdout] | [INFO] [stdout] 131 | .map(|(index, line)| line.parse::().map(|khline| khline.with_index(index))) [INFO] [stdout] | ______^ [INFO] [stdout] 132 | | .flatten() [INFO] [stdout] | |______________^ help: try replacing `map` with `flat_map` and remove the `.flatten()`: `flat_map(|(index, line)| line.parse::().map(|khline| khline.with_index(index)))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/khline.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | lines.map(|line| line.to_event()).flatten() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try replacing `map` with `flat_map` and remove the `.flatten()`: `flat_map(|line| line.to_event())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/selectors/cal.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | / impl Default for CalendarFilter { [INFO] [stdout] 31 | | fn default() -> CalendarFilter { [INFO] [stdout] 32 | | CalendarFilter { [INFO] [stdout] 33 | | cal_names: Vec::new(), [INFO] [stdout] ... | [INFO] [stdout] 36 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Default)] [INFO] [stdout] 7 | pub struct CalendarFilter { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/selectors/daterange.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | self.date.map_or(true, |date| date <= cmp_date.date()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 20 - self.date.map_or(true, |date| date <= cmp_date.date()) [INFO] [stdout] 20 + self.date.is_none_or(|date| date <= cmp_date.date()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/selectors/daterange.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | self.date.map_or(true, |date| cmp_date.date() <= date) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 42 - self.date.map_or(true, |date| cmp_date.date() <= date) [INFO] [stdout] 42 + self.date.is_none_or(|date| cmp_date.date() <= date) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/selectors/grep.rs:42:1 [INFO] [stdout] | [INFO] [stdout] 42 | / impl Default for GrepFilter { [INFO] [stdout] 43 | | fn default() -> GrepFilter { [INFO] [stdout] 44 | | GrepFilter { terms: Vec::new() } [INFO] [stdout] 45 | | } [INFO] [stdout] 46 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Default)] [INFO] [stdout] 7 | pub struct GrepFilter { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/selectors/prop.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | / impl Default for PropFilter { [INFO] [stdout] 40 | | fn default() -> Self { [INFO] [stdout] 41 | | PropFilter { [INFO] [stdout] 42 | | terms: HashMap::new(), [INFO] [stdout] ... | [INFO] [stdout] 45 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 7 + #[derive(Default)] [INFO] [stdout] 8 | pub struct PropFilter { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/selectors/range.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | .map(|x| x.parse::()) [INFO] [stdout] | ________^ [INFO] [stdout] 21 | | .flatten() [INFO] [stdout] | |________________^ help: try replacing `map` with `flat_map` and remove the `.flatten()`: `flat_map(|x| x.parse::())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/utils/fileutil.rs:48:30 [INFO] [stdout] | [INFO] [stdout] 48 | Some(path) => write_file(&path, &cal.to_string()), [INFO] [stdout] | ^^^^^ help: change this to: `path` [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 can be `std::io::Error::other(_)` [INFO] [stdout] --> src/utils/fileutil.rs:49:17 [INFO] [stdout] | [INFO] [stdout] 49 | None => Err(io::Error::new(io::ErrorKind::Other, "calendar has no path")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 49 - None => Err(io::Error::new(io::ErrorKind::Other, "calendar has no path")), [INFO] [stdout] 49 + None => Err(io::Error::other("calendar has no path")), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/utils/fileutil.rs:61:33 [INFO] [stdout] | [INFO] [stdout] 61 | let mut file = fs::File::open(&path)?; [INFO] [stdout] | ^^^^^ help: change this to: `path` [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] [INFO] [stdout] [INFO] [stdout] warning: this manual char comparison can be written more succinctly [INFO] [stdout] --> src/utils/misc.rs:8:27 [INFO] [stdout] | [INFO] [stdout] 8 | let first = first.split(|x| x == '\n'); [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider using a `char`: `'\n'` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_pattern_char_comparison [INFO] [stdout] = note: `#[warn(clippy::manual_pattern_char_comparison)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this manual char comparison can be written more succinctly [INFO] [stdout] --> src/utils/misc.rs:9:29 [INFO] [stdout] | [INFO] [stdout] 9 | let second = second.split(|x| x == '\n'); [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider using a `char`: `'\n'` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_pattern_char_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/utils/stdioutils.rs:14:36 [INFO] [stdout] | [INFO] [stdout] 14 | buf.chars().next().ok_or_else(|| io::Error::new(io::ErrorKind::Other, "calendar has no path")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 14 - buf.chars().next().ok_or_else(|| io::Error::new(io::ErrorKind::Other, "calendar has no path")) [INFO] [stdout] 14 + buf.chars().next().ok_or_else(|| io::Error::other("calendar has no path")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/config.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Deserialize,Debug,PartialEq)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Config` [INFO] [stdout] 9 | #[serde(default)] [INFO] [stdout] 10 | pub struct Config { [INFO] [stdout] | ------ `Config` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/config.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Deserialize,Debug,PartialEq)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AgendaConfig` [INFO] [stdout] 17 | #[serde(default)] [INFO] [stdout] 18 | pub struct AgendaConfig { [INFO] [stdout] | ------------ `AgendaConfig` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/config.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Deserialize,Debug,PartialEq)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CalendarConfig` [INFO] [stdout] 24 | pub struct CalendarConfig { [INFO] [stdout] | -------------- `CalendarConfig` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/config.rs:28:10 [INFO] [stdout] | [INFO] [stdout] 28 | #[derive(Deserialize,Debug,PartialEq)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_LocalTZConfig` [INFO] [stdout] 29 | pub struct LocalTZConfig { [INFO] [stdout] | ------------- `LocalTZConfig` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/icalwrap/icalcomponent.rs:38:29 [INFO] [stdout] | [INFO] [stdout] 38 | fn get_properties_by_name(&self, property_name: &str) -> Vec { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 38 | fn get_properties_by_name(&self, property_name: &str) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/icalwrap/icalcomponent.rs:46:27 [INFO] [stdout] | [INFO] [stdout] 46 | fn get_property_by_name(&self, property_name: &str) -> Option { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 46 | fn get_property_by_name(&self, property_name: &str) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/icalwrap/icalvcalendar.rs:266:22 [INFO] [stdout] | [INFO] [stdout] 266 | pub fn events_iter(&self) -> IcalEventIter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 266 | pub fn events_iter(&self) -> IcalEventIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/khevent.rs:136:33 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn get_properties_by_name(&self, property_name: &str) -> Vec { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 136 | pub fn get_properties_by_name(&self, property_name: &str) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/khaleesi.rs:44:7 [INFO] [stdout] | [INFO] [stdout] 44 | &config, [INFO] [stdout] | ^^^^^^^ help: change this to: `config` [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/bin/khaleesi.rs:66:54 [INFO] [stdout] | [INFO] [stdout] 66 | cli::Command::Unroll(x) => unroll::action_unroll(&x), [INFO] [stdout] | ^^ help: change this to: `x` [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/bin/khaleesi.rs:44:7 [INFO] [stdout] | [INFO] [stdout] 44 | &config, [INFO] [stdout] | ^^^^^^^ help: change this to: `config` [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/bin/khaleesi.rs:66:54 [INFO] [stdout] | [INFO] [stdout] 66 | cli::Command::Unroll(x) => unroll::action_unroll(&x), [INFO] [stdout] | ^^ help: change this to: `x` [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: usage of `.map(...).any(identity)` [INFO] [stdout] --> src/errors.rs:32:30 [INFO] [stdout] | [INFO] [stdout] 32 | frame.symbols().iter().map(|symbol| { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 33 | | symbol.name() [INFO] [stdout] 34 | | .and_then(|name| name.as_str()) [INFO] [stdout] 35 | | .map_or(false, |name| name.contains("khaleesi")) [INFO] [stdout] 36 | | }).any(|x| x) [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_all_any_identity [INFO] [stdout] = note: `#[warn(clippy::map_all_any_identity)]` on by default [INFO] [stdout] help: use `.any(...)` instead [INFO] [stdout] | [INFO] [stdout] 32 ~ frame.symbols().iter().any(|symbol| { [INFO] [stdout] 33 + symbol.name() [INFO] [stdout] 34 + .and_then(|name| name.as_str()) [INFO] [stdout] 35 + .map_or(false, |name| name.contains("khaleesi")) [INFO] [stdout] 36 + }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/errors.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | / symbol.name() [INFO] [stdout] 34 | | .and_then(|name| name.as_str()) [INFO] [stdout] 35 | | .map_or(false, |name| name.contains("khaleesi")) [INFO] [stdout] | |__________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 35 - .map_or(false, |name| name.contains("khaleesi")) [INFO] [stdout] 35 + .is_some_and(|name| name.contains("khaleesi")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.as_ref().map(|cause| &**cause)` on an `Option` value [INFO] [stdout] --> src/errors.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | self.cause.as_ref().map(|cause| &**cause) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using as_deref: `self.cause.as_deref()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_as_ref_deref [INFO] [stdout] = note: `#[warn(clippy::option_as_ref_deref)]` 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/actions/agenda.rs:60:34 [INFO] [stdout] | [INFO] [stdout] 60 | maybe_print_date_line_header(&config, cur_day, start_day, &mut last_printed_day); [INFO] [stdout] | ^^^^^^^ help: change this to: `config` [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/actions/agenda.rs:63:56 [INFO] [stdout] | [INFO] [stdout] 63 | let is_cursor = cursor.map(|c| c.matches_khevent(&event)).unwrap_or(false); [INFO] [stdout] | ^^^^^^ help: change this to: `event` [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/actions/agenda.rs:64:29 [INFO] [stdout] | [INFO] [stdout] 64 | maybe_print_date_line(&config, cur_day, start_day, &mut last_printed_day); [INFO] [stdout] | ^^^^^^^ help: change this to: `config` [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/actions/agenda.rs:65:45 [INFO] [stdout] | [INFO] [stdout] 65 | print_event_line(*cal_config, *index, &event, cur_day, is_cursor); [INFO] [stdout] | ^^^^^^ help: change this to: `event` [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/actions/agenda.rs:72:29 [INFO] [stdout] | [INFO] [stdout] 72 | maybe_print_date_line(&config, cur_day, start_day, &mut last_printed_day); [INFO] [stdout] | ^^^^^^^ help: change this to: `config` [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/actions/agenda.rs:118:28 [INFO] [stdout] | [INFO] [stdout] 118 | match event_line(config, &event, date, is_cursor) { [INFO] [stdout] | ^^^^^^ help: change this to: `event` [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/actions/edit.rs:20:19 [INFO] [stdout] | [INFO] [stdout] 20 | edit::edit_loop(&tempfile.path())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `tempfile.path()` [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/actions/edit.rs:22:28 [INFO] [stdout] | [INFO] [stdout] 22 | let backup_path = backup(&khline).unwrap(); [INFO] [stdout] | ^^^^^^^ help: change this to: `khline` [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 `map_or` can be simplified [INFO] [stdout] --> src/actions/index/action.rs:89:17 [INFO] [stdout] | [INFO] [stdout] 89 | .filter(|e| e.path().extension().map_or(false, |extension| extension == "ics")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 89 - .filter(|e| e.path().extension().map_or(false, |extension| extension == "ics")) [INFO] [stdout] 89 + .filter(|e| e.path().extension().is_some_and(|extension| extension == "ics")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/actions/index/action.rs:149:24 [INFO] [stdout] | [INFO] [stdout] 149 | fs::remove_dir_all(&indexdir)? [INFO] [stdout] | ^^^^^^^^^ help: change this to: `indexdir` [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/actions/index/action.rs:154:20 [INFO] [stdout] | [INFO] [stdout] 154 | fs::create_dir(&indexdir)?; [INFO] [stdout] | ^^^^^^^^^ help: change this to: `indexdir` [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] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/actions/index/bucketable.rs:107:18 [INFO] [stdout] | [INFO] [stdout] 107 | map_a.insert(&key, vec!["a".to_string(), "b".to_string()]); [INFO] [stdout] | ^^^^ help: change this to: `key` [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/actions/index/bucketable.rs:108:18 [INFO] [stdout] | [INFO] [stdout] 108 | map_b.insert(&key, vec!["c".to_string(), "d".to_string()]); [INFO] [stdout] | ^^^^ help: change this to: `key` [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: match expression looks like `matches!` macro [INFO] [stdout] --> src/actions/delete.rs:36:3 [INFO] [stdout] | [INFO] [stdout] 36 | / match stdioutils::read_single_char_from_stdin().unwrap() { [INFO] [stdout] 37 | | 'y' => true, [INFO] [stdout] 38 | | _ => false [INFO] [stdout] 39 | | } [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 36 - match stdioutils::read_single_char_from_stdin().unwrap() { [INFO] [stdout] 37 - 'y' => true, [INFO] [stdout] 38 - _ => false [INFO] [stdout] 39 - } [INFO] [stdout] 36 + matches!(stdioutils::read_single_char_from_stdin().unwrap(), 'y') [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/actions/select.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | self.bucket.as_ref().map_or(false, |bucket| bucketname < bucket.as_str()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 41 - self.bucket.as_ref().map_or(false, |bucket| bucketname < bucket.as_str()) [INFO] [stdout] 41 + self.bucket.as_ref().is_some_and(|bucket| bucketname < bucket.as_str()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/actions/select.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | self.bucket.as_ref().map_or(true, |bucket| bucketname <= bucket.as_str()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 47 - self.bucket.as_ref().map_or(true, |bucket| bucketname <= bucket.as_str()) [INFO] [stdout] 47 + self.bucket.as_ref().is_none_or(|bucket| bucketname <= bucket.as_str()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/actions/select.rs:68:6 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|khline| khline.to_event()) [INFO] [stdout] | ______^ [INFO] [stdout] 69 | | .flatten() [INFO] [stdout] | |______________^ help: try replacing `map` with `flat_map` and remove the `.flatten()`: `flat_map(|khline| khline.to_event())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] = note: `#[warn(clippy::map_flatten)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/actions/seq.rs:21:3 [INFO] [stdout] | [INFO] [stdout] 21 | lines.push_str("\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `lines.push('\n')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] = note: `#[warn(clippy::single_char_add_str)]` 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/actions/undo.rs:24:43 [INFO] [stdout] | [INFO] [stdout] 24 | restore_file_from_backup(&source_dir, &file.path())?; [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `file.path()` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/actions/undo.rs:41:22 [INFO] [stdout] | [INFO] [stdout] 41 | fs::create_dir_all(&target_path.parent().ok_or_else(|| "error creating calendar directory")?)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `target_path.parent().ok_or_else(|| "error creating calendar directory")?` [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] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/actions/undo.rs:41:23 [INFO] [stdout] | [INFO] [stdout] 41 | fs::create_dir_all(&target_path.parent().ok_or_else(|| "error creating calendar directory")?)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations [INFO] [stdout] = note: `#[warn(clippy::unnecessary_lazy_evaluations)]` on by default [INFO] [stdout] help: use `ok_or` instead [INFO] [stdout] | [INFO] [stdout] 41 - fs::create_dir_all(&target_path.parent().ok_or_else(|| "error creating calendar directory")?)?; [INFO] [stdout] 41 + fs::create_dir_all(&target_path.parent().ok_or("error creating calendar directory")?)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/actions/undo.rs:64:3 [INFO] [stdout] | [INFO] [stdout] 64 | / match stdioutils::read_single_char_from_stdin().unwrap() { [INFO] [stdout] 65 | | 'y' => true, [INFO] [stdout] 66 | | _ => false [INFO] [stdout] 67 | | } [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 64 - match stdioutils::read_single_char_from_stdin().unwrap() { [INFO] [stdout] 65 - 'y' => true, [INFO] [stdout] 66 - _ => false [INFO] [stdout] 67 - } [INFO] [stdout] 64 + matches!(stdioutils::read_single_char_from_stdin().unwrap(), 'y') [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/actions/unroll.rs:23:14 [INFO] [stdout] | [INFO] [stdout] 23 | let path = filepath.to_str().ok_or_else(|| "str to path failed")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations [INFO] [stdout] help: use `ok_or` instead [INFO] [stdout] | [INFO] [stdout] 23 - let path = filepath.to_str().ok_or_else(|| "str to path failed")?; [INFO] [stdout] 23 + let path = filepath.to_str().ok_or("str to path failed")?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/backup.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | Err(io::Error::new(io::ErrorKind::Other, "backup dir same as source dir")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 16 - Err(io::Error::new(io::ErrorKind::Other, "backup dir same as source dir")) [INFO] [stdout] 16 + Err(io::Error::other("backup dir same as source dir")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/backup.rs:19:24 [INFO] [stdout] | [INFO] [stdout] 19 | prepare_backup_dir(&backup_path_parent)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: change this to: `backup_path_parent` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/backup.rs:28:24 [INFO] [stdout] | [INFO] [stdout] 28 | fs::create_dir_all(&backupdir)?; [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `backupdir` [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] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/calendars.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | .map(move |path| { [INFO] [stdout] | ______^ [INFO] [stdout] 9 | | path [INFO] [stdout] 10 | | .strip_prefix(&caldir) [INFO] [stdout] 11 | | .map(|suffix| suffix.to_string_lossy().into_owned()) [INFO] [stdout] 12 | | }) [INFO] [stdout] 13 | | .flatten() [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] help: try replacing `map` with `flat_map` and remove the `.flatten()` [INFO] [stdout] | [INFO] [stdout] 8 ~ .flat_map(move |path| { [INFO] [stdout] 9 + path [INFO] [stdout] 10 + .strip_prefix(&caldir) [INFO] [stdout] 11 + .map(|suffix| suffix.to_string_lossy().into_owned()) [INFO] [stdout] 12 + }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/config.rs:72:1 [INFO] [stdout] | [INFO] [stdout] 72 | / impl Default for Config { [INFO] [stdout] 73 | | fn default() -> Self { [INFO] [stdout] 74 | | Config { [INFO] [stdout] 75 | | agenda: AgendaConfig::default(), [INFO] [stdout] ... | [INFO] [stdout] 80 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 10 + #[derive(Default)] [INFO] [stdout] 11 | pub struct Config { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/cursorfile.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | Err(io::Error::new(io::ErrorKind::Other, "too many lines in cursorfile")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 25 - Err(io::Error::new(io::ErrorKind::Other, "too many lines in cursorfile")) [INFO] [stdout] 25 + Err(io::Error::other("too many lines in cursorfile")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/cursorfile.rs:27:46 [INFO] [stdout] | [INFO] [stdout] 27 | lines[0].parse::().map_err(|err| io::Error::new(io::ErrorKind::Other, err.to_string())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 27 - lines[0].parse::().map_err(|err| io::Error::new(io::ErrorKind::Other, err.to_string())) [INFO] [stdout] 27 + lines[0].parse::().map_err(|err| io::Error::other(err.to_string())) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/edit.rs:41:3 [INFO] [stdout] | [INFO] [stdout] 41 | / match stdioutils::read_single_char_from_stdin().unwrap() { [INFO] [stdout] 42 | | 'y' => true, [INFO] [stdout] 43 | | _ => false [INFO] [stdout] 44 | | } [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 41 - match stdioutils::read_single_char_from_stdin().unwrap() { [INFO] [stdout] 42 - 'y' => true, [INFO] [stdout] 43 - _ => false [INFO] [stdout] 44 - } [INFO] [stdout] 41 + matches!(stdioutils::read_single_char_from_stdin().unwrap(), 'y') [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/icalwrap/icalcomponent.rs:54:3 [INFO] [stdout] | [INFO] [stdout] 54 | unsafe fn remove_property_all(&self, kind: ical::icalproperty_kind) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] = note: `#[warn(clippy::missing_safety_doc)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/icalwrap/icalduration.rs:59:7 [INFO] [stdout] | [INFO] [stdout] 59 | return Err(format!("Could not parse duration {}", s)); [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] 59 - return Err(format!("Could not parse duration {}", s)); [INFO] [stdout] 59 + Err(format!("Could not parse duration {}", s)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/icalwrap/icalduration.rs:174:13 [INFO] [stdout] | [INFO] [stdout] 174 | assert!(!(more < less)); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `(more >= less)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/icalwrap/icalduration.rs:175:13 [INFO] [stdout] | [INFO] [stdout] 175 | assert!(!(more == less)); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `(more != less)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/icalwrap/icaltimezone.rs:68:60 [INFO] [stdout] | [INFO] [stdout] 68 | IcalTime::floating_ymd(year, month, day).with_timezone(&self) [INFO] [stdout] | ^^^^^ help: change this to: `self` [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 can be `std::io::Error::other(_)` [INFO] [stdout] --> src/icalwrap/icalvcalendar.rs:76:20 [INFO] [stdout] | [INFO] [stdout] 76 | return Err(io::Error::new(io::ErrorKind::Other, "calendar has no path")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 76 - return Err(io::Error::new(io::ErrorKind::Other, "calendar has no path")); [INFO] [stdout] 76 + return Err(io::Error::other("calendar has no path")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/icalwrap/icalvcalendar.rs:82:20 [INFO] [stdout] | [INFO] [stdout] 82 | return Err(io::Error::new( [INFO] [stdout] | ____________________^ [INFO] [stdout] 83 | | io::ErrorKind::Other, [INFO] [stdout] 84 | | format!("expected VCALENDAR component, got {}", kind), [INFO] [stdout] 85 | | )); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 82 ~ return Err(io::Error::other( [INFO] [stdout] 83 ~ format!("expected VCALENDAR component, got {}", kind), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `icalwrap::icalvcalendar::IcalVCalendar` [INFO] [stdout] --> src/icalwrap/icalvcalendar.rs:102:3 [INFO] [stdout] | [INFO] [stdout] 102 | / pub fn to_string(&self) -> String { [INFO] [stdout] 103 | | unsafe { [INFO] [stdout] 104 | | let ical_cstr = CStr::from_ptr(ical::icalcomponent_as_ical_string(self.get_ptr())); [INFO] [stdout] 105 | | ical_cstr.to_string_lossy().into_owned() [INFO] [stdout] 106 | | } [INFO] [stdout] 107 | | } [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `icalwrap::icalvcalendar::IcalVCalendar` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] = note: `#[warn(clippy::inherent_to_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or_else` to construct default value [INFO] [stdout] --> src/icalwrap/icalvcalendar.rs:124:37 [INFO] [stdout] | [INFO] [stdout] 124 | self.get_path_as_string().unwrap_or_else(|| "".to_string()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_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 `unwrap_or_else` to construct default value [INFO] [stdout] --> src/icalwrap/icalvcalendar.rs:280:35 [INFO] [stdout] | [INFO] [stdout] 280 | self.get_path_as_string().unwrap_or_else(|| "".to_string()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_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/icalwrap/icalvcalendar.rs:361:35 [INFO] [stdout] | [INFO] [stdout] 361 | IcalEventIter { iter, parent: &cal } [INFO] [stdout] | ^^^^ help: change this to: `cal` [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 can be `std::io::Error::other(_)` [INFO] [stdout] --> src/input.rs:50:11 [INFO] [stdout] | [INFO] [stdout] 50 | Err(io::Error::new(io::ErrorKind::Other, "too many lines in input")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 50 - Err(io::Error::new(io::ErrorKind::Other, "too many lines in input")) [INFO] [stdout] 50 + Err(io::Error::other("too many lines in input")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/input.rs:52:48 [INFO] [stdout] | [INFO] [stdout] 52 | lines[0].parse::().map_err(|err| io::Error::new(io::ErrorKind::Other, err.to_string())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 52 - lines[0].parse::().map_err(|err| io::Error::new(io::ErrorKind::Other, err.to_string())) [INFO] [stdout] 52 + lines[0].parse::().map_err(|err| io::Error::other(err.to_string())) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/khevent.rs:100:21 [INFO] [stdout] | [INFO] [stdout] 100 | self.get_end().map(|dtend| dtend) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] = note: `#[warn(clippy::map_identity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/khline.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | lines.map(|line| line.parse::()).flatten() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try replacing `map` with `flat_map` and remove the `.flatten()`: `flat_map(|line| line.parse::())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/khline.rs:131:6 [INFO] [stdout] | [INFO] [stdout] 131 | .map(|(index, line)| line.parse::().map(|khline| khline.with_index(index))) [INFO] [stdout] | ______^ [INFO] [stdout] 132 | | .flatten() [INFO] [stdout] | |______________^ help: try replacing `map` with `flat_map` and remove the `.flatten()`: `flat_map(|(index, line)| line.parse::().map(|khline| khline.with_index(index)))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/khline.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | lines.map(|line| line.to_event()).flatten() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try replacing `map` with `flat_map` and remove the `.flatten()`: `flat_map(|line| line.to_event())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/selectors/cal.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | / impl Default for CalendarFilter { [INFO] [stdout] 31 | | fn default() -> CalendarFilter { [INFO] [stdout] 32 | | CalendarFilter { [INFO] [stdout] 33 | | cal_names: Vec::new(), [INFO] [stdout] ... | [INFO] [stdout] 36 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Default)] [INFO] [stdout] 7 | pub struct CalendarFilter { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/selectors/cal.rs:48:7 [INFO] [stdout] | [INFO] [stdout] 48 | &testdata::TEST_EVENT_MULTIDAY, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `testdata::TEST_EVENT_MULTIDAY` [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/selectors/cal.rs:59:7 [INFO] [stdout] | [INFO] [stdout] 59 | &testdata::TEST_EVENT_MULTIDAY, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `testdata::TEST_EVENT_MULTIDAY` [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/selectors/cal.rs:70:7 [INFO] [stdout] | [INFO] [stdout] 70 | &testdata::TEST_EVENT_MULTIDAY, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `testdata::TEST_EVENT_MULTIDAY` [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 `map_or` can be simplified [INFO] [stdout] --> src/selectors/daterange.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | self.date.map_or(true, |date| date <= cmp_date.date()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 20 - self.date.map_or(true, |date| date <= cmp_date.date()) [INFO] [stdout] 20 + self.date.is_none_or(|date| date <= cmp_date.date()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/selectors/daterange.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | self.date.map_or(true, |date| cmp_date.date() <= date) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 42 - self.date.map_or(true, |date| cmp_date.date() <= date) [INFO] [stdout] 42 + self.date.is_none_or(|date| cmp_date.date() <= date) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/selectors/daterange.rs:111:7 [INFO] [stdout] | [INFO] [stdout] 111 | &testdata::TEST_EVENT_MULTIDAY, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `testdata::TEST_EVENT_MULTIDAY` [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/selectors/daterange.rs:120:7 [INFO] [stdout] | [INFO] [stdout] 120 | &testdata::TEST_EVENT_MULTIDAY, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `testdata::TEST_EVENT_MULTIDAY` [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/selectors/daterange.rs:129:7 [INFO] [stdout] | [INFO] [stdout] 129 | &testdata::TEST_EVENT_MULTIDAY, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `testdata::TEST_EVENT_MULTIDAY` [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/selectors/daterange.rs:137:38 [INFO] [stdout] | [INFO] [stdout] 137 | let filtered = test_filter_event(&testdata::TEST_EVENT_MULTIDAY, None, &["from", "2007-W17"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `testdata::TEST_EVENT_MULTIDAY` [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/selectors/daterange.rs:142:38 [INFO] [stdout] | [INFO] [stdout] 142 | let filtered = test_filter_event(&testdata::TEST_EVENT_MULTIDAY, None, &["from", "2007-W30"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `testdata::TEST_EVENT_MULTIDAY` [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/selectors/daterange.rs:148:7 [INFO] [stdout] | [INFO] [stdout] 148 | &testdata::TEST_EVENT_MULTIDAY, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `testdata::TEST_EVENT_MULTIDAY` [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/selectors/daterange.rs:156:38 [INFO] [stdout] | [INFO] [stdout] 156 | let filtered = test_filter_event(&testdata::TEST_EVENT_MULTIDAY, None, &["to", "2007-08-01"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `testdata::TEST_EVENT_MULTIDAY` [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/selectors/daterange.rs:161:38 [INFO] [stdout] | [INFO] [stdout] 161 | let filtered = test_filter_event(&testdata::TEST_EVENT_MULTIDAY, None, &["to", "2007-06-01"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `testdata::TEST_EVENT_MULTIDAY` [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/selectors/daterange.rs:166:38 [INFO] [stdout] | [INFO] [stdout] 166 | let filtered = test_filter_event(&testdata::TEST_EVENT_MULTIDAY, None, &["to", "2007-07-01"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `testdata::TEST_EVENT_MULTIDAY` [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/selectors/daterange.rs:171:38 [INFO] [stdout] | [INFO] [stdout] 171 | let filtered = test_filter_event(&testdata::TEST_EVENT_MULTIDAY, None, &["to", "2007-W17"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `testdata::TEST_EVENT_MULTIDAY` [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/selectors/daterange.rs:176:38 [INFO] [stdout] | [INFO] [stdout] 176 | let filtered = test_filter_event(&testdata::TEST_EVENT_MULTIDAY, None, &["to", "2007-W30"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `testdata::TEST_EVENT_MULTIDAY` [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/selectors/daterange.rs:182:7 [INFO] [stdout] | [INFO] [stdout] 182 | &testdata::TEST_EVENT_MULTIDAY, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `testdata::TEST_EVENT_MULTIDAY` [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 `impl` can be derived [INFO] [stdout] --> src/selectors/grep.rs:42:1 [INFO] [stdout] | [INFO] [stdout] 42 | / impl Default for GrepFilter { [INFO] [stdout] 43 | | fn default() -> GrepFilter { [INFO] [stdout] 44 | | GrepFilter { terms: Vec::new() } [INFO] [stdout] 45 | | } [INFO] [stdout] 46 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Default)] [INFO] [stdout] 7 | pub struct GrepFilter { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/selectors/grep.rs:56:7 [INFO] [stdout] | [INFO] [stdout] 56 | &testdata::TEST_EVENT_MULTIDAY, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `testdata::TEST_EVENT_MULTIDAY` [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/selectors/grep.rs:65:38 [INFO] [stdout] | [INFO] [stdout] 65 | let filtered = test_filter_event(&testdata::TEST_EVENT_MULTIDAY, None, &["grep", "Lobby"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `testdata::TEST_EVENT_MULTIDAY` [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/selectors/grep.rs:72:7 [INFO] [stdout] | [INFO] [stdout] 72 | &testdata::TEST_EVENT_ONE_MEETING, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `testdata::TEST_EVENT_ONE_MEETING` [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/selectors/grep.rs:82:7 [INFO] [stdout] | [INFO] [stdout] 82 | &testdata::TEST_EVENT_MULTIDAY, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `testdata::TEST_EVENT_MULTIDAY` [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/selectors/grep.rs:92:7 [INFO] [stdout] | [INFO] [stdout] 92 | &testdata::TEST_EVENT_MULTIDAY, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `testdata::TEST_EVENT_MULTIDAY` [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 `impl` can be derived [INFO] [stdout] --> src/selectors/prop.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | / impl Default for PropFilter { [INFO] [stdout] 40 | | fn default() -> Self { [INFO] [stdout] 41 | | PropFilter { [INFO] [stdout] 42 | | terms: HashMap::new(), [INFO] [stdout] ... | [INFO] [stdout] 45 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 7 + #[derive(Default)] [INFO] [stdout] 8 | pub struct PropFilter { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/selectors/prop.rs:55:7 [INFO] [stdout] | [INFO] [stdout] 55 | &testdata::TEST_EVENT_MULTIDAY, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `testdata::TEST_EVENT_MULTIDAY` [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/selectors/prop.rs:65:7 [INFO] [stdout] | [INFO] [stdout] 65 | &testdata::TEST_EVENT_MULTIDAY, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `testdata::TEST_EVENT_MULTIDAY` [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/selectors/prop.rs:75:7 [INFO] [stdout] | [INFO] [stdout] 75 | &testdata::TEST_EVENT_MULTIDAY, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `testdata::TEST_EVENT_MULTIDAY` [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: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/selectors/range.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | .map(|x| x.parse::()) [INFO] [stdout] | ________^ [INFO] [stdout] 21 | | .flatten() [INFO] [stdout] | |________________^ help: try replacing `map` with `flat_map` and remove the `.flatten()`: `flat_map(|x| x.parse::())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/selectors/range.rs:46:44 [INFO] [stdout] | [INFO] [stdout] 46 | let filtered = test_filter_event_index(&testdata::TEST_EVENT_MULTIDAY, 1, &["1"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `testdata::TEST_EVENT_MULTIDAY` [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/selectors/range.rs:52:44 [INFO] [stdout] | [INFO] [stdout] 52 | let filtered = test_filter_event_index(&testdata::TEST_EVENT_MULTIDAY, 5, &["1"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `testdata::TEST_EVENT_MULTIDAY` [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/selectors/range.rs:58:44 [INFO] [stdout] | [INFO] [stdout] 58 | let filtered = test_filter_event_index(&testdata::TEST_EVENT_MULTIDAY, 1, &["1:3"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `testdata::TEST_EVENT_MULTIDAY` [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/selectors/range.rs:64:44 [INFO] [stdout] | [INFO] [stdout] 64 | let filtered = test_filter_event_index(&testdata::TEST_EVENT_MULTIDAY, 2, &["1:3"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `testdata::TEST_EVENT_MULTIDAY` [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/selectors/range.rs:70:44 [INFO] [stdout] | [INFO] [stdout] 70 | let filtered = test_filter_event_index(&testdata::TEST_EVENT_MULTIDAY, 3, &["1:3"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `testdata::TEST_EVENT_MULTIDAY` [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/selectors/range.rs:76:44 [INFO] [stdout] | [INFO] [stdout] 76 | let filtered = test_filter_event_index(&testdata::TEST_EVENT_MULTIDAY, 4, &["1:3"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `testdata::TEST_EVENT_MULTIDAY` [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/utils/fileutil.rs:48:30 [INFO] [stdout] | [INFO] [stdout] 48 | Some(path) => write_file(&path, &cal.to_string()), [INFO] [stdout] | ^^^^^ help: change this to: `path` [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 can be `std::io::Error::other(_)` [INFO] [stdout] --> src/utils/fileutil.rs:49:17 [INFO] [stdout] | [INFO] [stdout] 49 | None => Err(io::Error::new(io::ErrorKind::Other, "calendar has no path")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 49 - None => Err(io::Error::new(io::ErrorKind::Other, "calendar has no path")), [INFO] [stdout] 49 + None => Err(io::Error::other("calendar has no path")), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/utils/fileutil.rs:61:33 [INFO] [stdout] | [INFO] [stdout] 61 | let mut file = fs::File::open(&path)?; [INFO] [stdout] | ^^^^^ help: change this to: `path` [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] [INFO] [stdout] [INFO] [stdout] warning: this manual char comparison can be written more succinctly [INFO] [stdout] --> src/utils/misc.rs:8:27 [INFO] [stdout] | [INFO] [stdout] 8 | let first = first.split(|x| x == '\n'); [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider using a `char`: `'\n'` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_pattern_char_comparison [INFO] [stdout] = note: `#[warn(clippy::manual_pattern_char_comparison)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this manual char comparison can be written more succinctly [INFO] [stdout] --> src/utils/misc.rs:9:29 [INFO] [stdout] | [INFO] [stdout] 9 | let second = second.split(|x| x == '\n'); [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider using a `char`: `'\n'` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_pattern_char_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/utils/stdioutils.rs:14:36 [INFO] [stdout] | [INFO] [stdout] 14 | buf.chars().next().ok_or_else(|| io::Error::new(io::ErrorKind::Other, "calendar has no path")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 14 - buf.chars().next().ok_or_else(|| io::Error::new(io::ErrorKind::Other, "calendar has no path")) [INFO] [stdout] 14 + buf.chars().next().ok_or_else(|| io::Error::other("calendar has no path")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: initializer for `thread_local` value can be made `const` [INFO] [stdout] --> src/utils/stdioutils.rs:66:46 [INFO] [stdout] | [INFO] [stdout] 66 | pub static STDOUT_BUF: RefCell = RefCell::new(String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `const { RefCell::new(String::new()) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_thread_local [INFO] [stdout] = note: `#[warn(clippy::missing_const_for_thread_local)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: initializer for `thread_local` value can be made `const` [INFO] [stdout] --> src/utils/stdioutils.rs:67:45 [INFO] [stdout] | [INFO] [stdout] 67 | pub static STDIN_BUF: RefCell = RefCell::new(String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `const { RefCell::new(String::new()) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_thread_local [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: initializer for `thread_local` value can be made `const` [INFO] [stdout] --> src/utils/stdioutils.rs:68:43 [INFO] [stdout] | [INFO] [stdout] 68 | pub static STDIN_TTY: RefCell = RefCell::new(true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace with: `const { RefCell::new(true) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_thread_local [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: initializer for `thread_local` value can be made `const` [INFO] [stdout] --> src/utils/stdioutils.rs:69:44 [INFO] [stdout] | [INFO] [stdout] 69 | pub static STDOUT_TTY: RefCell = RefCell::new(true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace with: `const { RefCell::new(true) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_thread_local [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/utils/stdioutils.rs:73:55 [INFO] [stdout] | [INFO] [stdout] 73 | STDOUT_BUF.with(|cell| cell.borrow_mut().push_str(&line)); [INFO] [stdout] | ^^^^^ help: change this to: `line` [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/utils/stdioutils.rs:94:54 [INFO] [stdout] | [INFO] [stdout] 94 | STDIN_BUF.with(|cell| cell.borrow_mut().push_str(&text)); [INFO] [stdout] | ^^^^^ help: change this to: `text` [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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/config.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Deserialize,Debug,PartialEq)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Config` [INFO] [stdout] 9 | #[serde(default)] [INFO] [stdout] 10 | pub struct Config { [INFO] [stdout] | ------ `Config` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/config.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Deserialize,Debug,PartialEq)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AgendaConfig` [INFO] [stdout] 17 | #[serde(default)] [INFO] [stdout] 18 | pub struct AgendaConfig { [INFO] [stdout] | ------------ `AgendaConfig` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/config.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Deserialize,Debug,PartialEq)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CalendarConfig` [INFO] [stdout] 24 | pub struct CalendarConfig { [INFO] [stdout] | -------------- `CalendarConfig` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/config.rs:28:10 [INFO] [stdout] | [INFO] [stdout] 28 | #[derive(Deserialize,Debug,PartialEq)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_LocalTZConfig` [INFO] [stdout] 29 | pub struct LocalTZConfig { [INFO] [stdout] | ------------- `LocalTZConfig` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/icalwrap/icalcomponent.rs:38:29 [INFO] [stdout] | [INFO] [stdout] 38 | fn get_properties_by_name(&self, property_name: &str) -> Vec { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 38 | fn get_properties_by_name(&self, property_name: &str) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/icalwrap/icalcomponent.rs:46:27 [INFO] [stdout] | [INFO] [stdout] 46 | fn get_property_by_name(&self, property_name: &str) -> Option { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 46 | fn get_property_by_name(&self, property_name: &str) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/icalwrap/icalvcalendar.rs:266:22 [INFO] [stdout] | [INFO] [stdout] 266 | pub fn events_iter(&self) -> IcalEventIter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 266 | pub fn events_iter(&self) -> IcalEventIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/khevent.rs:136:33 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn get_properties_by_name(&self, property_name: &str) -> Vec { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 136 | pub fn get_properties_by_name(&self, property_name: &str) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 34.41s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: cexpr v0.3.5, nom v4.2.3 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "570c518c06292f5613df95f035f0337cd6dc78d1764f221843d2624a6ae1214d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "570c518c06292f5613df95f035f0337cd6dc78d1764f221843d2624a6ae1214d", kill_on_drop: false }` [INFO] [stdout] 570c518c06292f5613df95f035f0337cd6dc78d1764f221843d2624a6ae1214d