[INFO] fetching crate systemstat 0.1.5...
[INFO] testing systemstat-0.1.5 against 1.47.0 for beta-1.48-1
[INFO] extracting crate systemstat 0.1.5 into /workspace/builds/worker-4/source
[INFO] validating manifest of crates.io crate systemstat 0.1.5 on toolchain 1.47.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking crates.io crate systemstat 0.1.5
[INFO] finished tweaking crates.io crate systemstat 0.1.5
[INFO] tweaked toml for crates.io crate systemstat 0.1.5 written to /workspace/builds/worker-4/source/Cargo.toml
[INFO] crate crates.io crate systemstat 0.1.5 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e3644cd5815191459b9721a9d4bc788d7cfd24bf2278c6e4751f0b9ae1362d77
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "e3644cd5815191459b9721a9d4bc788d7cfd24bf2278c6e4751f0b9ae1362d77", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e3644cd5815191459b9721a9d4bc788d7cfd24bf2278c6e4751f0b9ae1362d77", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e3644cd5815191459b9721a9d4bc788d7cfd24bf2278c6e4751f0b9ae1362d77", kill_on_drop: false }`
[INFO] [stdout] e3644cd5815191459b9721a9d4bc788d7cfd24bf2278c6e4751f0b9ae1362d77
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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=warn" "-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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6305ad3a42e7c6ff2d057176dc60166784a1e31ee92c96c693856dbd0e9eca01
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "6305ad3a42e7c6ff2d057176dc60166784a1e31ee92c96c693856dbd0e9eca01", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.62
[INFO] [stderr]    Compiling bytesize v1.0.0
[INFO] [stderr]    Compiling num-traits v0.2.8
[INFO] [stderr]    Compiling memchr v1.0.2
[INFO] [stderr]    Compiling time v0.1.42
[INFO] [stderr]    Compiling nom v3.2.1
[INFO] [stderr]    Compiling num-integer v0.1.41
[INFO] [stderr]    Compiling chrono v0.4.9
[INFO] [stderr]    Compiling systemstat v0.1.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/platform/common.rs:20:27
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let measurement = try!(self.cpu_load());
[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/platform/common.rs:46:29
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Ok(Utc::now() - try!(time::Duration::from_std(ut)
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/platform/linux.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     try!(read_file(path))
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:406:23
[INFO] [stdout]     |
[INFO] [stdout] 406 |         let entries = try!(fs::read_dir(&dir));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:414:25
[INFO] [stdout]     |
[INFO] [stdout] 414 |                 full += try!(
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:418:24
[INFO] [stdout]     |
[INFO] [stdout] 418 |                 now += try!(
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:422:28
[INFO] [stdout]     |
[INFO] [stdout] 422 |                 current += try!(
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:445:23
[INFO] [stdout]     |
[INFO] [stdout] 445 |         let entries = try!(fs::read_dir(&dir));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:451:26
[INFO] [stdout]     |
[INFO] [stdout] 451 |                 on_ac |= try!(value_from_file::<i32>(&(s.to_string() + "/online")).map(|v| v == 1))
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:490:44
[INFO] [stdout]     |
[INFO] [stdout] 490 |         let stats: Vec<BlockDeviceStats> = try!(read_file("/proc/diskstats")
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:511:29
[INFO] [stdout]     |
[INFO] [stdout] 511 |         let rx_bytes: u64 = try!(value_from_file::<u64>(&stats_file("rx_bytes")));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:512:29
[INFO] [stdout]     |
[INFO] [stdout] 512 |         let tx_bytes: u64 = try!(value_from_file::<u64>(&stats_file("tx_bytes")));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:513:31
[INFO] [stdout]     |
[INFO] [stdout] 513 |         let rx_packets: u64 = try!(value_from_file::<u64>(&stats_file("rx_packets")));
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:514:31
[INFO] [stdout]     |
[INFO] [stdout] 514 |         let tx_packets: u64 = try!(value_from_file::<u64>(&stats_file("tx_packets")));
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:515:30
[INFO] [stdout]     |
[INFO] [stdout] 515 |         let rx_errors: u64 = try!(value_from_file::<u64>(&stats_file("rx_errors")));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:516:30
[INFO] [stdout]     |
[INFO] [stdout] 516 |         let tx_errors: u64 = try!(value_from_file::<u64>(&stats_file("tx_errors")));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:540:13
[INFO] [stdout]     |
[INFO] [stdout] 540 |             try!(read_file("/proc/net/sockstat")
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:548:13
[INFO] [stdout]     |
[INFO] [stdout] 548 |             try!(read_file("/proc/net/sockstat6")
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/platform/linux.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | /// Parse an unsigned integer out of a string, surrounded by whitespace
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/platform/linux.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | /// Parse `cpuX`, where X is a number
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/platform/linux.rs:62:1
[INFO] [stdout]    |
[INFO] [stdout] 62 | /// Parse a `/proc/stat` CPU line into a `CpuTime` struct
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/platform/linux.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | /// Parse the top CPU load aggregate line of `/proc/stat`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/platform/linux.rs:87:1
[INFO] [stdout]    |
[INFO] [stdout] 87 | /// Parse `/proc/stat` to extract per-CPU loads
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | /// Parse a `/proc/meminfo` line into (key, ByteSize)
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | /// Optionally parse a `/proc/meminfo` line`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:126:1
[INFO] [stdout]     |
[INFO] [stdout] 126 | /// Parse `/proc/meminfo` into a hashmap
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:150:1
[INFO] [stdout]     |
[INFO] [stdout] 150 | /// Parse a single word
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:163:1
[INFO] [stdout]     |
[INFO] [stdout] 163 | /// Parse a `/proc/mounts` line to get a mountpoint
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | /// Parse `/proc/mounts` to get a list of mountpoints
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:191:1
[INFO] [stdout]     |
[INFO] [stdout] 191 | /// Parse `/proc/net/sockstat` to get socket statistics
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:217:1
[INFO] [stdout]     |
[INFO] [stdout] 217 | /// Parse `/proc/net/sockstat6` to get socket statistics
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:254:1
[INFO] [stdout]     |
[INFO] [stdout] 254 | /// Parse a line of `/proc/diskstats`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:289:1
[INFO] [stdout]     |
[INFO] [stdout] 289 | /// Parse `/proc/diskstats` to get a Vec<BlockDeviceStats>
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/lib.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/platform/unix.rs:25:28
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let ifa = unsafe { (*ifap) };
[INFO] [stdout]    |                            ^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/data.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 22 |     res: Box<Fn() -> io::Result<T> + Send>,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> io::Result<T> + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/data.rs:27:23
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new(f: Box<Fn() -> io::Result<T> + Send>) -> DelayedMeasurement<T> {
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> io::Result<T> + Send`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stdout]   --> src/platform/linux.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 |         .trim_right_matches("\n")
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_end_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/platform/common.rs:39:27
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 .map_err(|e| io::Error::new(io::ErrorKind::Other, "Could not process time"))
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/platform/common.rs:47:27
[INFO] [stdout]    |
[INFO] [stdout] 47 |                 .map_err(|e| io::Error::new(io::ErrorKind::Other, "Could not process time"))))
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/platform/unix.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let mut entry = result.entry(name.clone()).or_insert(Network {
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 41 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 11.96s
[INFO] running `Command { std: "docker" "inspect" "6305ad3a42e7c6ff2d057176dc60166784a1e31ee92c96c693856dbd0e9eca01", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6305ad3a42e7c6ff2d057176dc60166784a1e31ee92c96c693856dbd0e9eca01", kill_on_drop: false }`
[INFO] [stdout] 6305ad3a42e7c6ff2d057176dc60166784a1e31ee92c96c693856dbd0e9eca01
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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=warn" "-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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 10c73883d5fbb74a5a31895a1c8584ce4f4f9194fc48f31959cc24aa6c5320c9
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "10c73883d5fbb74a5a31895a1c8584ce4f4f9194fc48f31959cc24aa6c5320c9", kill_on_drop: false }`
[INFO] [stderr]    Compiling systemstat v0.1.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/platform/common.rs:20:27
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let measurement = try!(self.cpu_load());
[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/platform/common.rs:46:29
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Ok(Utc::now() - try!(time::Duration::from_std(ut)
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/platform/linux.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     try!(read_file(path))
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:406:23
[INFO] [stdout]     |
[INFO] [stdout] 406 |         let entries = try!(fs::read_dir(&dir));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:414:25
[INFO] [stdout]     |
[INFO] [stdout] 414 |                 full += try!(
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:418:24
[INFO] [stdout]     |
[INFO] [stdout] 418 |                 now += try!(
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:422:28
[INFO] [stdout]     |
[INFO] [stdout] 422 |                 current += try!(
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:445:23
[INFO] [stdout]     |
[INFO] [stdout] 445 |         let entries = try!(fs::read_dir(&dir));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:451:26
[INFO] [stdout]     |
[INFO] [stdout] 451 |                 on_ac |= try!(value_from_file::<i32>(&(s.to_string() + "/online")).map(|v| v == 1))
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:490:44
[INFO] [stdout]     |
[INFO] [stdout] 490 |         let stats: Vec<BlockDeviceStats> = try!(read_file("/proc/diskstats")
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:511:29
[INFO] [stdout]     |
[INFO] [stdout] 511 |         let rx_bytes: u64 = try!(value_from_file::<u64>(&stats_file("rx_bytes")));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:512:29
[INFO] [stdout]     |
[INFO] [stdout] 512 |         let tx_bytes: u64 = try!(value_from_file::<u64>(&stats_file("tx_bytes")));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:513:31
[INFO] [stdout]     |
[INFO] [stdout] 513 |         let rx_packets: u64 = try!(value_from_file::<u64>(&stats_file("rx_packets")));
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:514:31
[INFO] [stdout]     |
[INFO] [stdout] 514 |         let tx_packets: u64 = try!(value_from_file::<u64>(&stats_file("tx_packets")));
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:515:30
[INFO] [stdout]     |
[INFO] [stdout] 515 |         let rx_errors: u64 = try!(value_from_file::<u64>(&stats_file("rx_errors")));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:516:30
[INFO] [stdout]     |
[INFO] [stdout] 516 |         let tx_errors: u64 = try!(value_from_file::<u64>(&stats_file("tx_errors")));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:540:13
[INFO] [stdout]     |
[INFO] [stdout] 540 |             try!(read_file("/proc/net/sockstat")
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:548:13
[INFO] [stdout]     |
[INFO] [stdout] 548 |             try!(read_file("/proc/net/sockstat6")
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/platform/linux.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | /// Parse an unsigned integer out of a string, surrounded by whitespace
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/platform/linux.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | /// Parse `cpuX`, where X is a number
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/platform/linux.rs:62:1
[INFO] [stdout]    |
[INFO] [stdout] 62 | /// Parse a `/proc/stat` CPU line into a `CpuTime` struct
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/platform/linux.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | /// Parse the top CPU load aggregate line of `/proc/stat`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/platform/linux.rs:87:1
[INFO] [stdout]    |
[INFO] [stdout] 87 | /// Parse `/proc/stat` to extract per-CPU loads
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | /// Parse a `/proc/meminfo` line into (key, ByteSize)
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | /// Optionally parse a `/proc/meminfo` line`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:126:1
[INFO] [stdout]     |
[INFO] [stdout] 126 | /// Parse `/proc/meminfo` into a hashmap
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:150:1
[INFO] [stdout]     |
[INFO] [stdout] 150 | /// Parse a single word
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:163:1
[INFO] [stdout]     |
[INFO] [stdout] 163 | /// Parse a `/proc/mounts` line to get a mountpoint
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | /// Parse `/proc/mounts` to get a list of mountpoints
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:191:1
[INFO] [stdout]     |
[INFO] [stdout] 191 | /// Parse `/proc/net/sockstat` to get socket statistics
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:217:1
[INFO] [stdout]     |
[INFO] [stdout] 217 | /// Parse `/proc/net/sockstat6` to get socket statistics
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:254:1
[INFO] [stdout]     |
[INFO] [stdout] 254 | /// Parse a line of `/proc/diskstats`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:289:1
[INFO] [stdout]     |
[INFO] [stdout] 289 | /// Parse `/proc/diskstats` to get a Vec<BlockDeviceStats>
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/lib.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/platform/unix.rs:25:28
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let ifa = unsafe { (*ifap) };
[INFO] [stdout]    |                            ^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/data.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 22 |     res: Box<Fn() -> io::Result<T> + Send>,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> io::Result<T> + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/data.rs:27:23
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new(f: Box<Fn() -> io::Result<T> + Send>) -> DelayedMeasurement<T> {
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> io::Result<T> + Send`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stdout]   --> src/platform/linux.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 |         .trim_right_matches("\n")
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_end_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/platform/common.rs:39:27
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 .map_err(|e| io::Error::new(io::ErrorKind::Other, "Could not process time"))
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/platform/common.rs:47:27
[INFO] [stdout]    |
[INFO] [stdout] 47 |                 .map_err(|e| io::Error::new(io::ErrorKind::Other, "Could not process time"))))
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/platform/unix.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let mut entry = result.entry(name.clone()).or_insert(Network {
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 41 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/platform/common.rs:20:27
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let measurement = try!(self.cpu_load());
[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/platform/common.rs:46:29
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Ok(Utc::now() - try!(time::Duration::from_std(ut)
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/platform/linux.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     try!(read_file(path))
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:406:23
[INFO] [stdout]     |
[INFO] [stdout] 406 |         let entries = try!(fs::read_dir(&dir));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:414:25
[INFO] [stdout]     |
[INFO] [stdout] 414 |                 full += try!(
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:418:24
[INFO] [stdout]     |
[INFO] [stdout] 418 |                 now += try!(
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:422:28
[INFO] [stdout]     |
[INFO] [stdout] 422 |                 current += try!(
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:445:23
[INFO] [stdout]     |
[INFO] [stdout] 445 |         let entries = try!(fs::read_dir(&dir));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:451:26
[INFO] [stdout]     |
[INFO] [stdout] 451 |                 on_ac |= try!(value_from_file::<i32>(&(s.to_string() + "/online")).map(|v| v == 1))
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:490:44
[INFO] [stdout]     |
[INFO] [stdout] 490 |         let stats: Vec<BlockDeviceStats> = try!(read_file("/proc/diskstats")
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:511:29
[INFO] [stdout]     |
[INFO] [stdout] 511 |         let rx_bytes: u64 = try!(value_from_file::<u64>(&stats_file("rx_bytes")));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:512:29
[INFO] [stdout]     |
[INFO] [stdout] 512 |         let tx_bytes: u64 = try!(value_from_file::<u64>(&stats_file("tx_bytes")));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:513:31
[INFO] [stdout]     |
[INFO] [stdout] 513 |         let rx_packets: u64 = try!(value_from_file::<u64>(&stats_file("rx_packets")));
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:514:31
[INFO] [stdout]     |
[INFO] [stdout] 514 |         let tx_packets: u64 = try!(value_from_file::<u64>(&stats_file("tx_packets")));
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:515:30
[INFO] [stdout]     |
[INFO] [stdout] 515 |         let rx_errors: u64 = try!(value_from_file::<u64>(&stats_file("rx_errors")));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:516:30
[INFO] [stdout]     |
[INFO] [stdout] 516 |         let tx_errors: u64 = try!(value_from_file::<u64>(&stats_file("tx_errors")));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:540:13
[INFO] [stdout]     |
[INFO] [stdout] 540 |             try!(read_file("/proc/net/sockstat")
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/platform/linux.rs:548:13
[INFO] [stdout]     |
[INFO] [stdout] 548 |             try!(read_file("/proc/net/sockstat6")
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/platform/linux.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | /// Parse an unsigned integer out of a string, surrounded by whitespace
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/platform/linux.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | /// Parse `cpuX`, where X is a number
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/platform/linux.rs:62:1
[INFO] [stdout]    |
[INFO] [stdout] 62 | /// Parse a `/proc/stat` CPU line into a `CpuTime` struct
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/platform/linux.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | /// Parse the top CPU load aggregate line of `/proc/stat`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/platform/linux.rs:87:1
[INFO] [stdout]    |
[INFO] [stdout] 87 | /// Parse `/proc/stat` to extract per-CPU loads
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | /// Parse a `/proc/meminfo` line into (key, ByteSize)
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | /// Optionally parse a `/proc/meminfo` line`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:126:1
[INFO] [stdout]     |
[INFO] [stdout] 126 | /// Parse `/proc/meminfo` into a hashmap
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:150:1
[INFO] [stdout]     |
[INFO] [stdout] 150 | /// Parse a single word
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:163:1
[INFO] [stdout]     |
[INFO] [stdout] 163 | /// Parse a `/proc/mounts` line to get a mountpoint
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | /// Parse `/proc/mounts` to get a list of mountpoints
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:191:1
[INFO] [stdout]     |
[INFO] [stdout] 191 | /// Parse `/proc/net/sockstat` to get socket statistics
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:217:1
[INFO] [stdout]     |
[INFO] [stdout] 217 | /// Parse `/proc/net/sockstat6` to get socket statistics
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:254:1
[INFO] [stdout]     |
[INFO] [stdout] 254 | /// Parse a line of `/proc/diskstats`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/platform/linux.rs:289:1
[INFO] [stdout]     |
[INFO] [stdout] 289 | /// Parse `/proc/diskstats` to get a Vec<BlockDeviceStats>
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/lib.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/platform/unix.rs:25:28
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let ifa = unsafe { (*ifap) };
[INFO] [stdout]    |                            ^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/data.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 22 |     res: Box<Fn() -> io::Result<T> + Send>,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> io::Result<T> + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/data.rs:27:23
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new(f: Box<Fn() -> io::Result<T> + Send>) -> DelayedMeasurement<T> {
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> io::Result<T> + Send`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stdout]   --> src/platform/linux.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 |         .trim_right_matches("\n")
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_end_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/platform/common.rs:39:27
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 .map_err(|e| io::Error::new(io::ErrorKind::Other, "Could not process time"))
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/platform/common.rs:47:27
[INFO] [stdout]    |
[INFO] [stdout] 47 |                 .map_err(|e| io::Error::new(io::ErrorKind::Other, "Could not process time"))))
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/platform/unix.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let mut entry = result.entry(name.clone()).or_insert(Network {
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 3.67s
[INFO] [stdout] warning: 41 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "10c73883d5fbb74a5a31895a1c8584ce4f4f9194fc48f31959cc24aa6c5320c9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "10c73883d5fbb74a5a31895a1c8584ce4f4f9194fc48f31959cc24aa6c5320c9", kill_on_drop: false }`
[INFO] [stdout] 10c73883d5fbb74a5a31895a1c8584ce4f4f9194fc48f31959cc24aa6c5320c9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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=warn" "-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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c7b79c5f0584bc00ae470ad0d2e56528f423f36cc95c9586befae28849802e97
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "c7b79c5f0584bc00ae470ad0d2e56528f423f36cc95c9586befae28849802e97", kill_on_drop: false }`
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/platform/common.rs:20:27
[INFO] [stderr]    |
[INFO] [stderr] 20 |         let measurement = try!(self.cpu_load());
[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/platform/common.rs:46:29
[INFO] [stderr]    |
[INFO] [stderr] 46 |             Ok(Utc::now() - try!(time::Duration::from_std(ut)
[INFO] [stderr]    |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/platform/linux.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 |     try!(read_file(path))
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:406:23
[INFO] [stderr]     |
[INFO] [stderr] 406 |         let entries = try!(fs::read_dir(&dir));
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:414:25
[INFO] [stderr]     |
[INFO] [stderr] 414 |                 full += try!(
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:418:24
[INFO] [stderr]     |
[INFO] [stderr] 418 |                 now += try!(
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:422:28
[INFO] [stderr]     |
[INFO] [stderr] 422 |                 current += try!(
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:445:23
[INFO] [stderr]     |
[INFO] [stderr] 445 |         let entries = try!(fs::read_dir(&dir));
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:451:26
[INFO] [stderr]     |
[INFO] [stderr] 451 |                 on_ac |= try!(value_from_file::<i32>(&(s.to_string() + "/online")).map(|v| v == 1))
[INFO] [stderr]     |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:490:44
[INFO] [stderr]     |
[INFO] [stderr] 490 |         let stats: Vec<BlockDeviceStats> = try!(read_file("/proc/diskstats")
[INFO] [stderr]     |                                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:511:29
[INFO] [stderr]     |
[INFO] [stderr] 511 |         let rx_bytes: u64 = try!(value_from_file::<u64>(&stats_file("rx_bytes")));
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:512:29
[INFO] [stderr]     |
[INFO] [stderr] 512 |         let tx_bytes: u64 = try!(value_from_file::<u64>(&stats_file("tx_bytes")));
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:513:31
[INFO] [stderr]     |
[INFO] [stderr] 513 |         let rx_packets: u64 = try!(value_from_file::<u64>(&stats_file("rx_packets")));
[INFO] [stderr]     |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:514:31
[INFO] [stderr]     |
[INFO] [stderr] 514 |         let tx_packets: u64 = try!(value_from_file::<u64>(&stats_file("tx_packets")));
[INFO] [stderr]     |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/platform/common.rs:20:27
[INFO] [stderr]    |
[INFO] [stderr] 20 |         let measurement = try!(self.cpu_load());
[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/platform/common.rs:46:29
[INFO] [stderr]    |
[INFO] [stderr] 46 |             Ok(Utc::now() - try!(time::Duration::from_std(ut)
[INFO] [stderr]    |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/platform/linux.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 |     try!(read_file(path))
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:406:23
[INFO] [stderr]     |
[INFO] [stderr] 406 |         let entries = try!(fs::read_dir(&dir));
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:414:25
[INFO] [stderr]     |
[INFO] [stderr] 414 |                 full += try!(
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:418:24
[INFO] [stderr]     |
[INFO] [stderr] 418 |                 now += try!(
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:422:28
[INFO] [stderr]     |
[INFO] [stderr] 422 |                 current += try!(
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:445:23
[INFO] [stderr]     |
[INFO] [stderr] 445 |         let entries = try!(fs::read_dir(&dir));
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:451:26
[INFO] [stderr]     |
[INFO] [stderr] 451 |                 on_ac |= try!(value_from_file::<i32>(&(s.to_string() + "/online")).map(|v| v == 1))
[INFO] [stderr]     |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:490:44
[INFO] [stderr]     |
[INFO] [stderr] 490 |         let stats: Vec<BlockDeviceStats> = try!(read_file("/proc/diskstats")
[INFO] [stderr]     |                                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:511:29
[INFO] [stderr]     |
[INFO] [stderr] 511 |         let rx_bytes: u64 = try!(value_from_file::<u64>(&stats_file("rx_bytes")));
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:512:29
[INFO] [stderr]     |
[INFO] [stderr] 512 |         let tx_bytes: u64 = try!(value_from_file::<u64>(&stats_file("tx_bytes")));
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:513:31
[INFO] [stderr]     |
[INFO] [stderr] 513 |         let rx_packets: u64 = try!(value_from_file::<u64>(&stats_file("rx_packets")));
[INFO] [stderr]     |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:514:31
[INFO] [stderr]     |
[INFO] [stderr] 514 |         let tx_packets: u64 = try!(value_from_file::<u64>(&stats_file("tx_packets")));
[INFO] [stderr]     |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:515:30
[INFO] [stderr]     |
[INFO] [stderr] 515 |         let rx_errors: u64 = try!(value_from_file::<u64>(&stats_file("rx_errors")));
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:516:30
[INFO] [stderr]     |
[INFO] [stderr] 516 |         let tx_errors: u64 = try!(value_from_file::<u64>(&stats_file("tx_errors")));
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:540:13
[INFO] [stderr]     |
[INFO] [stderr] 540 |             try!(read_file("/proc/net/sockstat")
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:548:13
[INFO] [stderr]     |
[INFO] [stderr] 548 |             try!(read_file("/proc/net/sockstat6")
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/platform/linux.rs:50:1
[INFO] [stderr]    |
[INFO] [stderr] 50 | /// Parse an unsigned integer out of a string, surrounded by whitespace
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stderr]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/platform/linux.rs:59:1
[INFO] [stderr]    |
[INFO] [stderr] 59 | /// Parse `cpuX`, where X is a number
[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] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/platform/linux.rs:62:1
[INFO] [stderr]    |
[INFO] [stderr] 62 | /// Parse a `/proc/stat` CPU line into a `CpuTime` struct
[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] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/platform/linux.rs:84:1
[INFO] [stderr]    |
[INFO] [stderr] 84 | /// Parse the top CPU load aggregate line of `/proc/stat`
[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] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/platform/linux.rs:87:1
[INFO] [stderr]    |
[INFO] [stderr] 87 | /// Parse `/proc/stat` to extract per-CPU loads
[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] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/platform/linux.rs:108:1
[INFO] [stderr]     |
[INFO] [stderr] 108 | /// Parse a `/proc/meminfo` line into (key, ByteSize)
[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] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/platform/linux.rs:120:1
[INFO] [stderr]     |
[INFO] [stderr] 120 | /// Optionally parse a `/proc/meminfo` line`
[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] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/platform/linux.rs:126:1
[INFO] [stderr]     |
[INFO] [stderr] 126 | /// Parse `/proc/meminfo` into a hashmap
[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] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/platform/linux.rs:150:1
[INFO] [stderr]     |
[INFO] [stderr] 150 | /// Parse a single word
[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] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/platform/linux.rs:163:1
[INFO] [stderr]     |
[INFO] [stderr] 163 | /// Parse a `/proc/mounts` line to get a mountpoint
[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] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/platform/linux.rs:178:1
[INFO] [stderr]     |
[INFO] [stderr] 178 | /// Parse `/proc/mounts` to get a list of mountpoints
[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] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/platform/linux.rs:191:1
[INFO] [stderr]     |
[INFO] [stderr] 191 | /// Parse `/proc/net/sockstat` to get socket statistics
[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] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/platform/linux.rs:217:1
[INFO] [stderr]     |
[INFO] [stderr] 217 | /// Parse `/proc/net/sockstat6` to get socket statistics
[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] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/platform/linux.rs:254:1
[INFO] [stderr]     |
[INFO] [stderr] 254 | /// Parse a line of `/proc/diskstats`
[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] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/platform/linux.rs:289:1
[INFO] [stderr]     |
[INFO] [stderr] 289 | /// Parse `/proc/diskstats` to get a Vec<BlockDeviceStats>
[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] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]   --> src/lib.rs:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | #[macro_use]
[INFO] [stderr]    | ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]   --> src/platform/unix.rs:25:28
[INFO] [stderr]    |
[INFO] [stderr] 25 |         let ifa = unsafe { (*ifap) };
[INFO] [stderr]    |                            ^^^^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/data.rs:22:14
[INFO] [stderr]    |
[INFO] [stderr] 22 |     res: Box<Fn() -> io::Result<T> + Send>,
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> io::Result<T> + Send`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/data.rs:27:23
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub fn new(f: Box<Fn() -> io::Result<T> + Send>) -> DelayedMeasurement<T> {
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> io::Result<T> + Send`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stderr]   --> src/platform/linux.rs:22:10
[INFO] [stderr]    |
[INFO] [stderr] 22 |         .trim_right_matches("\n")
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_end_matches`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> src/platform/common.rs:39:27
[INFO] [stderr]    |
[INFO] [stderr] 39 |                 .map_err(|e| io::Error::new(io::ErrorKind::Other, "Could not process time"))
[INFO] [stderr]    |                           ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> src/platform/common.rs:47:27
[INFO] [stderr]    |
[INFO] [stderr] 47 |                 .map_err(|e| io::Error::new(io::ErrorKind::Other, "Could not process time"))))
[INFO] [stderr]    |                           ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/platform/unix.rs:27:13
[INFO] [stderr]    |
[INFO] [stderr] 27 |         let mut entry = result.entry(name.clone()).or_insert(Network {
[INFO] [stderr]    |             ----^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 41 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:515:30
[INFO] [stderr]     |
[INFO] [stderr] 515 |         let rx_errors: u64 = try!(value_from_file::<u64>(&stats_file("rx_errors")));
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:516:30
[INFO] [stderr]     |
[INFO] [stderr] 516 |         let tx_errors: u64 = try!(value_from_file::<u64>(&stats_file("tx_errors")));
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:540:13
[INFO] [stderr]     |
[INFO] [stderr] 540 |             try!(read_file("/proc/net/sockstat")
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/platform/linux.rs:548:13
[INFO] [stderr]     |
[INFO] [stderr] 548 |             try!(read_file("/proc/net/sockstat6")
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/platform/linux.rs:50:1
[INFO] [stderr]    |
[INFO] [stderr] 50 | /// Parse an unsigned integer out of a string, surrounded by whitespace
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stderr]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/platform/linux.rs:59:1
[INFO] [stderr]    |
[INFO] [stderr] 59 | /// Parse `cpuX`, where X is a number
[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] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/platform/linux.rs:62:1
[INFO] [stderr]    |
[INFO] [stderr] 62 | /// Parse a `/proc/stat` CPU line into a `CpuTime` struct
[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] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/platform/linux.rs:84:1
[INFO] [stderr]    |
[INFO] [stderr] 84 | /// Parse the top CPU load aggregate line of `/proc/stat`
[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] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/platform/linux.rs:87:1
[INFO] [stderr]    |
[INFO] [stderr] 87 | /// Parse `/proc/stat` to extract per-CPU loads
[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] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/platform/linux.rs:108:1
[INFO] [stderr]     |
[INFO] [stderr] 108 | /// Parse a `/proc/meminfo` line into (key, ByteSize)
[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] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/platform/linux.rs:120:1
[INFO] [stderr]     |
[INFO] [stderr] 120 | /// Optionally parse a `/proc/meminfo` line`
[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] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/platform/linux.rs:126:1
[INFO] [stderr]     |
[INFO] [stderr] 126 | /// Parse `/proc/meminfo` into a hashmap
[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] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/platform/linux.rs:150:1
[INFO] [stderr]     |
[INFO] [stderr] 150 | /// Parse a single word
[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] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/platform/linux.rs:163:1
[INFO] [stderr]     |
[INFO] [stderr] 163 | /// Parse a `/proc/mounts` line to get a mountpoint
[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] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/platform/linux.rs:178:1
[INFO] [stderr]     |
[INFO] [stderr] 178 | /// Parse `/proc/mounts` to get a list of mountpoints
[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] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/platform/linux.rs:191:1
[INFO] [stderr]     |
[INFO] [stderr] 191 | /// Parse `/proc/net/sockstat` to get socket statistics
[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] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/platform/linux.rs:217:1
[INFO] [stderr]     |
[INFO] [stderr] 217 | /// Parse `/proc/net/sockstat6` to get socket statistics
[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] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/platform/linux.rs:254:1
[INFO] [stderr]     |
[INFO] [stderr] 254 | /// Parse a line of `/proc/diskstats`
[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] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/platform/linux.rs:289:1
[INFO] [stderr]     |
[INFO] [stderr] 289 | /// Parse `/proc/diskstats` to get a Vec<BlockDeviceStats>
[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] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]   --> src/lib.rs:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | #[macro_use]
[INFO] [stderr]    | ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]   --> src/platform/unix.rs:25:28
[INFO] [stderr]    |
[INFO] [stderr] 25 |         let ifa = unsafe { (*ifap) };
[INFO] [stderr]    |                            ^^^^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/data.rs:22:14
[INFO] [stderr]    |
[INFO] [stderr] 22 |     res: Box<Fn() -> io::Result<T> + Send>,
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> io::Result<T> + Send`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/data.rs:27:23
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub fn new(f: Box<Fn() -> io::Result<T> + Send>) -> DelayedMeasurement<T> {
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> io::Result<T> + Send`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stderr]   --> src/platform/linux.rs:22:10
[INFO] [stderr]    |
[INFO] [stderr] 22 |         .trim_right_matches("\n")
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_end_matches`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> src/platform/common.rs:39:27
[INFO] [stderr]    |
[INFO] [stderr] 39 |                 .map_err(|e| io::Error::new(io::ErrorKind::Other, "Could not process time"))
[INFO] [stderr]    |                           ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> src/platform/common.rs:47:27
[INFO] [stderr]    |
[INFO] [stderr] 47 |                 .map_err(|e| io::Error::new(io::ErrorKind::Other, "Could not process time"))))
[INFO] [stderr]    |                           ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/platform/unix.rs:27:13
[INFO] [stderr]    |
[INFO] [stderr] 27 |         let mut entry = result.entry(name.clone()).or_insert(Network {
[INFO] [stderr]    |             ----^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 41 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.10s
[INFO] [stdout] running 10 tests
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/systemstat-6c60d60e95a3be3a
[INFO] [stdout] test platform::tests::test_memory ... ok
[INFO] [stdout] test platform::tests::test_cpu_measurement_is_send ... ok
[INFO] [stdout] test platform::tests::test_mount_at ... ok
[INFO] [stdout] test platform::tests::test_on_ac_power ... ok
[INFO] [stdout] test platform::tests::test_load_average ... ok
[INFO] [stdout] test platform::tests::test_mounts ... ok
[INFO] [stdout] test platform::tests::test_battery_life ... ok
[INFO] [stdout] test platform::tests::test_networks ... ok
[INFO] [stdout] test platform::tests::test_cpu_load_aggregate ... ok
[INFO] [stderr]    Doc-tests systemstat
[INFO] [stdout] test platform::tests::test_cpu_load ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]   --> /opt/rustwide/workdir/src/platform/unix.rs:25:28
[INFO] [stderr]    |
[INFO] [stderr] 25 |         let ifa = unsafe { (*ifap) };
[INFO] [stderr]    |                            ^^^^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stderr] warning: 1 warning emitted
[INFO] [stdout] running 0 tests
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "c7b79c5f0584bc00ae470ad0d2e56528f423f36cc95c9586befae28849802e97", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c7b79c5f0584bc00ae470ad0d2e56528f423f36cc95c9586befae28849802e97", kill_on_drop: false }`
[INFO] [stdout] c7b79c5f0584bc00ae470ad0d2e56528f423f36cc95c9586befae28849802e97
