[INFO] fetching crate libical 0.1.0... [INFO] linting libical-0.1.0 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate libical 0.1.0 into /workspace/builds/worker-2-tc1/source [INFO] started tweaking crates.io crate libical 0.1.0 [INFO] finished tweaking crates.io crate libical 0.1.0 [INFO] tweaked toml for crates.io crate libical 0.1.0 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate libical 0.1.0 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] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 141 packages to latest compatible versions [INFO] [stderr] Adding assert_fs v0.13.1 (available: v1.1.3) [INFO] [stderr] Adding indoc v0.3.6 (available: v2.0.7) [INFO] [stderr] Adding indoc-impl v0.3.6 (available: v0.3.7) [INFO] [stderr] Adding itertools v0.8.2 (available: v0.14.0) [INFO] [stderr] Adding predicates v1.0.8 (available: v3.1.4) [INFO] [stderr] Adding pretty_assertions v0.6.1 (available: v1.4.1) [INFO] [stderr] Adding proc-macro2 v0.3.5 (available: v0.3.8) [INFO] [stderr] Adding uuid v0.8.2 (available: v1.22.0) [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] Downloading crates ... [INFO] [stderr] Downloaded predicates v1.0.8 [INFO] [stderr] Downloaded unindent v0.1.11 [INFO] [stderr] Downloaded libical-sys v0.1.3 [INFO] [stderr] Downloaded ctor v0.1.26 [INFO] [stderr] Downloaded uuid v0.8.2 [INFO] [stderr] Downloaded float-cmp v0.8.0 [INFO] [stderr] Downloaded termtree v0.5.1 [INFO] [stderr] Downloaded unicode-xid v0.1.0 [INFO] [stderr] Downloaded globwalk v0.7.3 [INFO] [stderr] Downloaded which v1.0.5 [INFO] [stderr] Downloaded doc-comment v0.3.4 [INFO] [stderr] Downloaded assert_fs v0.13.1 [INFO] [stderr] Downloaded ignore v0.4.25 [INFO] [stderr] Downloaded libloading v0.5.2 [INFO] [stderr] Downloaded clang-sys v0.26.4 [INFO] [stderr] Downloaded nom v4.2.3 [INFO] [stderr] Downloaded quote v0.5.2 [INFO] [stderr] Downloaded indoc v0.3.6 [INFO] [stderr] Downloaded version_check v0.1.5 [INFO] [stderr] Downloaded env_logger v0.6.2 [INFO] [stderr] Downloaded normalize-line-endings v0.3.0 [INFO] [stderr] Downloaded globset v0.4.18 [INFO] [stderr] Downloaded bstr v1.12.1 [INFO] [stderr] Downloaded indoc-impl v0.3.6 [INFO] [stderr] Downloaded cexpr v0.3.6 [INFO] [stderr] Downloaded proc-macro2 v0.3.5 [INFO] [stderr] Downloaded predicates-tree v1.0.13 [INFO] [stderr] Downloaded pretty_assertions v0.6.1 [INFO] [stderr] Downloaded output_vt100 v0.1.3 [INFO] [stderr] Downloaded bindgen v0.43.2 [INFO] [stderr] Downloaded predicates-core v1.0.10 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c64c20048084d637f34b9c294907d11695aea62746d8dd051b172409ae859660 [INFO] running `Command { std: "docker" "start" "-a" "c64c20048084d637f34b9c294907d11695aea62746d8dd051b172409ae859660", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c64c20048084d637f34b9c294907d11695aea62746d8dd051b172409ae859660", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c64c20048084d637f34b9c294907d11695aea62746d8dd051b172409ae859660", kill_on_drop: false }` [INFO] [stdout] c64c20048084d637f34b9c294907d11695aea62746d8dd051b172409ae859660 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6c39d7ff4a3481730ab88200e721e01ed6596cb9d6074f2dfaa23723745a75a3 [INFO] running `Command { std: "docker" "start" "-a" "6c39d7ff4a3481730ab88200e721e01ed6596cb9d6074f2dfaa23723745a75a3", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling version_check v0.1.5 [INFO] [stderr] Compiling glob v0.2.11 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling unicode-width v0.1.14 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling bindgen v0.43.2 [INFO] [stderr] Compiling cc v1.2.57 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling ansi_term v0.12.1 [INFO] [stderr] Compiling proc-macro2 v0.3.5 [INFO] [stderr] Compiling vec_map v0.8.2 [INFO] [stderr] Compiling humantime v1.3.0 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling strsim v0.8.0 [INFO] [stderr] Compiling termcolor v1.4.1 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling quote v0.5.2 [INFO] [stderr] Compiling nom v4.2.3 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling clang-sys v0.26.4 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling peeking_take_while v0.1.2 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling proc-macro-hack v0.5.20+deprecated [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Checking bstr v1.12.1 [INFO] [stderr] Compiling cexpr v0.3.6 [INFO] [stderr] Checking difference v2.0.0 [INFO] [stderr] Compiling doc-comment v0.3.4 [INFO] [stderr] Compiling unindent v0.1.11 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Checking linux-raw-sys v0.12.1 [INFO] [stderr] Checking predicates-core v1.0.10 [INFO] [stderr] Checking termtree v0.5.1 [INFO] [stderr] Checking normalize-line-endings v0.3.0 [INFO] [stderr] Checking float-cmp v0.8.0 [INFO] [stderr] Checking iana-time-zone v0.1.65 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Checking once_cell v1.21.4 [INFO] [stderr] Checking chrono v0.4.44 [INFO] [stderr] Checking predicates-tree v1.0.13 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling which v1.0.5 [INFO] [stderr] Checking crossbeam-deque v0.8.6 [INFO] [stderr] Checking itertools v0.8.2 [INFO] [stderr] Checking regex-automata v0.4.14 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Compiling libloading v0.5.2 [INFO] [stderr] Compiling clap v2.34.0 [INFO] [stderr] Checking maplit v1.0.2 [INFO] [stderr] Checking pretty_assertions v0.6.1 [INFO] [stderr] Checking getrandom v0.2.17 [INFO] [stderr] Checking fs2 v0.4.3 [INFO] [stderr] Checking uuid v0.8.2 [INFO] [stderr] Checking globset v0.4.18 [INFO] [stderr] Checking regex v1.12.3 [INFO] [stderr] Checking tempfile v3.27.0 [INFO] [stderr] Checking ignore v0.4.25 [INFO] [stderr] Checking predicates v1.0.8 [INFO] [stderr] Checking globwalk v0.7.3 [INFO] [stderr] Checking assert_fs v0.13.1 [INFO] [stderr] Compiling indoc-impl v0.3.6 [INFO] [stderr] Checking indoc v0.3.6 [INFO] [stderr] Compiling env_logger v0.6.2 [INFO] [stderr] Compiling libical-sys v0.1.3 [INFO] [stderr] Checking libical v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/lib.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | use ical; // extern crate [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: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/component.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | self: &Self, [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] 20 - self: &Self, [INFO] [stdout] 20 + &self, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime` instead [INFO] [stdout] --> src/time.rs:6:14 [INFO] [stdout] | [INFO] [stdout] 6 | use chrono::{Date, DateTime, Local, TimeZone, Utc}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime` instead [INFO] [stdout] --> src/time.rs:183:11 [INFO] [stdout] | [INFO] [stdout] 183 | impl From> for IcalTime { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime` instead [INFO] [stdout] --> src/time.rs:193:11 [INFO] [stdout] | [INFO] [stdout] 193 | impl From> for IcalTime { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime` instead [INFO] [stdout] --> src/time.rs:200:25 [INFO] [stdout] | [INFO] [stdout] 200 | impl From for Date { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime` instead [INFO] [stdout] --> src/time.rs:212:25 [INFO] [stdout] | [INFO] [stdout] 212 | impl From for Date { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime` instead [INFO] [stdout] --> src/time.rs:184:19 [INFO] [stdout] | [INFO] [stdout] 184 | fn from(date: Date) -> IcalTime { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime` instead [INFO] [stdout] --> src/time.rs:194:19 [INFO] [stdout] | [INFO] [stdout] 194 | fn from(date: Date) -> IcalTime { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime` instead [INFO] [stdout] --> src/time.rs:201:32 [INFO] [stdout] | [INFO] [stdout] 201 | fn from(time: IcalTime) -> Date { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime` instead [INFO] [stdout] --> src/time.rs:213:32 [INFO] [stdout] | [INFO] [stdout] 213 | fn from(time: IcalTime) -> Date { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime` instead [INFO] [stdout] --> src/utils/dateutil.rs:7:53 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn date_from_str(date_str: &str) -> ParseResult> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime` instead [INFO] [stdout] --> src/utils/dateutil.rs:23:54 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn week_from_str_begin(date_str: &str) -> Result, String> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime` instead [INFO] [stdout] --> src/utils/dateutil.rs:63:52 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn week_from_str_end(date_str: &str) -> Result, String> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime` instead [INFO] [stdout] --> src/utils/misc.rs:22:34 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn get_bucket_for_date(date: Date) -> String { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::Date::::and_hms`: Use and_hms_opt() instead [INFO] [stdout] --> src/time.rs:185:50 [INFO] [stdout] | [INFO] [stdout] 185 | let timestamp = date.with_timezone(&Utc).and_hms(0, 0, 0).timestamp(); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::Date::::and_hms`: Use and_hms_opt() instead [INFO] [stdout] --> src/time.rs:195:30 [INFO] [stdout] | [INFO] [stdout] 195 | let timestamp = date.and_hms(0, 0, 0).timestamp(); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead [INFO] [stdout] --> src/time.rs:202:15 [INFO] [stdout] | [INFO] [stdout] 202 | Local.timestamp(time.timestamp(), 0).date() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::DateTime::::date`: Use `date_naive()` instead [INFO] [stdout] --> src/time.rs:202:46 [INFO] [stdout] | [INFO] [stdout] 202 | Local.timestamp(time.timestamp(), 0).date() [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead [INFO] [stdout] --> src/time.rs:208:15 [INFO] [stdout] | [INFO] [stdout] 208 | Local.timestamp(time.timestamp(), 0) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead [INFO] [stdout] --> src/time.rs:214:13 [INFO] [stdout] | [INFO] [stdout] 214 | Utc.timestamp(time.timestamp(), 0).date() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::DateTime::::date`: Use `date_naive()` instead [INFO] [stdout] --> src/time.rs:214:44 [INFO] [stdout] | [INFO] [stdout] 214 | Utc.timestamp(time.timestamp(), 0).date() [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead [INFO] [stdout] --> src/time.rs:220:13 [INFO] [stdout] | [INFO] [stdout] 220 | Utc.timestamp(time.timestamp(), 0) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::DateTime::::date`: Use `date_naive()` instead [INFO] [stdout] --> src/utils/dateutil.rs:9:32 [INFO] [stdout] | [INFO] [stdout] 9 | return Ok(Local::now().date()); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::from_local_date`: use `from_local_datetime()` instead [INFO] [stdout] --> src/utils/dateutil.rs:12:14 [INFO] [stdout] | [INFO] [stdout] 12 | Ok(Local.from_local_date(naive_date).unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::isoywd`: use `from_local_datetime()` with a `NaiveDateTime` instead [INFO] [stdout] --> src/utils/dateutil.rs:26:25 [INFO] [stdout] | [INFO] [stdout] 26 | return Ok(Local.isoywd(now.year(), now.iso_week().week(), Weekday::Mon)); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::from_local_date`: use `from_local_datetime()` instead [INFO] [stdout] --> src/utils/dateutil.rs:29:25 [INFO] [stdout] | [INFO] [stdout] 29 | return Ok(Local.from_local_date(date).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::from_local_date`: use `from_local_datetime()` instead [INFO] [stdout] --> src/utils/dateutil.rs:34:25 [INFO] [stdout] | [INFO] [stdout] 34 | return Ok(Local.from_local_date(date).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::isoywd`: use `from_local_datetime()` with a `NaiveDateTime` instead [INFO] [stdout] --> src/utils/dateutil.rs:66:25 [INFO] [stdout] | [INFO] [stdout] 66 | return Ok(Local.isoywd(now.year(), now.iso_week().week(), Weekday::Sun)); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::from_local_date`: use `from_local_datetime()` instead [INFO] [stdout] --> src/utils/dateutil.rs:69:25 [INFO] [stdout] | [INFO] [stdout] 69 | return Ok(Local.from_local_date(date).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::from_local_date`: use `from_local_datetime()` instead [INFO] [stdout] --> src/utils/dateutil.rs:74:25 [INFO] [stdout] | [INFO] [stdout] 74 | return Ok(Local.from_local_date(date).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_opt`: use `DateTime::from_timestamp` instead [INFO] [stdout] --> src/utils/dateutil.rs:81:41 [INFO] [stdout] | [INFO] [stdout] 81 | let naive_datetime = NaiveDateTime::from_timestamp_opt(timestamp_i64, 0)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead [INFO] [stdout] --> src/utils/dateutil.rs:82:45 [INFO] [stdout] | [INFO] [stdout] 82 | let utc_time: DateTime = DateTime::from_utc(naive_datetime, Utc); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/lib.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | use ical; // extern crate [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: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/component.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | self: &Self, [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] 20 - self: &Self, [INFO] [stdout] 20 + &self, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/time.rs:254:49 [INFO] [stdout] | [INFO] [stdout] 254 | 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] = 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] 254 - let time = IcalTime::floating_ymd(2018, 02, 03); [INFO] [stdout] 254 + 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] 254 | 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/time.rs:254:53 [INFO] [stdout] | [INFO] [stdout] 254 | 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] 254 - let time = IcalTime::floating_ymd(2018, 02, 03); [INFO] [stdout] 254 + 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] 254 | 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/time.rs:260:38 [INFO] [stdout] | [INFO] [stdout] 260 | 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] 260 - let utc_date = Utc.ymd(2014, 01, 01); [INFO] [stdout] 260 + 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] 260 | 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/time.rs:260:42 [INFO] [stdout] | [INFO] [stdout] 260 | 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] 260 - let utc_date = Utc.ymd(2014, 01, 01); [INFO] [stdout] 260 + 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] 260 | 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/time.rs:269:50 [INFO] [stdout] | [INFO] [stdout] 269 | 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] 269 - let time = IcalTimeZone::utc().ymd(2014, 02, 02); [INFO] [stdout] 269 + 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] 269 | 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/time.rs:269:54 [INFO] [stdout] | [INFO] [stdout] 269 | 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] 269 - let time = IcalTimeZone::utc().ymd(2014, 02, 02); [INFO] [stdout] 269 + 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] 269 | 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/time.rs:271:34 [INFO] [stdout] | [INFO] [stdout] 271 | 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] 271 - assert_eq!(Utc.ymd(2014, 02, 02), date); [INFO] [stdout] 271 + 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] 271 | 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/time.rs:271:38 [INFO] [stdout] | [INFO] [stdout] 271 | 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] 271 - assert_eq!(Utc.ymd(2014, 02, 02), date); [INFO] [stdout] 271 + 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] 271 | 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/time.rs:276:50 [INFO] [stdout] | [INFO] [stdout] 276 | 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] 276 - let time = IcalTimeZone::utc().ymd(2014, 02, 02).and_hms(13, 37, 00); [INFO] [stdout] 276 + 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] 276 | 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/time.rs:276:54 [INFO] [stdout] | [INFO] [stdout] 276 | 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] 276 - let time = IcalTimeZone::utc().ymd(2014, 02, 02).and_hms(13, 37, 00); [INFO] [stdout] 276 + 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] 276 | 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/time.rs:278:34 [INFO] [stdout] | [INFO] [stdout] 278 | 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] 278 - assert_eq!(Utc.ymd(2014, 02, 02).and_hms(13, 37, 00), datetime); [INFO] [stdout] 278 + 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] 278 | 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/time.rs:278:38 [INFO] [stdout] | [INFO] [stdout] 278 | 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] 278 - assert_eq!(Utc.ymd(2014, 02, 02).and_hms(13, 37, 00), datetime); [INFO] [stdout] 278 + 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] 278 | 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/utils/dateutil.rs:149:32 [INFO] [stdout] | [INFO] [stdout] 149 | 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] 149 - let dt = Utc.ymd(2019, 01, 11).and_hms(19, 24, 47); [INFO] [stdout] 149 + 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] 149 | 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/vevent.rs:271:42 [INFO] [stdout] | [INFO] [stdout] 271 | 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] 271 - IcalTime::floating_ymd(2007, 06, 28).and_hms(13, 29, 00), [INFO] [stdout] 271 + 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] 271 | 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/testdata.rs:303:60 [INFO] [stdout] | [INFO] [stdout] 303 | 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] 303 - pub static ref NOW_TEST: DateTime = Utc.ymd(2013, 01, 01).and_hms(1, 2, 3); [INFO] [stdout] 303 + 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] 303 | 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:303:64 [INFO] [stdout] | [INFO] [stdout] 303 | 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] 303 - pub static ref NOW_TEST: DateTime = Utc.ymd(2013, 01, 01).and_hms(1, 2, 3); [INFO] [stdout] 303 + 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] 303 | 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: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime` instead [INFO] [stdout] --> src/time.rs:6:14 [INFO] [stdout] | [INFO] [stdout] 6 | use chrono::{Date, DateTime, Local, TimeZone, Utc}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime` instead [INFO] [stdout] --> src/time.rs:183:11 [INFO] [stdout] | [INFO] [stdout] 183 | impl From> for IcalTime { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime` instead [INFO] [stdout] --> src/time.rs:193:11 [INFO] [stdout] | [INFO] [stdout] 193 | impl From> for IcalTime { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime` instead [INFO] [stdout] --> src/time.rs:200:25 [INFO] [stdout] | [INFO] [stdout] 200 | impl From for Date { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime` instead [INFO] [stdout] --> src/time.rs:212:25 [INFO] [stdout] | [INFO] [stdout] 212 | impl From for Date { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime` instead [INFO] [stdout] --> src/time.rs:184:19 [INFO] [stdout] | [INFO] [stdout] 184 | fn from(date: Date) -> IcalTime { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime` instead [INFO] [stdout] --> src/time.rs:194:19 [INFO] [stdout] | [INFO] [stdout] 194 | fn from(date: Date) -> IcalTime { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime` instead [INFO] [stdout] --> src/time.rs:201:32 [INFO] [stdout] | [INFO] [stdout] 201 | fn from(time: IcalTime) -> Date { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime` instead [INFO] [stdout] --> src/time.rs:213:32 [INFO] [stdout] | [INFO] [stdout] 213 | fn from(time: IcalTime) -> Date { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime` instead [INFO] [stdout] --> src/time.rs:270:19 [INFO] [stdout] | [INFO] [stdout] 270 | let date: Date = time.into(); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime` instead [INFO] [stdout] --> src/utils/dateutil.rs:7:53 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn date_from_str(date_str: &str) -> ParseResult> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime` instead [INFO] [stdout] --> src/utils/dateutil.rs:23:54 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn week_from_str_begin(date_str: &str) -> Result, String> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime` instead [INFO] [stdout] --> src/utils/dateutil.rs:63:52 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn week_from_str_end(date_str: &str) -> Result, String> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime` instead [INFO] [stdout] --> src/utils/misc.rs:22:34 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn get_bucket_for_date(date: Date) -> String { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/component.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | 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/duration.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | 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] 56 - return Err(format!("Could not parse duration {}", s)); [INFO] [stdout] 56 + 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/timezone.rs:65:64 [INFO] [stdout] | [INFO] [stdout] 65 | 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] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/utils/fileutil.rs:54:35 [INFO] [stdout] | [INFO] [stdout] 54 | 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] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` 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:8:29 [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:31 [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/vcalendar.rs:74:28 [INFO] [stdout] | [INFO] [stdout] 74 | 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] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 74 - return Err(io::Error::new(io::ErrorKind::Other, "calendar has no path")); [INFO] [stdout] 74 + 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/vcalendar.rs:81:28 [INFO] [stdout] | [INFO] [stdout] 81 | return Err(io::Error::new( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 82 | | io::ErrorKind::Other, [INFO] [stdout] 83 | | format!("expected VCALENDAR component, got {}", kind), [INFO] [stdout] 84 | | )); [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] 81 ~ return Err(io::Error::other( [INFO] [stdout] 82 ~ 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 `vcalendar::IcalVCalendar` [INFO] [stdout] --> src/vcalendar.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | / pub fn to_string(&self) -> String { [INFO] [stdout] 102 | | unsafe { [INFO] [stdout] 103 | | let ical_cstr = CStr::from_ptr(ical::icalcomponent_as_ical_string(self.get_ptr())); [INFO] [stdout] 104 | | ical_cstr.to_string_lossy().into_owned() [INFO] [stdout] 105 | | } [INFO] [stdout] 106 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `vcalendar::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/vcalendar.rs:123:47 [INFO] [stdout] | [INFO] [stdout] 123 | 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/vcalendar.rs:282:43 [INFO] [stdout] | [INFO] [stdout] 282 | 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/vcalendar.rs:365:39 [INFO] [stdout] | [INFO] [stdout] 365 | 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: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/component.rs:40:31 [INFO] [stdout] | [INFO] [stdout] 40 | 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] 40 | 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/component.rs:48:29 [INFO] [stdout] | [INFO] [stdout] 48 | 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] 48 | 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/vcalendar.rs:268:24 [INFO] [stdout] | [INFO] [stdout] 268 | 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] 268 | pub fn events_iter(&self) -> IcalEventIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::Date::::and_hms`: Use and_hms_opt() instead [INFO] [stdout] --> src/time.rs:185:50 [INFO] [stdout] | [INFO] [stdout] 185 | let timestamp = date.with_timezone(&Utc).and_hms(0, 0, 0).timestamp(); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::Date::::and_hms`: Use and_hms_opt() instead [INFO] [stdout] --> src/time.rs:195:30 [INFO] [stdout] | [INFO] [stdout] 195 | let timestamp = date.and_hms(0, 0, 0).timestamp(); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead [INFO] [stdout] --> src/time.rs:202:15 [INFO] [stdout] | [INFO] [stdout] 202 | Local.timestamp(time.timestamp(), 0).date() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::DateTime::::date`: Use `date_naive()` instead [INFO] [stdout] --> src/time.rs:202:46 [INFO] [stdout] | [INFO] [stdout] 202 | Local.timestamp(time.timestamp(), 0).date() [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead [INFO] [stdout] --> src/time.rs:208:15 [INFO] [stdout] | [INFO] [stdout] 208 | Local.timestamp(time.timestamp(), 0) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead [INFO] [stdout] --> src/time.rs:214:13 [INFO] [stdout] | [INFO] [stdout] 214 | Utc.timestamp(time.timestamp(), 0).date() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::DateTime::::date`: Use `date_naive()` instead [INFO] [stdout] --> src/time.rs:214:44 [INFO] [stdout] | [INFO] [stdout] 214 | Utc.timestamp(time.timestamp(), 0).date() [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead [INFO] [stdout] --> src/time.rs:220:13 [INFO] [stdout] | [INFO] [stdout] 220 | Utc.timestamp(time.timestamp(), 0) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead [INFO] [stdout] --> src/time.rs:260:28 [INFO] [stdout] | [INFO] [stdout] 260 | let utc_date = Utc.ymd(2014, 01, 01); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead [INFO] [stdout] --> src/time.rs:271:24 [INFO] [stdout] | [INFO] [stdout] 271 | assert_eq!(Utc.ymd(2014, 02, 02), date); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead [INFO] [stdout] --> src/time.rs:278:24 [INFO] [stdout] | [INFO] [stdout] 278 | assert_eq!(Utc.ymd(2014, 02, 02).and_hms(13, 37, 00), datetime); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::Date::::and_hms`: Use and_hms_opt() instead [INFO] [stdout] --> src/time.rs:278:42 [INFO] [stdout] | [INFO] [stdout] 278 | assert_eq!(Utc.ymd(2014, 02, 02).and_hms(13, 37, 00), datetime); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::DateTime::::date`: Use `date_naive()` instead [INFO] [stdout] --> src/utils/dateutil.rs:9:32 [INFO] [stdout] | [INFO] [stdout] 9 | return Ok(Local::now().date()); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::from_local_date`: use `from_local_datetime()` instead [INFO] [stdout] --> src/utils/dateutil.rs:12:14 [INFO] [stdout] | [INFO] [stdout] 12 | Ok(Local.from_local_date(naive_date).unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::isoywd`: use `from_local_datetime()` with a `NaiveDateTime` instead [INFO] [stdout] --> src/utils/dateutil.rs:26:25 [INFO] [stdout] | [INFO] [stdout] 26 | return Ok(Local.isoywd(now.year(), now.iso_week().week(), Weekday::Mon)); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::from_local_date`: use `from_local_datetime()` instead [INFO] [stdout] --> src/utils/dateutil.rs:29:25 [INFO] [stdout] | [INFO] [stdout] 29 | return Ok(Local.from_local_date(date).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::from_local_date`: use `from_local_datetime()` instead [INFO] [stdout] --> src/utils/dateutil.rs:34:25 [INFO] [stdout] | [INFO] [stdout] 34 | return Ok(Local.from_local_date(date).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::isoywd`: use `from_local_datetime()` with a `NaiveDateTime` instead [INFO] [stdout] --> src/utils/dateutil.rs:66:25 [INFO] [stdout] | [INFO] [stdout] 66 | return Ok(Local.isoywd(now.year(), now.iso_week().week(), Weekday::Sun)); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::from_local_date`: use `from_local_datetime()` instead [INFO] [stdout] --> src/utils/dateutil.rs:69:25 [INFO] [stdout] | [INFO] [stdout] 69 | return Ok(Local.from_local_date(date).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::from_local_date`: use `from_local_datetime()` instead [INFO] [stdout] --> src/utils/dateutil.rs:74:25 [INFO] [stdout] | [INFO] [stdout] 74 | return Ok(Local.from_local_date(date).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_opt`: use `DateTime::from_timestamp` instead [INFO] [stdout] --> src/utils/dateutil.rs:81:41 [INFO] [stdout] | [INFO] [stdout] 81 | let naive_datetime = NaiveDateTime::from_timestamp_opt(timestamp_i64, 0)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead [INFO] [stdout] --> src/utils/dateutil.rs:82:45 [INFO] [stdout] | [INFO] [stdout] 82 | let utc_time: DateTime = DateTime::from_utc(naive_datetime, Utc); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::DateTime::::date`: Use `date_naive()` instead [INFO] [stdout] --> src/utils/dateutil.rs:95:33 [INFO] [stdout] | [INFO] [stdout] 95 | assert_eq!(Local::now().date(), date); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::DateTime::::date`: Use `date_naive()` instead [INFO] [stdout] --> src/utils/dateutil.rs:97:33 [INFO] [stdout] | [INFO] [stdout] 97 | assert_eq!(Local::now().date(), date); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead [INFO] [stdout] --> src/utils/dateutil.rs:149:22 [INFO] [stdout] | [INFO] [stdout] 149 | let dt = Utc.ymd(2019, 01, 11).and_hms(19, 24, 47); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::Date::::and_hms`: Use and_hms_opt() instead [INFO] [stdout] --> src/utils/dateutil.rs:149:40 [INFO] [stdout] | [INFO] [stdout] 149 | let dt = Utc.ymd(2019, 01, 11).and_hms(19, 24, 47); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead [INFO] [stdout] --> src/testdata.rs:303:50 [INFO] [stdout] | [INFO] [stdout] 303 | pub static ref NOW_TEST: DateTime = Utc.ymd(2013, 01, 01).and_hms(1, 2, 3); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::Date::::and_hms`: Use and_hms_opt() instead [INFO] [stdout] --> src/testdata.rs:303:68 [INFO] [stdout] | [INFO] [stdout] 303 | pub static ref NOW_TEST: DateTime = Utc.ymd(2013, 01, 01).and_hms(1, 2, 3); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/component.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | 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/duration.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | 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] 56 - return Err(format!("Could not parse duration {}", s)); [INFO] [stdout] 56 + 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/duration.rs:178:17 [INFO] [stdout] | [INFO] [stdout] 178 | 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/duration.rs:179:17 [INFO] [stdout] | [INFO] [stdout] 179 | 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/timezone.rs:65:64 [INFO] [stdout] | [INFO] [stdout] 65 | 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] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/utils/fileutil.rs:54:35 [INFO] [stdout] | [INFO] [stdout] 54 | 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] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` 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:8:29 [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:31 [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/vcalendar.rs:74:28 [INFO] [stdout] | [INFO] [stdout] 74 | 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] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 74 - return Err(io::Error::new(io::ErrorKind::Other, "calendar has no path")); [INFO] [stdout] 74 + 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/vcalendar.rs:81:28 [INFO] [stdout] | [INFO] [stdout] 81 | return Err(io::Error::new( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 82 | | io::ErrorKind::Other, [INFO] [stdout] 83 | | format!("expected VCALENDAR component, got {}", kind), [INFO] [stdout] 84 | | )); [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] 81 ~ return Err(io::Error::other( [INFO] [stdout] 82 ~ 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 `vcalendar::IcalVCalendar` [INFO] [stdout] --> src/vcalendar.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | / pub fn to_string(&self) -> String { [INFO] [stdout] 102 | | unsafe { [INFO] [stdout] 103 | | let ical_cstr = CStr::from_ptr(ical::icalcomponent_as_ical_string(self.get_ptr())); [INFO] [stdout] 104 | | ical_cstr.to_string_lossy().into_owned() [INFO] [stdout] 105 | | } [INFO] [stdout] 106 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `vcalendar::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/vcalendar.rs:123:47 [INFO] [stdout] | [INFO] [stdout] 123 | 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/vcalendar.rs:282:43 [INFO] [stdout] | [INFO] [stdout] 282 | 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/vcalendar.rs:365:39 [INFO] [stdout] | [INFO] [stdout] 365 | 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: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/component.rs:40:31 [INFO] [stdout] | [INFO] [stdout] 40 | 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] 40 | 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/component.rs:48:29 [INFO] [stdout] | [INFO] [stdout] 48 | 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] 48 | 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/vcalendar.rs:268:24 [INFO] [stdout] | [INFO] [stdout] 268 | 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] 268 | pub fn events_iter(&self) -> IcalEventIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 31.41s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: cexpr v0.3.6, 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" "6c39d7ff4a3481730ab88200e721e01ed6596cb9d6074f2dfaa23723745a75a3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6c39d7ff4a3481730ab88200e721e01ed6596cb9d6074f2dfaa23723745a75a3", kill_on_drop: false }` [INFO] [stdout] 6c39d7ff4a3481730ab88200e721e01ed6596cb9d6074f2dfaa23723745a75a3