[INFO] fetching crate zoneinfo_parse 0.1.4... [INFO] testing zoneinfo_parse-0.1.4 against try#2440211fe03bc45c89b6dc1a3df18382ce91e32b for pr-146098-1 [INFO] extracting crate zoneinfo_parse 0.1.4 into /workspace/builds/worker-2-tc2/source [INFO] started tweaking crates.io crate zoneinfo_parse 0.1.4 [INFO] finished tweaking crates.io crate zoneinfo_parse 0.1.4 [INFO] tweaked toml for crates.io crate zoneinfo_parse 0.1.4 written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate zoneinfo_parse 0.1.4 on toolchain 2440211fe03bc45c89b6dc1a3df18382ce91e32b [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "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" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 22 packages to latest compatible versions [INFO] [stderr] Adding datetime v0.4.7 (available: v0.5.2) [INFO] [stderr] Adding lazy_static v0.2.11 (available: v1.5.0) [INFO] [stderr] Adding regex v0.1.80 (available: v1.11.3) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 455200dbd6d1d691fae53f508049064ba17a304c733efc2fb8d1bb0792baf5d7 [INFO] running `Command { std: "docker" "start" "-a" "455200dbd6d1d691fae53f508049064ba17a304c733efc2fb8d1bb0792baf5d7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "455200dbd6d1d691fae53f508049064ba17a304c733efc2fb8d1bb0792baf5d7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "455200dbd6d1d691fae53f508049064ba17a304c733efc2fb8d1bb0792baf5d7", kill_on_drop: false }` [INFO] [stdout] 455200dbd6d1d691fae53f508049064ba17a304c733efc2fb8d1bb0792baf5d7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 88482adcc83b05635e3a89857d2ff212f2841c6496eabc91bcdd596b90fc1b91 [INFO] running `Command { std: "docker" "start" "-a" "88482adcc83b05635e3a89857d2ff212f2841c6496eabc91bcdd596b90fc1b91", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling winapi-build v0.1.1 [INFO] [stderr] Compiling winapi v0.2.8 [INFO] [stderr] Compiling memchr v0.1.11 [INFO] [stderr] Compiling nom v1.2.4 [INFO] [stderr] Compiling locale v0.2.2 [INFO] [stderr] Compiling utf8-ranges v0.1.3 [INFO] [stderr] Compiling pad v0.1.6 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling regex-syntax v0.3.9 [INFO] [stderr] Compiling kernel32-sys v0.2.2 [INFO] [stderr] Compiling lazy_static v0.2.11 [INFO] [stderr] Compiling aho-corasick v0.5.3 [INFO] [stderr] Compiling iso8601 v0.1.1 [INFO] [stderr] Compiling thread-id v2.0.0 [INFO] [stderr] Compiling thread_local v0.2.7 [INFO] [stderr] Compiling datetime v0.4.7 [INFO] [stderr] Compiling regex v0.1.80 [INFO] [stderr] Compiling zoneinfo_parse v0.1.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/line.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | / /// A set of regexes to test against. [INFO] [stdout] 92 | | /// [INFO] [stdout] 93 | | /// All of these regexes use the `(?x)` flag, which means they support [INFO] [stdout] 94 | | /// comments and whitespace directly in the regex string! [INFO] [stdout] | |_--------------------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:221:29 [INFO] [stdout] | [INFO] [stdout] 221 | let from_year = try!(caps.name("from").unwrap().parse()); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:227:33 [INFO] [stdout] | [INFO] [stdout] 227 | to => Some(try!(to.parse())), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:239:32 [INFO] [stdout] | [INFO] [stdout] 239 | let month = try!(caps.name("in").unwrap().parse()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:240:32 [INFO] [stdout] | [INFO] [stdout] 240 | let day = try!(caps.name("on").unwrap().parse()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | let time = try!(caps.name("at").unwrap().parse()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:242:32 [INFO] [stdout] | [INFO] [stdout] 242 | let time_to_add = try!(caps.name("save").unwrap().parse()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:301:24 [INFO] [stdout] | [INFO] [stdout] 301 | let info = try!(ZoneInfo::from_captures(caps)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:337:29 [INFO] [stdout] | [INFO] [stdout] 337 | let utc_offset = try!(caps.name("gmtoff").unwrap().parse()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:338:29 [INFO] [stdout] | [INFO] [stdout] 338 | let saving = try!(Saving::from_str(caps.name("rulessave").unwrap())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:345:82 [INFO] [stdout] | [INFO] [stdout] 345 | ... (Some(y), Some(m), Some(d), Some(t)) => Some(ChangeTime::UntilTime (try!(y.parse()), try!(m.parse()), try!(d.parse()), try!(t.pars... [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:345:99 [INFO] [stdout] | [INFO] [stdout] 345 | ... (Some(y), Some(m), Some(d), Some(t)) => Some(ChangeTime::UntilTime (try!(y.parse()), try!(m.parse()), try!(d.parse()), try!(t.pars... [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:345:116 [INFO] [stdout] | [INFO] [stdout] 345 | ... (Some(y), Some(m), Some(d), Some(t)) => Some(ChangeTime::UntilTime (try!(y.parse()), try!(m.parse()), try!(d.parse()), try!(t.pars... [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:345:133 [INFO] [stdout] | [INFO] [stdout] 345 | ... (Some(y), Some(m), Some(d), Some(t)) => Some(ChangeTime::UntilTime (try!(y.parse()), try!(m.parse()), try!(d.parse()), try!(t.pars... [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:346:82 [INFO] [stdout] | [INFO] [stdout] 346 | (Some(y), Some(m), Some(d), _ ) => Some(ChangeTime::UntilDay (try!(y.parse()), try!(m.parse()), try!(d.parse()))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:346:99 [INFO] [stdout] | [INFO] [stdout] 346 | (Some(y), Some(m), Some(d), _ ) => Some(ChangeTime::UntilDay (try!(y.parse()), try!(m.parse()), try!(d.parse()))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:346:116 [INFO] [stdout] | [INFO] [stdout] 346 | (Some(y), Some(m), Some(d), _ ) => Some(ChangeTime::UntilDay (try!(y.parse()), try!(m.parse()), try!(d.parse()))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:347:82 [INFO] [stdout] | [INFO] [stdout] 347 | (Some(y), Some(m), _ , _ ) => Some(ChangeTime::UntilMonth (try!(y.parse()), try!(m.parse()))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:347:99 [INFO] [stdout] | [INFO] [stdout] 347 | (Some(y), Some(m), _ , _ ) => Some(ChangeTime::UntilMonth (try!(y.parse()), try!(m.parse()))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:348:82 [INFO] [stdout] | [INFO] [stdout] 348 | (Some(y), _ , _ , _ ) => Some(ChangeTime::UntilYear (try!(y.parse()))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:391:24 [INFO] [stdout] | [INFO] [stdout] 391 | let time = try!(input.parse()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:640:27 [INFO] [stdout] | [INFO] [stdout] 640 | let weekday = try!(input[4..].parse()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:826:35 [INFO] [stdout] | [INFO] [stdout] 826 | Ok(Line::Continuation(try!(ZoneInfo::from_captures(caps)))) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated trait `std::ascii::AsciiExt`: use inherent methods instead [INFO] [stdout] --> src/line.rs:80:17 [INFO] [stdout] | [INFO] [stdout] 80 | use std::ascii::AsciiExt; [INFO] [stdout] | ^^^^^^^^ [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/line.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | / lazy_static! { [INFO] [stdout] 96 | | [INFO] [stdout] 97 | | /// Format of a Rule line: one capturing group per field. [INFO] [stdout] 98 | | static ref RULE_LINE: Regex = Regex::new(r##"(?x) ^ [INFO] [stdout] ... | [INFO] [stdout] 170 | | $"##).unwrap(); [INFO] [stdout] 171 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [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/line.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | / lazy_static! { [INFO] [stdout] 96 | | [INFO] [stdout] 97 | | /// Format of a Rule line: one capturing group per field. [INFO] [stdout] 98 | | static ref RULE_LINE: Regex = Regex::new(r##"(?x) ^ [INFO] [stdout] ... | [INFO] [stdout] 170 | | $"##).unwrap(); [INFO] [stdout] 171 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [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/line.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | / lazy_static! { [INFO] [stdout] 96 | | [INFO] [stdout] 97 | | /// Format of a Rule line: one capturing group per field. [INFO] [stdout] 98 | | static ref RULE_LINE: Regex = Regex::new(r##"(?x) ^ [INFO] [stdout] ... | [INFO] [stdout] 170 | | $"##).unwrap(); [INFO] [stdout] 171 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [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/line.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | / lazy_static! { [INFO] [stdout] 96 | | [INFO] [stdout] 97 | | /// Format of a Rule line: one capturing group per field. [INFO] [stdout] 98 | | static ref RULE_LINE: Regex = Regex::new(r##"(?x) ^ [INFO] [stdout] ... | [INFO] [stdout] 170 | | $"##).unwrap(); [INFO] [stdout] 171 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [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/line.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | / lazy_static! { [INFO] [stdout] 96 | | [INFO] [stdout] 97 | | /// Format of a Rule line: one capturing group per field. [INFO] [stdout] 98 | | static ref RULE_LINE: Regex = Regex::new(r##"(?x) ^ [INFO] [stdout] ... | [INFO] [stdout] 170 | | $"##).unwrap(); [INFO] [stdout] 171 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [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/line.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | / lazy_static! { [INFO] [stdout] 96 | | [INFO] [stdout] 97 | | /// Format of a Rule line: one capturing group per field. [INFO] [stdout] 98 | | static ref RULE_LINE: Regex = Regex::new(r##"(?x) ^ [INFO] [stdout] ... | [INFO] [stdout] 170 | | $"##).unwrap(); [INFO] [stdout] 171 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [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/line.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | / lazy_static! { [INFO] [stdout] 96 | | [INFO] [stdout] 97 | | /// Format of a Rule line: one capturing group per field. [INFO] [stdout] 98 | | static ref RULE_LINE: Regex = Regex::new(r##"(?x) ^ [INFO] [stdout] ... | [INFO] [stdout] 170 | | $"##).unwrap(); [INFO] [stdout] 171 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [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/line.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | / lazy_static! { [INFO] [stdout] 96 | | [INFO] [stdout] 97 | | /// Format of a Rule line: one capturing group per field. [INFO] [stdout] 98 | | static ref RULE_LINE: Regex = Regex::new(r##"(?x) ^ [INFO] [stdout] ... | [INFO] [stdout] 170 | | $"##).unwrap(); [INFO] [stdout] 171 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/table.rs:413:32 [INFO] [stdout] | [INFO] [stdout] 413 | fn cause(&self) -> Option<&ErrorTrait> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) 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] 413 | fn cause(&self) -> Option<&dyn ErrorTrait> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/line.rs:789:32 [INFO] [stdout] | [INFO] [stdout] 789 | fn cause(&self) -> Option<&ErrorTrait> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 789 | fn cause(&self) -> Option<&dyn ErrorTrait> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/line.rs:780:30 [INFO] [stdout] | [INFO] [stdout] 780 | write!(f, "{}", self.description()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/table.rs:404:30 [INFO] [stdout] | [INFO] [stdout] 404 | write!(f, "{}", self.description()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ascii::AsciiExt` [INFO] [stdout] --> src/line.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | use std::ascii::AsciiExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/table.rs:327:13 [INFO] [stdout] | [INFO] [stdout] 327 | let mut zoneset = match self.table.zonesets.entry(zone_line.name.to_owned()) { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/table.rs:342:13 [INFO] [stdout] | [INFO] [stdout] 342 | let mut zoneset = match self.current_zoneset_name { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/line.rs:218:28 [INFO] [stdout] | [INFO] [stdout] 218 | pub fn from_str(input: &str) -> Result { [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] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 218 | pub fn from_str(input: &str) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/line.rs:298:28 [INFO] [stdout] | [INFO] [stdout] 298 | pub fn from_str(input: &str) -> Result { [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] 298 | pub fn from_str(input: &str) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/line.rs:383:24 [INFO] [stdout] | [INFO] [stdout] 383 | fn from_str(input: &str) -> Result { [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] 383 | fn from_str(input: &str) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/line.rs:467:28 [INFO] [stdout] | [INFO] [stdout] 467 | pub fn from_str(input: &str) -> Result { [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] 467 | pub fn from_str(input: &str) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/line.rs:818:28 [INFO] [stdout] | [INFO] [stdout] 818 | pub fn from_str(input: &str) -> Result { [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] 818 | pub fn from_str(input: &str) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/table.rs:268:5 [INFO] [stdout] | [INFO] [stdout] 268 | pub fn format(&self, dst_offset: i64, letters: Option<&String>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | #![warn(missing_docs)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/table.rs:282:5 [INFO] [stdout] | [INFO] [stdout] 282 | pub fn format_constant(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/table.rs:341:34 [INFO] [stdout] | [INFO] [stdout] 341 | pub fn add_continuation_line(&mut self, continuation_line: line::ZoneInfo) -> Result<(), Error> { [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] 341 | pub fn add_continuation_line(&mut self, continuation_line: line::ZoneInfo) -> Result<(), Error<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/table.rs:353:26 [INFO] [stdout] | [INFO] [stdout] 353 | pub fn add_rule_line(&mut self, rule_line: line::Rule) -> Result<(), Error> { [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] 353 | pub fn add_rule_line(&mut self, rule_line: line::Rule) -> Result<(), Error<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/transitions.rs:308:25 [INFO] [stdout] | [INFO] [stdout] 308 | replace(start_utc_offset, timespan.offset); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 308 | let _ = replace(start_utc_offset, timespan.offset); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/transitions.rs:309:25 [INFO] [stdout] | [INFO] [stdout] 309 | replace(start_dst_offset, *dst_offset); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 309 | let _ = replace(start_dst_offset, *dst_offset); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/transitions.rs:310:25 [INFO] [stdout] | [INFO] [stdout] 310 | replace(start_zone_id, Some(timespan.format.format(*dst_offset, earliest_rule.letters.as_ref()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 310 | let _ = replace(start_zone_id, Some(timespan.format.format(*dst_offset, earliest_rule.letters.as_ref()))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/transitions.rs:315:25 [INFO] [stdout] | [INFO] [stdout] 315 | replace(start_zone_id, Some(timespan.format.format(*dst_offset, earliest_rule.letters.as_ref()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 315 | let _ = replace(start_zone_id, Some(timespan.format.format(*dst_offset, earliest_rule.letters.as_ref()))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/structure.rs:42:18 [INFO] [stdout] | [INFO] [stdout] 42 | fn structure(&self) -> TableStructure; [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] 42 | fn structure(&self) -> TableStructure<'_>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/structure.rs:46:18 [INFO] [stdout] | [INFO] [stdout] 46 | fn structure(&self) -> TableStructure { [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] 46 | fn structure(&self) -> TableStructure<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused result of type `bool` [INFO] [stdout] --> src/structure.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | set.insert(Child::TimeZone(&key[last_slash + 1 ..])); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | #![warn(unused_results)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused result of type `bool` [INFO] [stdout] --> src/structure.rs:73:17 [INFO] [stdout] | [INFO] [stdout] 73 | set.insert(Child::Submodule(&parent[first_slash + 1 ..])); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.58s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: iso8601 v0.1.1, nom v1.2.4 [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" "88482adcc83b05635e3a89857d2ff212f2841c6496eabc91bcdd596b90fc1b91", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "88482adcc83b05635e3a89857d2ff212f2841c6496eabc91bcdd596b90fc1b91", kill_on_drop: false }` [INFO] [stdout] 88482adcc83b05635e3a89857d2ff212f2841c6496eabc91bcdd596b90fc1b91 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e432561ffa3802c6c3886ea68e403d70fa8bc2ceafade9b3782ea0994448450a [INFO] running `Command { std: "docker" "start" "-a" "e432561ffa3802c6c3886ea68e403d70fa8bc2ceafade9b3782ea0994448450a", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/line.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | / /// A set of regexes to test against. [INFO] [stdout] 92 | | /// [INFO] [stdout] 93 | | /// All of these regexes use the `(?x)` flag, which means they support [INFO] [stdout] 94 | | /// comments and whitespace directly in the regex string! [INFO] [stdout] | |_--------------------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:221:29 [INFO] [stdout] | [INFO] [stdout] 221 | let from_year = try!(caps.name("from").unwrap().parse()); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:227:33 [INFO] [stdout] | [INFO] [stdout] 227 | to => Some(try!(to.parse())), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:239:32 [INFO] [stdout] | [INFO] [stdout] 239 | let month = try!(caps.name("in").unwrap().parse()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:240:32 [INFO] [stdout] | [INFO] [stdout] 240 | let day = try!(caps.name("on").unwrap().parse()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | let time = try!(caps.name("at").unwrap().parse()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:242:32 [INFO] [stdout] | [INFO] [stdout] 242 | let time_to_add = try!(caps.name("save").unwrap().parse()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:301:24 [INFO] [stdout] | [INFO] [stdout] 301 | let info = try!(ZoneInfo::from_captures(caps)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:337:29 [INFO] [stdout] | [INFO] [stdout] 337 | let utc_offset = try!(caps.name("gmtoff").unwrap().parse()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:338:29 [INFO] [stdout] | [INFO] [stdout] 338 | let saving = try!(Saving::from_str(caps.name("rulessave").unwrap())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:345:82 [INFO] [stdout] | [INFO] [stdout] 345 | ... (Some(y), Some(m), Some(d), Some(t)) => Some(ChangeTime::UntilTime (try!(y.parse()), try!(m.parse()), try!(d.parse()), try!(t.pars... [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:345:99 [INFO] [stdout] | [INFO] [stdout] 345 | ... (Some(y), Some(m), Some(d), Some(t)) => Some(ChangeTime::UntilTime (try!(y.parse()), try!(m.parse()), try!(d.parse()), try!(t.pars... [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:345:116 [INFO] [stdout] | [INFO] [stdout] 345 | ... (Some(y), Some(m), Some(d), Some(t)) => Some(ChangeTime::UntilTime (try!(y.parse()), try!(m.parse()), try!(d.parse()), try!(t.pars... [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:345:133 [INFO] [stdout] | [INFO] [stdout] 345 | ... (Some(y), Some(m), Some(d), Some(t)) => Some(ChangeTime::UntilTime (try!(y.parse()), try!(m.parse()), try!(d.parse()), try!(t.pars... [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:346:82 [INFO] [stdout] | [INFO] [stdout] 346 | (Some(y), Some(m), Some(d), _ ) => Some(ChangeTime::UntilDay (try!(y.parse()), try!(m.parse()), try!(d.parse()))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:346:99 [INFO] [stdout] | [INFO] [stdout] 346 | (Some(y), Some(m), Some(d), _ ) => Some(ChangeTime::UntilDay (try!(y.parse()), try!(m.parse()), try!(d.parse()))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:346:116 [INFO] [stdout] | [INFO] [stdout] 346 | (Some(y), Some(m), Some(d), _ ) => Some(ChangeTime::UntilDay (try!(y.parse()), try!(m.parse()), try!(d.parse()))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:347:82 [INFO] [stdout] | [INFO] [stdout] 347 | (Some(y), Some(m), _ , _ ) => Some(ChangeTime::UntilMonth (try!(y.parse()), try!(m.parse()))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:347:99 [INFO] [stdout] | [INFO] [stdout] 347 | (Some(y), Some(m), _ , _ ) => Some(ChangeTime::UntilMonth (try!(y.parse()), try!(m.parse()))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:348:82 [INFO] [stdout] | [INFO] [stdout] 348 | (Some(y), _ , _ , _ ) => Some(ChangeTime::UntilYear (try!(y.parse()))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:391:24 [INFO] [stdout] | [INFO] [stdout] 391 | let time = try!(input.parse()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:640:27 [INFO] [stdout] | [INFO] [stdout] 640 | let weekday = try!(input[4..].parse()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:826:35 [INFO] [stdout] | [INFO] [stdout] 826 | Ok(Line::Continuation(try!(ZoneInfo::from_captures(caps)))) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated trait `std::ascii::AsciiExt`: use inherent methods instead [INFO] [stdout] --> src/line.rs:80:17 [INFO] [stdout] | [INFO] [stdout] 80 | use std::ascii::AsciiExt; [INFO] [stdout] | ^^^^^^^^ [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/line.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | / lazy_static! { [INFO] [stdout] 96 | | [INFO] [stdout] 97 | | /// Format of a Rule line: one capturing group per field. [INFO] [stdout] 98 | | static ref RULE_LINE: Regex = Regex::new(r##"(?x) ^ [INFO] [stdout] ... | [INFO] [stdout] 170 | | $"##).unwrap(); [INFO] [stdout] 171 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [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/line.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | / lazy_static! { [INFO] [stdout] 96 | | [INFO] [stdout] 97 | | /// Format of a Rule line: one capturing group per field. [INFO] [stdout] 98 | | static ref RULE_LINE: Regex = Regex::new(r##"(?x) ^ [INFO] [stdout] ... | [INFO] [stdout] 170 | | $"##).unwrap(); [INFO] [stdout] 171 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [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/line.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | / lazy_static! { [INFO] [stdout] 96 | | [INFO] [stdout] 97 | | /// Format of a Rule line: one capturing group per field. [INFO] [stdout] 98 | | static ref RULE_LINE: Regex = Regex::new(r##"(?x) ^ [INFO] [stdout] ... | [INFO] [stdout] 170 | | $"##).unwrap(); [INFO] [stdout] 171 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [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/line.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | / lazy_static! { [INFO] [stdout] 96 | | [INFO] [stdout] 97 | | /// Format of a Rule line: one capturing group per field. [INFO] [stdout] 98 | | static ref RULE_LINE: Regex = Regex::new(r##"(?x) ^ [INFO] [stdout] ... | [INFO] [stdout] 170 | | $"##).unwrap(); [INFO] [stdout] 171 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [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/line.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | / lazy_static! { [INFO] [stdout] 96 | | [INFO] [stdout] 97 | | /// Format of a Rule line: one capturing group per field. [INFO] [stdout] 98 | | static ref RULE_LINE: Regex = Regex::new(r##"(?x) ^ [INFO] [stdout] ... | [INFO] [stdout] 170 | | $"##).unwrap(); [INFO] [stdout] 171 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [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/line.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | / lazy_static! { [INFO] [stdout] 96 | | [INFO] [stdout] 97 | | /// Format of a Rule line: one capturing group per field. [INFO] [stdout] 98 | | static ref RULE_LINE: Regex = Regex::new(r##"(?x) ^ [INFO] [stdout] ... | [INFO] [stdout] 170 | | $"##).unwrap(); [INFO] [stdout] 171 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [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/line.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | / lazy_static! { [INFO] [stdout] 96 | | [INFO] [stdout] 97 | | /// Format of a Rule line: one capturing group per field. [INFO] [stdout] 98 | | static ref RULE_LINE: Regex = Regex::new(r##"(?x) ^ [INFO] [stdout] ... | [INFO] [stdout] 170 | | $"##).unwrap(); [INFO] [stdout] 171 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [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/line.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | / lazy_static! { [INFO] [stdout] 96 | | [INFO] [stdout] 97 | | /// Format of a Rule line: one capturing group per field. [INFO] [stdout] 98 | | static ref RULE_LINE: Regex = Regex::new(r##"(?x) ^ [INFO] [stdout] ... | [INFO] [stdout] 170 | | $"##).unwrap(); [INFO] [stdout] 171 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/table.rs:413:32 [INFO] [stdout] | [INFO] [stdout] 413 | fn cause(&self) -> Option<&ErrorTrait> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) 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] 413 | fn cause(&self) -> Option<&dyn ErrorTrait> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/line.rs:789:32 [INFO] [stdout] | [INFO] [stdout] 789 | fn cause(&self) -> Option<&ErrorTrait> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 789 | fn cause(&self) -> Option<&dyn ErrorTrait> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/line.rs:780:30 [INFO] [stdout] | [INFO] [stdout] 780 | write!(f, "{}", self.description()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/table.rs:404:30 [INFO] [stdout] | [INFO] [stdout] 404 | write!(f, "{}", self.description()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ascii::AsciiExt` [INFO] [stdout] --> src/line.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | use std::ascii::AsciiExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/table.rs:327:13 [INFO] [stdout] | [INFO] [stdout] 327 | let mut zoneset = match self.table.zonesets.entry(zone_line.name.to_owned()) { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/table.rs:342:13 [INFO] [stdout] | [INFO] [stdout] 342 | let mut zoneset = match self.current_zoneset_name { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/line.rs:218:28 [INFO] [stdout] | [INFO] [stdout] 218 | pub fn from_str(input: &str) -> Result { [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] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 218 | pub fn from_str(input: &str) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/line.rs:298:28 [INFO] [stdout] | [INFO] [stdout] 298 | pub fn from_str(input: &str) -> Result { [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] 298 | pub fn from_str(input: &str) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling zoneinfo_parse v0.1.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/line.rs:383:24 [INFO] [stdout] | [INFO] [stdout] 383 | fn from_str(input: &str) -> Result { [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] 383 | fn from_str(input: &str) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/line.rs:467:28 [INFO] [stdout] | [INFO] [stdout] 467 | pub fn from_str(input: &str) -> Result { [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] 467 | pub fn from_str(input: &str) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/line.rs:818:28 [INFO] [stdout] | [INFO] [stdout] 818 | pub fn from_str(input: &str) -> Result { [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] 818 | pub fn from_str(input: &str) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/table.rs:268:5 [INFO] [stdout] | [INFO] [stdout] 268 | pub fn format(&self, dst_offset: i64, letters: Option<&String>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | #![warn(missing_docs)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/table.rs:282:5 [INFO] [stdout] | [INFO] [stdout] 282 | pub fn format_constant(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/table.rs:341:34 [INFO] [stdout] | [INFO] [stdout] 341 | pub fn add_continuation_line(&mut self, continuation_line: line::ZoneInfo) -> Result<(), Error> { [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] 341 | pub fn add_continuation_line(&mut self, continuation_line: line::ZoneInfo) -> Result<(), Error<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/table.rs:353:26 [INFO] [stdout] | [INFO] [stdout] 353 | pub fn add_rule_line(&mut self, rule_line: line::Rule) -> Result<(), Error> { [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] 353 | pub fn add_rule_line(&mut self, rule_line: line::Rule) -> Result<(), Error<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/transitions.rs:308:25 [INFO] [stdout] | [INFO] [stdout] 308 | replace(start_utc_offset, timespan.offset); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 308 | let _ = replace(start_utc_offset, timespan.offset); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/transitions.rs:309:25 [INFO] [stdout] | [INFO] [stdout] 309 | replace(start_dst_offset, *dst_offset); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 309 | let _ = replace(start_dst_offset, *dst_offset); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/transitions.rs:310:25 [INFO] [stdout] | [INFO] [stdout] 310 | replace(start_zone_id, Some(timespan.format.format(*dst_offset, earliest_rule.letters.as_ref()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 310 | let _ = replace(start_zone_id, Some(timespan.format.format(*dst_offset, earliest_rule.letters.as_ref()))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/transitions.rs:315:25 [INFO] [stdout] | [INFO] [stdout] 315 | replace(start_zone_id, Some(timespan.format.format(*dst_offset, earliest_rule.letters.as_ref()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 315 | let _ = replace(start_zone_id, Some(timespan.format.format(*dst_offset, earliest_rule.letters.as_ref()))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/structure.rs:42:18 [INFO] [stdout] | [INFO] [stdout] 42 | fn structure(&self) -> TableStructure; [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] 42 | fn structure(&self) -> TableStructure<'_>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/structure.rs:46:18 [INFO] [stdout] | [INFO] [stdout] 46 | fn structure(&self) -> TableStructure { [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] 46 | fn structure(&self) -> TableStructure<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused result of type `bool` [INFO] [stdout] --> src/structure.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | set.insert(Child::TimeZone(&key[last_slash + 1 ..])); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | #![warn(unused_results)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused result of type `bool` [INFO] [stdout] --> src/structure.rs:73:17 [INFO] [stdout] | [INFO] [stdout] 73 | set.insert(Child::Submodule(&parent[first_slash + 1 ..])); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/line.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | / /// A set of regexes to test against. [INFO] [stdout] 92 | | /// [INFO] [stdout] 93 | | /// All of these regexes use the `(?x)` flag, which means they support [INFO] [stdout] 94 | | /// comments and whitespace directly in the regex string! [INFO] [stdout] | |_--------------------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:221:29 [INFO] [stdout] | [INFO] [stdout] 221 | let from_year = try!(caps.name("from").unwrap().parse()); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:227:33 [INFO] [stdout] | [INFO] [stdout] 227 | to => Some(try!(to.parse())), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:239:32 [INFO] [stdout] | [INFO] [stdout] 239 | let month = try!(caps.name("in").unwrap().parse()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:240:32 [INFO] [stdout] | [INFO] [stdout] 240 | let day = try!(caps.name("on").unwrap().parse()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | let time = try!(caps.name("at").unwrap().parse()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:242:32 [INFO] [stdout] | [INFO] [stdout] 242 | let time_to_add = try!(caps.name("save").unwrap().parse()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:301:24 [INFO] [stdout] | [INFO] [stdout] 301 | let info = try!(ZoneInfo::from_captures(caps)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:337:29 [INFO] [stdout] | [INFO] [stdout] 337 | let utc_offset = try!(caps.name("gmtoff").unwrap().parse()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:338:29 [INFO] [stdout] | [INFO] [stdout] 338 | let saving = try!(Saving::from_str(caps.name("rulessave").unwrap())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:345:82 [INFO] [stdout] | [INFO] [stdout] 345 | ... (Some(y), Some(m), Some(d), Some(t)) => Some(ChangeTime::UntilTime (try!(y.parse()), try!(m.parse()), try!(d.parse()), try!(t.pars... [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:345:99 [INFO] [stdout] | [INFO] [stdout] 345 | ... (Some(y), Some(m), Some(d), Some(t)) => Some(ChangeTime::UntilTime (try!(y.parse()), try!(m.parse()), try!(d.parse()), try!(t.pars... [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:345:116 [INFO] [stdout] | [INFO] [stdout] 345 | ... (Some(y), Some(m), Some(d), Some(t)) => Some(ChangeTime::UntilTime (try!(y.parse()), try!(m.parse()), try!(d.parse()), try!(t.pars... [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:345:133 [INFO] [stdout] | [INFO] [stdout] 345 | ... (Some(y), Some(m), Some(d), Some(t)) => Some(ChangeTime::UntilTime (try!(y.parse()), try!(m.parse()), try!(d.parse()), try!(t.pars... [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:346:82 [INFO] [stdout] | [INFO] [stdout] 346 | (Some(y), Some(m), Some(d), _ ) => Some(ChangeTime::UntilDay (try!(y.parse()), try!(m.parse()), try!(d.parse()))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:346:99 [INFO] [stdout] | [INFO] [stdout] 346 | (Some(y), Some(m), Some(d), _ ) => Some(ChangeTime::UntilDay (try!(y.parse()), try!(m.parse()), try!(d.parse()))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:346:116 [INFO] [stdout] | [INFO] [stdout] 346 | (Some(y), Some(m), Some(d), _ ) => Some(ChangeTime::UntilDay (try!(y.parse()), try!(m.parse()), try!(d.parse()))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:347:82 [INFO] [stdout] | [INFO] [stdout] 347 | (Some(y), Some(m), _ , _ ) => Some(ChangeTime::UntilMonth (try!(y.parse()), try!(m.parse()))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:347:99 [INFO] [stdout] | [INFO] [stdout] 347 | (Some(y), Some(m), _ , _ ) => Some(ChangeTime::UntilMonth (try!(y.parse()), try!(m.parse()))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:348:82 [INFO] [stdout] | [INFO] [stdout] 348 | (Some(y), _ , _ , _ ) => Some(ChangeTime::UntilYear (try!(y.parse()))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:391:24 [INFO] [stdout] | [INFO] [stdout] 391 | let time = try!(input.parse()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:640:27 [INFO] [stdout] | [INFO] [stdout] 640 | let weekday = try!(input[4..].parse()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/line.rs:826:35 [INFO] [stdout] | [INFO] [stdout] 826 | Ok(Line::Continuation(try!(ZoneInfo::from_captures(caps)))) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated trait `std::ascii::AsciiExt`: use inherent methods instead [INFO] [stdout] --> src/line.rs:80:17 [INFO] [stdout] | [INFO] [stdout] 80 | use std::ascii::AsciiExt; [INFO] [stdout] | ^^^^^^^^ [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/line.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | / lazy_static! { [INFO] [stdout] 96 | | [INFO] [stdout] 97 | | /// Format of a Rule line: one capturing group per field. [INFO] [stdout] 98 | | static ref RULE_LINE: Regex = Regex::new(r##"(?x) ^ [INFO] [stdout] ... | [INFO] [stdout] 170 | | $"##).unwrap(); [INFO] [stdout] 171 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [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/line.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | / lazy_static! { [INFO] [stdout] 96 | | [INFO] [stdout] 97 | | /// Format of a Rule line: one capturing group per field. [INFO] [stdout] 98 | | static ref RULE_LINE: Regex = Regex::new(r##"(?x) ^ [INFO] [stdout] ... | [INFO] [stdout] 170 | | $"##).unwrap(); [INFO] [stdout] 171 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [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/line.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | / lazy_static! { [INFO] [stdout] 96 | | [INFO] [stdout] 97 | | /// Format of a Rule line: one capturing group per field. [INFO] [stdout] 98 | | static ref RULE_LINE: Regex = Regex::new(r##"(?x) ^ [INFO] [stdout] ... | [INFO] [stdout] 170 | | $"##).unwrap(); [INFO] [stdout] 171 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [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/line.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | / lazy_static! { [INFO] [stdout] 96 | | [INFO] [stdout] 97 | | /// Format of a Rule line: one capturing group per field. [INFO] [stdout] 98 | | static ref RULE_LINE: Regex = Regex::new(r##"(?x) ^ [INFO] [stdout] ... | [INFO] [stdout] 170 | | $"##).unwrap(); [INFO] [stdout] 171 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [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/line.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | / lazy_static! { [INFO] [stdout] 96 | | [INFO] [stdout] 97 | | /// Format of a Rule line: one capturing group per field. [INFO] [stdout] 98 | | static ref RULE_LINE: Regex = Regex::new(r##"(?x) ^ [INFO] [stdout] ... | [INFO] [stdout] 170 | | $"##).unwrap(); [INFO] [stdout] 171 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [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/line.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | / lazy_static! { [INFO] [stdout] 96 | | [INFO] [stdout] 97 | | /// Format of a Rule line: one capturing group per field. [INFO] [stdout] 98 | | static ref RULE_LINE: Regex = Regex::new(r##"(?x) ^ [INFO] [stdout] ... | [INFO] [stdout] 170 | | $"##).unwrap(); [INFO] [stdout] 171 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [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/line.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | / lazy_static! { [INFO] [stdout] 96 | | [INFO] [stdout] 97 | | /// Format of a Rule line: one capturing group per field. [INFO] [stdout] 98 | | static ref RULE_LINE: Regex = Regex::new(r##"(?x) ^ [INFO] [stdout] ... | [INFO] [stdout] 170 | | $"##).unwrap(); [INFO] [stdout] 171 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [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/line.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | / lazy_static! { [INFO] [stdout] 96 | | [INFO] [stdout] 97 | | /// Format of a Rule line: one capturing group per field. [INFO] [stdout] 98 | | static ref RULE_LINE: Regex = Regex::new(r##"(?x) ^ [INFO] [stdout] ... | [INFO] [stdout] 170 | | $"##).unwrap(); [INFO] [stdout] 171 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/table.rs:413:32 [INFO] [stdout] | [INFO] [stdout] 413 | fn cause(&self) -> Option<&ErrorTrait> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) 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] 413 | fn cause(&self) -> Option<&dyn ErrorTrait> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/line.rs:789:32 [INFO] [stdout] | [INFO] [stdout] 789 | fn cause(&self) -> Option<&ErrorTrait> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 789 | fn cause(&self) -> Option<&dyn ErrorTrait> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/line.rs:780:30 [INFO] [stdout] | [INFO] [stdout] 780 | write!(f, "{}", self.description()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/table.rs:404:30 [INFO] [stdout] | [INFO] [stdout] 404 | write!(f, "{}", self.description()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ascii::AsciiExt` [INFO] [stdout] --> src/line.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | use std::ascii::AsciiExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/table.rs:327:13 [INFO] [stdout] | [INFO] [stdout] 327 | let mut zoneset = match self.table.zonesets.entry(zone_line.name.to_owned()) { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/table.rs:342:13 [INFO] [stdout] | [INFO] [stdout] 342 | let mut zoneset = match self.current_zoneset_name { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/line.rs:218:28 [INFO] [stdout] | [INFO] [stdout] 218 | pub fn from_str(input: &str) -> Result { [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] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 218 | pub fn from_str(input: &str) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/line.rs:298:28 [INFO] [stdout] | [INFO] [stdout] 298 | pub fn from_str(input: &str) -> Result { [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] 298 | pub fn from_str(input: &str) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/line.rs:383:24 [INFO] [stdout] | [INFO] [stdout] 383 | fn from_str(input: &str) -> Result { [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] 383 | fn from_str(input: &str) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/line.rs:467:28 [INFO] [stdout] | [INFO] [stdout] 467 | pub fn from_str(input: &str) -> Result { [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] 467 | pub fn from_str(input: &str) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/line.rs:818:28 [INFO] [stdout] | [INFO] [stdout] 818 | pub fn from_str(input: &str) -> Result { [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] 818 | pub fn from_str(input: &str) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/table.rs:268:5 [INFO] [stdout] | [INFO] [stdout] 268 | pub fn format(&self, dst_offset: i64, letters: Option<&String>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | #![warn(missing_docs)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/table.rs:282:5 [INFO] [stdout] | [INFO] [stdout] 282 | pub fn format_constant(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/table.rs:341:34 [INFO] [stdout] | [INFO] [stdout] 341 | pub fn add_continuation_line(&mut self, continuation_line: line::ZoneInfo) -> Result<(), Error> { [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] 341 | pub fn add_continuation_line(&mut self, continuation_line: line::ZoneInfo) -> Result<(), Error<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/table.rs:353:26 [INFO] [stdout] | [INFO] [stdout] 353 | pub fn add_rule_line(&mut self, rule_line: line::Rule) -> Result<(), Error> { [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] 353 | pub fn add_rule_line(&mut self, rule_line: line::Rule) -> Result<(), Error<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/transitions.rs:308:25 [INFO] [stdout] | [INFO] [stdout] 308 | replace(start_utc_offset, timespan.offset); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 308 | let _ = replace(start_utc_offset, timespan.offset); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/transitions.rs:309:25 [INFO] [stdout] | [INFO] [stdout] 309 | replace(start_dst_offset, *dst_offset); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 309 | let _ = replace(start_dst_offset, *dst_offset); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/transitions.rs:310:25 [INFO] [stdout] | [INFO] [stdout] 310 | replace(start_zone_id, Some(timespan.format.format(*dst_offset, earliest_rule.letters.as_ref()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 310 | let _ = replace(start_zone_id, Some(timespan.format.format(*dst_offset, earliest_rule.letters.as_ref()))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/transitions.rs:315:25 [INFO] [stdout] | [INFO] [stdout] 315 | replace(start_zone_id, Some(timespan.format.format(*dst_offset, earliest_rule.letters.as_ref()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 315 | let _ = replace(start_zone_id, Some(timespan.format.format(*dst_offset, earliest_rule.letters.as_ref()))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/structure.rs:42:18 [INFO] [stdout] | [INFO] [stdout] 42 | fn structure(&self) -> TableStructure; [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] 42 | fn structure(&self) -> TableStructure<'_>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/structure.rs:46:18 [INFO] [stdout] | [INFO] [stdout] 46 | fn structure(&self) -> TableStructure { [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] 46 | fn structure(&self) -> TableStructure<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused result of type `bool` [INFO] [stdout] --> src/structure.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | set.insert(Child::TimeZone(&key[last_slash + 1 ..])); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | #![warn(unused_results)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused result of type `bool` [INFO] [stdout] --> src/structure.rs:73:17 [INFO] [stdout] | [INFO] [stdout] 73 | set.insert(Child::Submodule(&parent[first_slash + 1 ..])); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.59s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: iso8601 v0.1.1, nom v1.2.4 [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" "e432561ffa3802c6c3886ea68e403d70fa8bc2ceafade9b3782ea0994448450a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e432561ffa3802c6c3886ea68e403d70fa8bc2ceafade9b3782ea0994448450a", kill_on_drop: false }` [INFO] [stdout] e432561ffa3802c6c3886ea68e403d70fa8bc2ceafade9b3782ea0994448450a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] e78cbc79db4d6414c38ce53841c2fe2dd369da0c6af67f791aa8f15910505a73 [INFO] running `Command { std: "docker" "start" "-a" "e78cbc79db4d6414c38ce53841c2fe2dd369da0c6af67f791aa8f15910505a73", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/line.rs:91:1 [INFO] [stderr] | [INFO] [stderr] 91 | / /// A set of regexes to test against. [INFO] [stderr] 92 | | /// [INFO] [stderr] 93 | | /// All of these regexes use the `(?x)` flag, which means they support [INFO] [stderr] 94 | | /// comments and whitespace directly in the regex string! [INFO] [stderr] | |_--------------------------------------------------------^ [INFO] [stderr] | | [INFO] [stderr] | rustdoc does not generate documentation for macro invocations [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/line.rs:221:29 [INFO] [stderr] | [INFO] [stderr] 221 | let from_year = try!(caps.name("from").unwrap().parse()); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/line.rs:227:33 [INFO] [stderr] | [INFO] [stderr] 227 | to => Some(try!(to.parse())), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/line.rs:239:32 [INFO] [stderr] | [INFO] [stderr] 239 | let month = try!(caps.name("in").unwrap().parse()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/line.rs:240:32 [INFO] [stderr] | [INFO] [stderr] 240 | let day = try!(caps.name("on").unwrap().parse()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/line.rs:241:32 [INFO] [stderr] | [INFO] [stderr] 241 | let time = try!(caps.name("at").unwrap().parse()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/line.rs:242:32 [INFO] [stderr] | [INFO] [stderr] 242 | let time_to_add = try!(caps.name("save").unwrap().parse()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/line.rs:301:24 [INFO] [stderr] | [INFO] [stderr] 301 | let info = try!(ZoneInfo::from_captures(caps)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/line.rs:337:29 [INFO] [stderr] | [INFO] [stderr] 337 | let utc_offset = try!(caps.name("gmtoff").unwrap().parse()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/line.rs:338:29 [INFO] [stderr] | [INFO] [stderr] 338 | let saving = try!(Saving::from_str(caps.name("rulessave").unwrap())); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/line.rs:345:82 [INFO] [stderr] | [INFO] [stderr] 345 | ... (Some(y), Some(m), Some(d), Some(t)) => Some(ChangeTime::UntilTime (try!(y.parse()), try!(m.parse()), try!(d.parse()), try!(t.pars... [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/line.rs:345:99 [INFO] [stderr] | [INFO] [stderr] 345 | ... (Some(y), Some(m), Some(d), Some(t)) => Some(ChangeTime::UntilTime (try!(y.parse()), try!(m.parse()), try!(d.parse()), try!(t.pars... [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/line.rs:345:116 [INFO] [stderr] | [INFO] [stderr] 345 | ... (Some(y), Some(m), Some(d), Some(t)) => Some(ChangeTime::UntilTime (try!(y.parse()), try!(m.parse()), try!(d.parse()), try!(t.pars... [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/line.rs:345:133 [INFO] [stderr] | [INFO] [stderr] 345 | ... (Some(y), Some(m), Some(d), Some(t)) => Some(ChangeTime::UntilTime (try!(y.parse()), try!(m.parse()), try!(d.parse()), try!(t.pars... [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/line.rs:346:82 [INFO] [stderr] | [INFO] [stderr] 346 | (Some(y), Some(m), Some(d), _ ) => Some(ChangeTime::UntilDay (try!(y.parse()), try!(m.parse()), try!(d.parse()))), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/line.rs:346:99 [INFO] [stderr] | [INFO] [stderr] 346 | (Some(y), Some(m), Some(d), _ ) => Some(ChangeTime::UntilDay (try!(y.parse()), try!(m.parse()), try!(d.parse()))), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/line.rs:346:116 [INFO] [stderr] | [INFO] [stderr] 346 | (Some(y), Some(m), Some(d), _ ) => Some(ChangeTime::UntilDay (try!(y.parse()), try!(m.parse()), try!(d.parse()))), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/line.rs:347:82 [INFO] [stderr] | [INFO] [stderr] 347 | (Some(y), Some(m), _ , _ ) => Some(ChangeTime::UntilMonth (try!(y.parse()), try!(m.parse()))), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/line.rs:347:99 [INFO] [stderr] | [INFO] [stderr] 347 | (Some(y), Some(m), _ , _ ) => Some(ChangeTime::UntilMonth (try!(y.parse()), try!(m.parse()))), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/line.rs:348:82 [INFO] [stderr] | [INFO] [stderr] 348 | (Some(y), _ , _ , _ ) => Some(ChangeTime::UntilYear (try!(y.parse()))), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/line.rs:391:24 [INFO] [stderr] | [INFO] [stderr] 391 | let time = try!(input.parse()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/line.rs:640:27 [INFO] [stderr] | [INFO] [stderr] 640 | let weekday = try!(input[4..].parse()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/line.rs:826:35 [INFO] [stderr] | [INFO] [stderr] 826 | Ok(Line::Continuation(try!(ZoneInfo::from_captures(caps)))) [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated trait `std::ascii::AsciiExt`: use inherent methods instead [INFO] [stderr] --> src/line.rs:80:17 [INFO] [stderr] | [INFO] [stderr] 80 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred [INFO] [stderr] --> src/line.rs:95:1 [INFO] [stderr] | [INFO] [stderr] 95 | / lazy_static! { [INFO] [stderr] 96 | | [INFO] [stderr] 97 | | /// Format of a Rule line: one capturing group per field. [INFO] [stderr] 98 | | static ref RULE_LINE: Regex = Regex::new(r##"(?x) ^ [INFO] [stderr] ... | [INFO] [stderr] 170 | | $"##).unwrap(); [INFO] [stderr] 171 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/table.rs:413:32 [INFO] [stderr] | [INFO] [stderr] 413 | fn cause(&self) -> Option<&ErrorTrait> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 413 | fn cause(&self) -> Option<&dyn ErrorTrait> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/line.rs:789:32 [INFO] [stderr] | [INFO] [stderr] 789 | fn cause(&self) -> Option<&ErrorTrait> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 789 | fn cause(&self) -> Option<&dyn ErrorTrait> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stderr] --> src/line.rs:780:30 [INFO] [stderr] | [INFO] [stderr] 780 | write!(f, "{}", self.description()) [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stderr] --> src/table.rs:404:30 [INFO] [stderr] | [INFO] [stderr] 404 | write!(f, "{}", self.description()) [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ascii::AsciiExt` [INFO] [stderr] --> src/line.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/table.rs:327:13 [INFO] [stderr] | [INFO] [stderr] 327 | let mut zoneset = match self.table.zonesets.entry(zone_line.name.to_owned()) { [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/table.rs:342:13 [INFO] [stderr] | [INFO] [stderr] 342 | let mut zoneset = match self.current_zoneset_name { [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/line.rs:218:28 [INFO] [stderr] | [INFO] [stderr] 218 | pub fn from_str(input: &str) -> Result { [INFO] [stderr] | ^^^^ ^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 218 | pub fn from_str(input: &str) -> Result, Error> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/line.rs:298:28 [INFO] [stderr] | [INFO] [stderr] 298 | pub fn from_str(input: &str) -> Result { [INFO] [stderr] | ^^^^ ^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 298 | pub fn from_str(input: &str) -> Result, Error> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/line.rs:383:24 [INFO] [stderr] | [INFO] [stderr] 383 | fn from_str(input: &str) -> Result { [INFO] [stderr] | ^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 383 | fn from_str(input: &str) -> Result, Error> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/line.rs:467:28 [INFO] [stderr] | [INFO] [stderr] 467 | pub fn from_str(input: &str) -> Result { [INFO] [stderr] | ^^^^ ^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 467 | pub fn from_str(input: &str) -> Result, Error> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/line.rs:818:28 [INFO] [stderr] | [INFO] [stderr] 818 | pub fn from_str(input: &str) -> Result { [INFO] [stderr] | ^^^^ ^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 818 | pub fn from_str(input: &str) -> Result, Error> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/table.rs:268:5 [INFO] [stderr] | [INFO] [stderr] 268 | pub fn format(&self, dst_offset: i64, letters: Option<&String>) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: the lint level is defined here [INFO] [stderr] --> src/lib.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | #![warn(missing_docs)] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/table.rs:282:5 [INFO] [stderr] | [INFO] [stderr] 282 | pub fn format_constant(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/table.rs:341:34 [INFO] [stderr] | [INFO] [stderr] 341 | pub fn add_continuation_line(&mut self, continuation_line: line::ZoneInfo) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^^^ the lifetime is elided here ^^^^^ the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 341 | pub fn add_continuation_line(&mut self, continuation_line: line::ZoneInfo) -> Result<(), Error<'_>> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/table.rs:353:26 [INFO] [stderr] | [INFO] [stderr] 353 | pub fn add_rule_line(&mut self, rule_line: line::Rule) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^^^ the lifetime is elided here ^^^^^ the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 353 | pub fn add_rule_line(&mut self, rule_line: line::Rule) -> Result<(), Error<'_>> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> src/transitions.rs:308:25 [INFO] [stderr] | [INFO] [stderr] 308 | replace(start_utc_offset, timespan.offset); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 308 | let _ = replace(start_utc_offset, timespan.offset); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> src/transitions.rs:309:25 [INFO] [stderr] | [INFO] [stderr] 309 | replace(start_dst_offset, *dst_offset); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 309 | let _ = replace(start_dst_offset, *dst_offset); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> src/transitions.rs:310:25 [INFO] [stderr] | [INFO] [stderr] 310 | replace(start_zone_id, Some(timespan.format.format(*dst_offset, earliest_rule.letters.as_ref()))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 310 | let _ = replace(start_zone_id, Some(timespan.format.format(*dst_offset, earliest_rule.letters.as_ref()))); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> src/transitions.rs:315:25 [INFO] [stderr] | [INFO] [stderr] 315 | replace(start_zone_id, Some(timespan.format.format(*dst_offset, earliest_rule.letters.as_ref()))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 315 | let _ = replace(start_zone_id, Some(timespan.format.format(*dst_offset, earliest_rule.letters.as_ref()))); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/structure.rs:42:18 [INFO] [stderr] | [INFO] [stderr] 42 | fn structure(&self) -> TableStructure; [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 42 | fn structure(&self) -> TableStructure<'_>; [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/structure.rs:46:18 [INFO] [stderr] | [INFO] [stderr] 46 | fn structure(&self) -> TableStructure { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 46 | fn structure(&self) -> TableStructure<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: unused result of type `bool` [INFO] [stderr] --> src/structure.rs:63:17 [INFO] [stderr] | [INFO] [stderr] 63 | set.insert(Child::TimeZone(&key[last_slash + 1 ..])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: the lint level is defined here [INFO] [stderr] --> src/lib.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 40 | #![warn(unused_results)] [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused result of type `bool` [INFO] [stderr] --> src/structure.rs:73:17 [INFO] [stderr] | [INFO] [stderr] 73 | set.insert(Child::Submodule(&parent[first_slash + 1 ..])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `zoneinfo_parse` (lib) generated 56 warnings (7 duplicates) (run `cargo fix --lib -p zoneinfo_parse` to apply 13 suggestions) [INFO] [stderr] warning: `zoneinfo_parse` (lib test) generated 56 warnings (56 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: iso8601 v0.1.1, nom v1.2.4 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/zoneinfo_parse-48154e905591437b) [INFO] [stdout] [INFO] [stdout] running 28 tests [INFO] [stdout] test line::test::month ... ok [INFO] [stdout] test line::test::comment ... ok [INFO] [stdout] test line::test::another_comment ... ok [INFO] [stdout] test line::test::empty ... ok [INFO] [stdout] test line::test::multiple_hash ... ok [INFO] [stdout] test line::test::golb ... ok [INFO] [stdout] test line::test::comment_after ... ok [INFO] [stdout] test line::test::rules::no_hyphen ... ok [INFO] [stdout] test line::test::spaces ... ok [INFO] [stdout] test line::test::rules::bad_month ... ok [INFO] [stdout] test line::test::rules::rule_2 ... ok [INFO] [stdout] test line::test::non_comment ... ok [INFO] [stdout] test line::test::rules::rule_1 ... ok [INFO] [stdout] test line::test::link ... ok [INFO] [stdout] test line::test::two_comments_after ... ok [INFO] [stdout] test line::test::zones::continuation_1 ... ok [INFO] [stdout] test structure::test::child ... ok [INFO] [stdout] test line::test::zones::continuation_2 ... ok [INFO] [stdout] test structure::test::empty ... ok [INFO] [stdout] test structure::test::hierarchy ... ok [INFO] [stdout] test line::test::zones::zone ... ok [INFO] [stdout] test structure::test::separate ... ok [INFO] [stdout] test transitions::test::optimise_macquarie ... ok [INFO] [stdout] test line::test::zones::zone_hyphen ... ok [INFO] [stdout] test line::test::zones::negative_offsets ... ok [INFO] [stdout] test line::test::rules::rule_3 ... ok [INFO] [stdout] test line::test::zones::negative_offsets_2 ... ok [INFO] [stdout] test line::test::zones::negative_offsets_3 ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/transition_tests.rs (/opt/rustwide/target/debug/deps/transition_tests-301671bfba64ecbd) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test no_transitions ... ok [INFO] [stdout] test one_rule ... ok [INFO] [stdout] test one_transition ... ok [INFO] [stdout] test two_transitions ... ok [INFO] [stdout] test two_rules ... ok [INFO] [stdout] test tripoli ... ok [INFO] [stdout] test dushanbe ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Doc-tests zoneinfo_parse [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test src/table.rs - table (line 19) ... ok [INFO] [stdout] test src/line.rs - line (line 16) ... ok [INFO] [stdout] test src/line.rs - line (line 70) ... ok [INFO] [stdout] test src/line.rs - line (line 41) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "e78cbc79db4d6414c38ce53841c2fe2dd369da0c6af67f791aa8f15910505a73", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e78cbc79db4d6414c38ce53841c2fe2dd369da0c6af67f791aa8f15910505a73", kill_on_drop: false }` [INFO] [stdout] e78cbc79db4d6414c38ce53841c2fe2dd369da0c6af67f791aa8f15910505a73