[INFO] fetching crate hourglass 0.8.0...
[INFO] testing hourglass-0.8.0 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7
[INFO] extracting crate hourglass 0.8.0 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate hourglass 0.8.0
[INFO] finished tweaking crates.io crate hourglass 0.8.0
[INFO] tweaked toml for crates.io crate hourglass 0.8.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate hourglass 0.8.0 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 3 packages to latest compatible versions
[INFO] [stderr]       Adding nom v1.2.4 (available: v8.0.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "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-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b1349370c30c77acf1f741f6f6fec5878f18398a91d7a910a011cd3e2d7d16c8
[INFO] running `Command { std: "docker" "start" "-a" "b1349370c30c77acf1f741f6f6fec5878f18398a91d7a910a011cd3e2d7d16c8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b1349370c30c77acf1f741f6f6fec5878f18398a91d7a910a011cd3e2d7d16c8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b1349370c30c77acf1f741f6f6fec5878f18398a91d7a910a011cd3e2d7d16c8", kill_on_drop: false }`
[INFO] [stdout] b1349370c30c77acf1f741f6f6fec5878f18398a91d7a910a011cd3e2d7d16c8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 17e0ad34e3b2e5700b12f95fd6a83772117c2103f53f0a6e45b88e3425200e5b
[INFO] running `Command { std: "docker" "start" "-a" "17e0ad34e3b2e5700b12f95fd6a83772117c2103f53f0a6e45b88e3425200e5b", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling nom v1.2.4
[INFO] [stderr]    Compiling hourglass v0.8.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let f = try!(File::open(filename));
[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/parse.rs:28:15
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let hdr = try!(parse_header(&mut r));
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 |             let trans = try!(parse_trans_32(&mut r, hdr.transitions));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:32:28
[INFO] [stdout]    |
[INFO] [stdout] 32 |             let type_idx = try!(parse_type_idx(&mut r, hdr.transitions));
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:33:25
[INFO] [stdout]    |
[INFO] [stdout] 33 |             let types = try!(parse_types(&mut r, hdr.types));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:34:25
[INFO] [stdout]    |
[INFO] [stdout] 34 |             let abbrs = try!(parse_abbrs(&mut r, hdr.abbr_size));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |             try!(skip(&mut r, to_skip));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |             try!(skip(&mut r, to_skip));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:46:23
[INFO] [stdout]    |
[INFO] [stdout] 46 |             let hdr = try!(parse_header(&mut r));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:52:25
[INFO] [stdout]    |
[INFO] [stdout] 52 |             let trans = try!(parse_trans_64(&mut r, hdr.transitions));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:53:28
[INFO] [stdout]    |
[INFO] [stdout] 53 |             let type_idx = try!(parse_type_idx(&mut r, hdr.transitions));
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:54:25
[INFO] [stdout]    |
[INFO] [stdout] 54 |             let types = try!(parse_types(&mut r, hdr.types));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:55:25
[INFO] [stdout]    |
[INFO] [stdout] 55 |             let abbrs = try!(parse_abbrs(&mut r, hdr.abbr_size));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:58:25
[INFO] [stdout]    |
[INFO] [stdout] 58 |             let trule = try!(parse_posix_tz(&mut r));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     try!(r.read_exact(&mut buff[..]));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |         try!(r.read_exact(&mut buff[..]));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         try!(r.read_exact(&mut buff[..]));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     try!(r.read_exact(&mut idx[..]));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:161:9
[INFO] [stdout]     |
[INFO] [stdout] 161 |         try!(r.read_exact(&mut buff[..]));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 |     try!(r.read_exact(&mut buff[..]));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |     try!(r.read_to_string(&mut s));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 202 |     try!(r.seek(SeekFrom::Current(len as i64)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:303:17
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let s = try!(std::ffi::CString::new(s).map_err(|_| InputError::InvalidFormat));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:304:19
[INFO] [stdout]     |
[INFO] [stdout] 304 |         let fmt = try!(std::ffi::CString::new(fmt).map_err(|_| InputError::InvalidFormat));
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:335:20
[INFO] [stdout]     |
[INFO] [stdout] 335 |             stamp: try!(Timespec::unix(stamp, nano)),
[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/lib.rs:1252:32
[INFO] [stdout]      |
[INFO] [stdout] 1252 |         write!(fmt, "{}", 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/lib.rs:1259:32
[INFO] [stdout]      |
[INFO] [stdout] 1259 |         write!(fmt, "{}", 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/lib.rs:1295:32
[INFO] [stdout]      |
[INFO] [stdout] 1295 |         write!(fmt, "{}", 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/lib.rs:1302:32
[INFO] [stdout]      |
[INFO] [stdout] 1302 |         write!(fmt, "{}", 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/lib.rs:1330:32
[INFO] [stdout]      |
[INFO] [stdout] 1330 |         write!(fmt, "{}", 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/lib.rs:1337:32
[INFO] [stdout]      |
[INFO] [stdout] 1337 |         write!(fmt, "{}", self.description())
[INFO] [stdout]      |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:276:16
[INFO] [stdout]     |
[INFO] [stdout] 276 |     pub fn now(&self) -> Datetime {
[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] 276 |     pub fn now(&self) -> Datetime<'_> {
[INFO] [stdout]     |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:286:18
[INFO] [stdout]     |
[INFO] [stdout] 286 |     pub fn parse(&self, s: &str, fmt: &str) -> Result<Datetime, InputError> {
[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] 286 |     pub fn parse(&self, s: &str, fmt: &str) -> Result<Datetime<'_>, InputError> {
[INFO] [stdout]     |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:332:17
[INFO] [stdout]     |
[INFO] [stdout] 332 |     pub fn unix(&self, stamp: i64, nano: i32) -> Result<Datetime, InputError> {
[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] 332 |     pub fn unix(&self, stamp: i64, nano: i32) -> Result<Datetime<'_>, InputError> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:348:21
[INFO] [stdout]     |
[INFO] [stdout] 348 |     pub fn datetime(&self,
[INFO] [stdout]     |                     ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 356 |                     -> Result<Datetime, InputError> {
[INFO] [stdout]     |                               ^^^^^^^^ 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] 356 |                     -> Result<Datetime<'_>, InputError> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.47s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: 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 4`
[INFO] running `Command { std: "docker" "inspect" "17e0ad34e3b2e5700b12f95fd6a83772117c2103f53f0a6e45b88e3425200e5b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "17e0ad34e3b2e5700b12f95fd6a83772117c2103f53f0a6e45b88e3425200e5b", kill_on_drop: false }`
[INFO] [stdout] 17e0ad34e3b2e5700b12f95fd6a83772117c2103f53f0a6e45b88e3425200e5b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 408905b82d04be30413376923499112a461955630a234513ad08fb1fc180b6c3
[INFO] running `Command { std: "docker" "start" "-a" "408905b82d04be30413376923499112a461955630a234513ad08fb1fc180b6c3", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let f = try!(File::open(filename));
[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/parse.rs:28:15
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let hdr = try!(parse_header(&mut r));
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 |             let trans = try!(parse_trans_32(&mut r, hdr.transitions));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:32:28
[INFO] [stdout]    |
[INFO] [stdout] 32 |             let type_idx = try!(parse_type_idx(&mut r, hdr.transitions));
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:33:25
[INFO] [stdout]    |
[INFO] [stdout] 33 |             let types = try!(parse_types(&mut r, hdr.types));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:34:25
[INFO] [stdout]    |
[INFO] [stdout] 34 |             let abbrs = try!(parse_abbrs(&mut r, hdr.abbr_size));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |             try!(skip(&mut r, to_skip));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |             try!(skip(&mut r, to_skip));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:46:23
[INFO] [stdout]    |
[INFO] [stdout] 46 |             let hdr = try!(parse_header(&mut r));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:52:25
[INFO] [stdout]    |
[INFO] [stdout] 52 |             let trans = try!(parse_trans_64(&mut r, hdr.transitions));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:53:28
[INFO] [stdout]    |
[INFO] [stdout] 53 |             let type_idx = try!(parse_type_idx(&mut r, hdr.transitions));
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:54:25
[INFO] [stdout]    |
[INFO] [stdout] 54 |             let types = try!(parse_types(&mut r, hdr.types));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:55:25
[INFO] [stdout]    |
[INFO] [stdout] 55 |             let abbrs = try!(parse_abbrs(&mut r, hdr.abbr_size));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:58:25
[INFO] [stdout]    |
[INFO] [stdout] 58 |             let trule = try!(parse_posix_tz(&mut r));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     try!(r.read_exact(&mut buff[..]));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |         try!(r.read_exact(&mut buff[..]));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         try!(r.read_exact(&mut buff[..]));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     try!(r.read_exact(&mut idx[..]));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:161:9
[INFO] [stdout]     |
[INFO] [stdout] 161 |         try!(r.read_exact(&mut buff[..]));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 |     try!(r.read_exact(&mut buff[..]));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |     try!(r.read_to_string(&mut s));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 202 |     try!(r.seek(SeekFrom::Current(len as i64)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:303:17
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let s = try!(std::ffi::CString::new(s).map_err(|_| InputError::InvalidFormat));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:304:19
[INFO] [stdout]     |
[INFO] [stdout] 304 |         let fmt = try!(std::ffi::CString::new(fmt).map_err(|_| InputError::InvalidFormat));
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:335:20
[INFO] [stdout]     |
[INFO] [stdout] 335 |             stamp: try!(Timespec::unix(stamp, nano)),
[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/lib.rs:1252:32
[INFO] [stdout]      |
[INFO] [stdout] 1252 |         write!(fmt, "{}", 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/lib.rs:1259:32
[INFO] [stdout]      |
[INFO] [stdout] 1259 |         write!(fmt, "{}", 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/lib.rs:1295:32
[INFO] [stdout]      |
[INFO] [stdout] 1295 |         write!(fmt, "{}", 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/lib.rs:1302:32
[INFO] [stdout]      |
[INFO] [stdout] 1302 |         write!(fmt, "{}", 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/lib.rs:1330:32
[INFO] [stdout]      |
[INFO] [stdout] 1330 |         write!(fmt, "{}", 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/lib.rs:1337:32
[INFO] [stdout]      |
[INFO] [stdout] 1337 |         write!(fmt, "{}", self.description())
[INFO] [stdout]      |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:276:16
[INFO] [stdout]     |
[INFO] [stdout] 276 |     pub fn now(&self) -> Datetime {
[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] 276 |     pub fn now(&self) -> Datetime<'_> {
[INFO] [stdout]     |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling hourglass v0.8.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:286:18
[INFO] [stdout]     |
[INFO] [stdout] 286 |     pub fn parse(&self, s: &str, fmt: &str) -> Result<Datetime, InputError> {
[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] 286 |     pub fn parse(&self, s: &str, fmt: &str) -> Result<Datetime<'_>, InputError> {
[INFO] [stdout]     |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:332:17
[INFO] [stdout]     |
[INFO] [stdout] 332 |     pub fn unix(&self, stamp: i64, nano: i32) -> Result<Datetime, InputError> {
[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] 332 |     pub fn unix(&self, stamp: i64, nano: i32) -> Result<Datetime<'_>, InputError> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:348:21
[INFO] [stdout]     |
[INFO] [stdout] 348 |     pub fn datetime(&self,
[INFO] [stdout]     |                     ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 356 |                     -> Result<Datetime, InputError> {
[INFO] [stdout]     |                               ^^^^^^^^ 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] 356 |                     -> Result<Datetime<'_>, InputError> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let f = try!(File::open(filename));
[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/parse.rs:28:15
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let hdr = try!(parse_header(&mut r));
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 |             let trans = try!(parse_trans_32(&mut r, hdr.transitions));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:32:28
[INFO] [stdout]    |
[INFO] [stdout] 32 |             let type_idx = try!(parse_type_idx(&mut r, hdr.transitions));
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:33:25
[INFO] [stdout]    |
[INFO] [stdout] 33 |             let types = try!(parse_types(&mut r, hdr.types));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:34:25
[INFO] [stdout]    |
[INFO] [stdout] 34 |             let abbrs = try!(parse_abbrs(&mut r, hdr.abbr_size));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |             try!(skip(&mut r, to_skip));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |             try!(skip(&mut r, to_skip));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:46:23
[INFO] [stdout]    |
[INFO] [stdout] 46 |             let hdr = try!(parse_header(&mut r));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:52:25
[INFO] [stdout]    |
[INFO] [stdout] 52 |             let trans = try!(parse_trans_64(&mut r, hdr.transitions));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:53:28
[INFO] [stdout]    |
[INFO] [stdout] 53 |             let type_idx = try!(parse_type_idx(&mut r, hdr.transitions));
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:54:25
[INFO] [stdout]    |
[INFO] [stdout] 54 |             let types = try!(parse_types(&mut r, hdr.types));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:55:25
[INFO] [stdout]    |
[INFO] [stdout] 55 |             let abbrs = try!(parse_abbrs(&mut r, hdr.abbr_size));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:58:25
[INFO] [stdout]    |
[INFO] [stdout] 58 |             let trule = try!(parse_posix_tz(&mut r));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     try!(r.read_exact(&mut buff[..]));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |         try!(r.read_exact(&mut buff[..]));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         try!(r.read_exact(&mut buff[..]));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     try!(r.read_exact(&mut idx[..]));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:161:9
[INFO] [stdout]     |
[INFO] [stdout] 161 |         try!(r.read_exact(&mut buff[..]));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 |     try!(r.read_exact(&mut buff[..]));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |     try!(r.read_to_string(&mut s));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 202 |     try!(r.seek(SeekFrom::Current(len as i64)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:303:17
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let s = try!(std::ffi::CString::new(s).map_err(|_| InputError::InvalidFormat));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:304:19
[INFO] [stdout]     |
[INFO] [stdout] 304 |         let fmt = try!(std::ffi::CString::new(fmt).map_err(|_| InputError::InvalidFormat));
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:335:20
[INFO] [stdout]     |
[INFO] [stdout] 335 |             stamp: try!(Timespec::unix(stamp, nano)),
[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/lib.rs:1252:32
[INFO] [stdout]      |
[INFO] [stdout] 1252 |         write!(fmt, "{}", 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/lib.rs:1259:32
[INFO] [stdout]      |
[INFO] [stdout] 1259 |         write!(fmt, "{}", 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/lib.rs:1295:32
[INFO] [stdout]      |
[INFO] [stdout] 1295 |         write!(fmt, "{}", 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/lib.rs:1302:32
[INFO] [stdout]      |
[INFO] [stdout] 1302 |         write!(fmt, "{}", 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/lib.rs:1330:32
[INFO] [stdout]      |
[INFO] [stdout] 1330 |         write!(fmt, "{}", 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/lib.rs:1337:32
[INFO] [stdout]      |
[INFO] [stdout] 1337 |         write!(fmt, "{}", self.description())
[INFO] [stdout]      |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:276:16
[INFO] [stdout]     |
[INFO] [stdout] 276 |     pub fn now(&self) -> Datetime {
[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] 276 |     pub fn now(&self) -> Datetime<'_> {
[INFO] [stdout]     |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:286:18
[INFO] [stdout]     |
[INFO] [stdout] 286 |     pub fn parse(&self, s: &str, fmt: &str) -> Result<Datetime, InputError> {
[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] 286 |     pub fn parse(&self, s: &str, fmt: &str) -> Result<Datetime<'_>, InputError> {
[INFO] [stdout]     |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:332:17
[INFO] [stdout]     |
[INFO] [stdout] 332 |     pub fn unix(&self, stamp: i64, nano: i32) -> Result<Datetime, InputError> {
[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] 332 |     pub fn unix(&self, stamp: i64, nano: i32) -> Result<Datetime<'_>, InputError> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:348:21
[INFO] [stdout]     |
[INFO] [stdout] 348 |     pub fn datetime(&self,
[INFO] [stdout]     |                     ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 356 |                     -> Result<Datetime, InputError> {
[INFO] [stdout]     |                               ^^^^^^^^ 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] 356 |                     -> Result<Datetime<'_>, InputError> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.76s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: 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 4`
[INFO] running `Command { std: "docker" "inspect" "408905b82d04be30413376923499112a461955630a234513ad08fb1fc180b6c3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "408905b82d04be30413376923499112a461955630a234513ad08fb1fc180b6c3", kill_on_drop: false }`
[INFO] [stdout] 408905b82d04be30413376923499112a461955630a234513ad08fb1fc180b6c3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 6391ffe80cfa4ec06b91ef313ebfc842aaa69a99aaecdc50c3c152cdb12d0efa
[INFO] running `Command { std: "docker" "start" "-a" "6391ffe80cfa4ec06b91ef313ebfc842aaa69a99aaecdc50c3c152cdb12d0efa", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse.rs:25:13
[INFO] [stderr]    |
[INFO] [stderr] 25 |     let f = try!(File::open(filename));
[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/parse.rs:28:15
[INFO] [stderr]    |
[INFO] [stderr] 28 |     let hdr = try!(parse_header(&mut r));
[INFO] [stderr]    |               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse.rs:31:25
[INFO] [stderr]    |
[INFO] [stderr] 31 |             let trans = try!(parse_trans_32(&mut r, hdr.transitions));
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse.rs:32:28
[INFO] [stderr]    |
[INFO] [stderr] 32 |             let type_idx = try!(parse_type_idx(&mut r, hdr.transitions));
[INFO] [stderr]    |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse.rs:33:25
[INFO] [stderr]    |
[INFO] [stderr] 33 |             let types = try!(parse_types(&mut r, hdr.types));
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse.rs:34:25
[INFO] [stderr]    |
[INFO] [stderr] 34 |             let abbrs = try!(parse_abbrs(&mut r, hdr.abbr_size));
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse.rs:43:13
[INFO] [stderr]    |
[INFO] [stderr] 43 |             try!(skip(&mut r, to_skip));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse.rs:57:13
[INFO] [stderr]    |
[INFO] [stderr] 57 |             try!(skip(&mut r, to_skip));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse.rs:46:23
[INFO] [stderr]    |
[INFO] [stderr] 46 |             let hdr = try!(parse_header(&mut r));
[INFO] [stderr]    |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse.rs:52:25
[INFO] [stderr]    |
[INFO] [stderr] 52 |             let trans = try!(parse_trans_64(&mut r, hdr.transitions));
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse.rs:53:28
[INFO] [stderr]    |
[INFO] [stderr] 53 |             let type_idx = try!(parse_type_idx(&mut r, hdr.transitions));
[INFO] [stderr]    |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse.rs:54:25
[INFO] [stderr]    |
[INFO] [stderr] 54 |             let types = try!(parse_types(&mut r, hdr.types));
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse.rs:55:25
[INFO] [stderr]    |
[INFO] [stderr] 55 |             let abbrs = try!(parse_abbrs(&mut r, hdr.abbr_size));
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse.rs:58:25
[INFO] [stderr]    |
[INFO] [stderr] 58 |             let trule = try!(parse_posix_tz(&mut r));
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:104:5
[INFO] [stderr]     |
[INFO] [stderr] 104 |     try!(r.read_exact(&mut buff[..]));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:133:9
[INFO] [stderr]     |
[INFO] [stderr] 133 |         try!(r.read_exact(&mut buff[..]));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:144:9
[INFO] [stderr]     |
[INFO] [stderr] 144 |         try!(r.read_exact(&mut buff[..]));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:153:5
[INFO] [stderr]     |
[INFO] [stderr] 153 |     try!(r.read_exact(&mut idx[..]));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:161:9
[INFO] [stderr]     |
[INFO] [stderr] 161 |         try!(r.read_exact(&mut buff[..]));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:169:5
[INFO] [stderr]     |
[INFO] [stderr] 169 |     try!(r.read_exact(&mut buff[..]));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:188:5
[INFO] [stderr]     |
[INFO] [stderr] 188 |     try!(r.read_to_string(&mut s));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:202:5
[INFO] [stderr]     |
[INFO] [stderr] 202 |     try!(r.seek(SeekFrom::Current(len as i64)));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:303:17
[INFO] [stderr]     |
[INFO] [stderr] 303 |         let s = try!(std::ffi::CString::new(s).map_err(|_| InputError::InvalidFormat));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:304:19
[INFO] [stderr]     |
[INFO] [stderr] 304 |         let fmt = try!(std::ffi::CString::new(fmt).map_err(|_| InputError::InvalidFormat));
[INFO] [stderr]     |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:335:20
[INFO] [stderr]     |
[INFO] [stderr] 335 |             stamp: try!(Timespec::unix(stamp, nano)),
[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/lib.rs:1252:32
[INFO] [stderr]      |
[INFO] [stderr] 1252 |         write!(fmt, "{}", 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/lib.rs:1259:32
[INFO] [stderr]      |
[INFO] [stderr] 1259 |         write!(fmt, "{}", 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/lib.rs:1295:32
[INFO] [stderr]      |
[INFO] [stderr] 1295 |         write!(fmt, "{}", 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/lib.rs:1302:32
[INFO] [stderr]      |
[INFO] [stderr] 1302 |         write!(fmt, "{}", 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/lib.rs:1330:32
[INFO] [stderr]      |
[INFO] [stderr] 1330 |         write!(fmt, "{}", 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/lib.rs:1337:32
[INFO] [stderr]      |
[INFO] [stderr] 1337 |         write!(fmt, "{}", self.description())
[INFO] [stderr]      |                                ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:276:16
[INFO] [stderr]     |
[INFO] [stderr] 276 |     pub fn now(&self) -> Datetime {
[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] 276 |     pub fn now(&self) -> Datetime<'_> {
[INFO] [stderr]     |                                  ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:286:18
[INFO] [stderr]     |
[INFO] [stderr] 286 |     pub fn parse(&self, s: &str, fmt: &str) -> Result<Datetime, InputError> {
[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] 286 |     pub fn parse(&self, s: &str, fmt: &str) -> Result<Datetime<'_>, InputError> {
[INFO] [stderr]     |                                                               ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:332:17
[INFO] [stderr]     |
[INFO] [stderr] 332 |     pub fn unix(&self, stamp: i64, nano: i32) -> Result<Datetime, InputError> {
[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] 332 |     pub fn unix(&self, stamp: i64, nano: i32) -> Result<Datetime<'_>, InputError> {
[INFO] [stderr]     |                                                                 ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:348:21
[INFO] [stderr]     |
[INFO] [stderr] 348 |     pub fn datetime(&self,
[INFO] [stderr]     |                     ^^^^^ the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 356 |                     -> Result<Datetime, InputError> {
[INFO] [stderr]     |                               ^^^^^^^^ 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] 356 |                     -> Result<Datetime<'_>, InputError> {
[INFO] [stderr]     |                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `hourglass` (lib) generated 35 warnings (run `cargo fix --lib -p hourglass` to apply 4 suggestions)
[INFO] [stderr] warning: `hourglass` (lib test) generated 35 warnings (35 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: 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 4`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/hourglass-c3c06138619666a1)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test test::test_add_deltatime ... ok
[INFO] [stdout] test test::test_datetime ... ok
[INFO] [stdout] test test::test_cmp_datetimes ... ok
[INFO] [stdout] test test::test_datetime_timespec_conv ... ok
[INFO] [stdout] test test::test_delta_conversion ... ok
[INFO] [stdout] test test::test_format ... ok
[INFO] [stdout] test test::test_generic_day ... ok
[INFO] [stdout] test test::test_posixtz ... ok
[INFO] [stdout] test test::test_tz_projection ... ok
[INFO] [stdout] test iter::test::test_range_unbounded ... ok
[INFO] [stdout] test test::test_leap_second ... ok
[INFO] [stdout] test test::test_parse ... ok
[INFO] [stdout] test test::test_sub_datetimes ... ok
[INFO] [stdout] test test::test_trans_rule ... ok
[INFO] [stdout] test iter::test::test_range ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests hourglass
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test src/lib.rs - (line 28) ... ok
[INFO] [stdout] test src/lib.rs - (line 59) ... ok
[INFO] [stdout] test src/lib.rs - (line 15) ... ok
[INFO] [stdout] test src/lib.rs - (line 40) ... ok
[INFO] [stdout] test src/lib.rs - (line 75) ... ok
[INFO] [stdout] test src/lib.rs - (line 106) ... ok
[INFO] [stdout] test src/lib.rs - Datetime (line 978) ... ok
[INFO] [stdout] test src/lib.rs - Timezone (line 147) ... ok
[INFO] [stdout] test src/lib.rs - Deltatime (line 1393) ... ok
[INFO] [stdout] test src/iter.rs - iter::Every (line 14) ... ok
[INFO] [stdout] test src/lib.rs - (line 93) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 6.01s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "6391ffe80cfa4ec06b91ef313ebfc842aaa69a99aaecdc50c3c152cdb12d0efa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6391ffe80cfa4ec06b91ef313ebfc842aaa69a99aaecdc50c3c152cdb12d0efa", kill_on_drop: false }`
[INFO] [stdout] 6391ffe80cfa4ec06b91ef313ebfc842aaa69a99aaecdc50c3c152cdb12d0efa
