[INFO] fetching crate vcp 0.0.1...
[INFO] testing vcp-0.0.1 against 1.99.0-beta.8 for beta-1.100-2
[INFO] extracting crate vcp 0.0.1 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate vcp 0.0.1
[INFO] finished tweaking crates.io crate vcp 0.0.1
[INFO] tweaked toml for crates.io crate vcp 0.0.1 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate vcp 0.0.1 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate vcp 0.0.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 86f44abda88c77c2e9cffd575ced9c459bc7e3af2add765ccd4d23d6bf387072
[INFO] running `Command { std: "docker" "start" "86f44abda88c77c2e9cffd575ced9c459bc7e3af2add765ccd4d23d6bf387072", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "86f44abda88c77c2e9cffd575ced9c459bc7e3af2add765ccd4d23d6bf387072", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "86f44abda88c77c2e9cffd575ced9c459bc7e3af2add765ccd4d23d6bf387072" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "86f44abda88c77c2e9cffd575ced9c459bc7e3af2add765ccd4d23d6bf387072", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "86f44abda88c77c2e9cffd575ced9c459bc7e3af2add765ccd4d23d6bf387072" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling encoding_index_tests v0.1.4
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling encoding-index-singlebyte v1.20141219.5
[INFO] [stderr]    Compiling encoding-index-tradchinese v1.20141219.5
[INFO] [stderr]    Compiling encoding-index-simpchinese v1.20141219.5
[INFO] [stderr]    Compiling encoding-index-korean v1.20141219.5
[INFO] [stderr]    Compiling encoding-index-japanese v1.20141219.5
[INFO] [stderr]    Compiling encoding v0.2.33
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling vcp v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/jt808/models/jt0x0100.rs:57:30
[INFO] [stdout]    |
[INFO] [stdout] 57 |             Ver808::V2013 => (37 + self.name.bytes_len()),
[INFO] [stdout]    |                              ^                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 57 -             Ver808::V2013 => (37 + self.name.bytes_len()),
[INFO] [stdout] 57 +             Ver808::V2013 => 37 + self.name.bytes_len(),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/jt808/models/jt0x0100.rs:58:30
[INFO] [stdout]    |
[INFO] [stdout] 58 |             Ver808::V2019 => (76 + self.name.bytes_len()),
[INFO] [stdout]    |                              ^                          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 58 -             Ver808::V2019 => (76 + self.name.bytes_len()),
[INFO] [stdout] 58 +             Ver808::V2019 => 76 + self.name.bytes_len(),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/jt808/package/mod.rs:67:20
[INFO] [stdout]    |
[INFO] [stdout] 67 |         body: &mut (dyn Jt808BodySerialize),
[INFO] [stdout]    |                    ^                      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 67 -         body: &mut (dyn Jt808BodySerialize),
[INFO] [stdout] 67 +         body: &mut dyn Jt808BodySerialize,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]  --> src/util/bytes_bcd.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt, usize};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]  --> src/util/bytes_gbk.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt, usize};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]  --> src/jt808/codec/mod.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::{cmp, fmt, io, usize};
[INFO] [stdout]   |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::usize::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]   --> src/jt808/codec/mod.rs:29:32
[INFO] [stdout]    |
[INFO] [stdout] 29 |             max_length: usize::MAX,
[INFO] [stdout]    |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]  --> src/jt808/bytes/jtbytes.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::usize;
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]  --> src/jt1078/codec.rs:6:32
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::{fmt, io, ops::Index, usize};
[INFO] [stdout]   |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stdout]   --> src/util/bytes/mod.rs:57:14
[INFO] [stdout]    |
[INFO] [stdout] 57 |             .ymd(
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stdout]   --> src/util/bytes/mod.rs:62:14
[INFO] [stdout]    |
[INFO] [stdout] 62 |             .and_hms(
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stdout]   --> src/util/bytes/mod.rs:81:15
[INFO] [stdout]    |
[INFO] [stdout] 81 |         Local.ymd(
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stdout]   --> src/util/bytes/mod.rs:86:10
[INFO] [stdout]    |
[INFO] [stdout] 86 |         .and_hms(
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/util/timer_helper.rs:30:15
[INFO] [stdout]    |
[INFO] [stdout] 30 |         Local.timestamp(unixtime, 0)
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stdout]   --> src/util/timer_helper.rs:50:10
[INFO] [stdout]    |
[INFO] [stdout] 50 |         .ymd(year, data[1].into(), data[2].into())
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stdout]   --> src/util/timer_helper.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 51 |         .and_hms(data[3].into(), data[4].into(), data[5].into())
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stdout]   --> src/jt1078/extend808/jt0x9201.rs:35:50
[INFO] [stdout]    |
[INFO] [stdout] 35 |     static ref ZERO_TIME:DateTime<Local> = Local.ymd(2022, 1, 1).and_hms(1, 1, 1);
[INFO] [stdout]    |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stdout]   --> src/jt1078/extend808/jt0x9201.rs:35:66
[INFO] [stdout]    |
[INFO] [stdout] 35 |     static ref ZERO_TIME:DateTime<Local> = Local.ymd(2022, 1, 1).and_hms(1, 1, 1);
[INFO] [stdout]    |                                                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/jt1078/extend808/jt0x9201.rs:50:31
[INFO] [stdout]    |
[INFO] [stdout] 50 |         buf.put_dt_bcd6(Local.timestamp(self.starttime, 0));
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/jt1078/extend808/jt0x9201.rs:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |             buf.put_dt_bcd6(Local.timestamp(self.endtime, 0));
[INFO] [stdout]    |                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/jt1078/extend808/jt0x9202.rs:22:60
[INFO] [stdout]    |
[INFO] [stdout] 22 |         buf.put_slice(&TimeHelper::datetime_to_bcd6(&Local.timestamp(self.drag_playback_position, 0)));
[INFO] [stdout]    |                                                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/jt1078/extend808/jt0x9205.rs:30:64
[INFO] [stdout]    |
[INFO] [stdout] 30 |             buf.put_slice(&TimeHelper::datetime_to_bcd6(&Local.timestamp(self.starttime, 0)));
[INFO] [stdout]    |                                                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/jt1078/extend808/jt0x9205.rs:35:64
[INFO] [stdout]    |
[INFO] [stdout] 35 |             buf.put_slice(&TimeHelper::datetime_to_bcd6(&Local.timestamp(self.endtime, 0)));
[INFO] [stdout]    |                                                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/jt1078/extend808/jt0x1205.rs:74:35
[INFO] [stdout]    |
[INFO] [stdout] 74 |             buf.put_dt_bcd6(Local.timestamp(self.starttime, 0));
[INFO] [stdout]    |                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/jt1078/extend808/jt0x1205.rs:79:35
[INFO] [stdout]    |
[INFO] [stdout] 79 |             buf.put_dt_bcd6(Local.timestamp(self.endtime, 0));
[INFO] [stdout]    |                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Jt0x0704` is never constructed
[INFO] [stdout]  --> src/jt808/models/location/jt0x0704.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Jt0x0704 {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add` and `remove` are never used
[INFO] [stdout]   --> src/jt808/models/location/jt0x0704.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Jt0x0704 {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 15 |     pub fn add(&mut self, jt0200: Jt0x0200) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn remove(&mut self, jt0200: Jt0x0200) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::slice::<impl [T]>::split_at` that must be used
[INFO] [stdout]   --> src/util/bytes_bcd.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 self.bytes.split_at(fixed_len);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 let _ = self.bytes.split_at(fixed_len);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::slice::<impl [T]>::split_at` that must be used
[INFO] [stdout]   --> src/util/bytes_gbk.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 self.bytes.split_at(fixed_len);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 let _ = self.bytes.split_at(fixed_len);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.71s
[INFO] running `Command { std: "docker" "inspect" "86f44abda88c77c2e9cffd575ced9c459bc7e3af2add765ccd4d23d6bf387072", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "86f44abda88c77c2e9cffd575ced9c459bc7e3af2add765ccd4d23d6bf387072" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/jt808/models/jt0x0100.rs:57:30
[INFO] [stdout]    |
[INFO] [stdout] 57 |             Ver808::V2013 => (37 + self.name.bytes_len()),
[INFO] [stdout]    |                              ^                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 57 -             Ver808::V2013 => (37 + self.name.bytes_len()),
[INFO] [stdout] 57 +             Ver808::V2013 => 37 + self.name.bytes_len(),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/jt808/models/jt0x0100.rs:58:30
[INFO] [stdout]    |
[INFO] [stdout] 58 |             Ver808::V2019 => (76 + self.name.bytes_len()),
[INFO] [stdout]    |                              ^                          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 58 -             Ver808::V2019 => (76 + self.name.bytes_len()),
[INFO] [stdout] 58 +             Ver808::V2019 => 76 + self.name.bytes_len(),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/jt808/package/mod.rs:67:20
[INFO] [stdout]    |
[INFO] [stdout] 67 |         body: &mut (dyn Jt808BodySerialize),
[INFO] [stdout]    |                    ^                      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 67 -         body: &mut (dyn Jt808BodySerialize),
[INFO] [stdout] 67 +         body: &mut dyn Jt808BodySerialize,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]  --> src/util/bytes_bcd.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt, usize};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]  --> src/util/bytes_gbk.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt, usize};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]  --> src/jt808/codec/mod.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::{cmp, fmt, io, usize};
[INFO] [stdout]   |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::usize::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]   --> src/jt808/codec/mod.rs:29:32
[INFO] [stdout]    |
[INFO] [stdout] 29 |             max_length: usize::MAX,
[INFO] [stdout]    |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]  --> src/jt808/bytes/jtbytes.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::usize;
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]  --> src/jt1078/codec.rs:6:32
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::{fmt, io, ops::Index, usize};
[INFO] [stdout]   |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stdout]   --> src/util/bytes/mod.rs:57:14
[INFO] [stdout]    |
[INFO] [stdout] 57 |             .ymd(
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stdout]   --> src/util/bytes/mod.rs:62:14
[INFO] [stdout]    |
[INFO] [stdout] 62 |             .and_hms(
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stdout]   --> src/util/bytes/mod.rs:81:15
[INFO] [stdout]    |
[INFO] [stdout] 81 |         Local.ymd(
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stdout]   --> src/util/bytes/mod.rs:86:10
[INFO] [stdout]    |
[INFO] [stdout] 86 |         .and_hms(
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/util/timer_helper.rs:30:15
[INFO] [stdout]    |
[INFO] [stdout] 30 |         Local.timestamp(unixtime, 0)
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stdout]   --> src/util/timer_helper.rs:50:10
[INFO] [stdout]    |
[INFO] [stdout] 50 |         .ymd(year, data[1].into(), data[2].into())
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stdout]   --> src/util/timer_helper.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 51 |         .and_hms(data[3].into(), data[4].into(), data[5].into())
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stdout]   --> src/jt1078/extend808/jt0x9201.rs:35:50
[INFO] [stdout]    |
[INFO] [stdout] 35 |     static ref ZERO_TIME:DateTime<Local> = Local.ymd(2022, 1, 1).and_hms(1, 1, 1);
[INFO] [stdout]    |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stdout]   --> src/jt1078/extend808/jt0x9201.rs:35:66
[INFO] [stdout]    |
[INFO] [stdout] 35 |     static ref ZERO_TIME:DateTime<Local> = Local.ymd(2022, 1, 1).and_hms(1, 1, 1);
[INFO] [stdout]    |                                                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/jt1078/extend808/jt0x9201.rs:50:31
[INFO] [stdout]    |
[INFO] [stdout] 50 |         buf.put_dt_bcd6(Local.timestamp(self.starttime, 0));
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/jt1078/extend808/jt0x9201.rs:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |             buf.put_dt_bcd6(Local.timestamp(self.endtime, 0));
[INFO] [stdout]    |                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/jt1078/extend808/jt0x9202.rs:22:60
[INFO] [stdout]    |
[INFO] [stdout] 22 |         buf.put_slice(&TimeHelper::datetime_to_bcd6(&Local.timestamp(self.drag_playback_position, 0)));
[INFO] [stdout]    |                                                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/jt1078/extend808/jt0x9205.rs:30:64
[INFO] [stdout]    |
[INFO] [stdout] 30 |             buf.put_slice(&TimeHelper::datetime_to_bcd6(&Local.timestamp(self.starttime, 0)));
[INFO] [stdout]    |                                                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/jt1078/extend808/jt0x9205.rs:35:64
[INFO] [stdout]    |
[INFO] [stdout] 35 |             buf.put_slice(&TimeHelper::datetime_to_bcd6(&Local.timestamp(self.endtime, 0)));
[INFO] [stdout]    |                                                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/jt1078/extend808/jt0x1205.rs:74:35
[INFO] [stdout]    |
[INFO] [stdout] 74 |             buf.put_dt_bcd6(Local.timestamp(self.starttime, 0));
[INFO] [stdout]    |                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/jt1078/extend808/jt0x1205.rs:79:35
[INFO] [stdout]    |
[INFO] [stdout] 79 |             buf.put_dt_bcd6(Local.timestamp(self.endtime, 0));
[INFO] [stdout]    |                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling vcp v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: struct `Jt0x0704` is never constructed
[INFO] [stdout]  --> src/jt808/models/location/jt0x0704.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Jt0x0704 {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add` and `remove` are never used
[INFO] [stdout]   --> src/jt808/models/location/jt0x0704.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Jt0x0704 {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 15 |     pub fn add(&mut self, jt0200: Jt0x0200) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn remove(&mut self, jt0200: Jt0x0200) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::slice::<impl [T]>::split_at` that must be used
[INFO] [stdout]   --> src/util/bytes_bcd.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 self.bytes.split_at(fixed_len);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 let _ = self.bytes.split_at(fixed_len);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::slice::<impl [T]>::split_at` that must be used
[INFO] [stdout]   --> src/util/bytes_gbk.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 self.bytes.split_at(fixed_len);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 let _ = self.bytes.split_at(fixed_len);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/jt808/models/jt0x0100.rs:57:30
[INFO] [stdout]    |
[INFO] [stdout] 57 |             Ver808::V2013 => (37 + self.name.bytes_len()),
[INFO] [stdout]    |                              ^                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 57 -             Ver808::V2013 => (37 + self.name.bytes_len()),
[INFO] [stdout] 57 +             Ver808::V2013 => 37 + self.name.bytes_len(),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/jt808/models/jt0x0100.rs:58:30
[INFO] [stdout]    |
[INFO] [stdout] 58 |             Ver808::V2019 => (76 + self.name.bytes_len()),
[INFO] [stdout]    |                              ^                          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 58 -             Ver808::V2019 => (76 + self.name.bytes_len()),
[INFO] [stdout] 58 +             Ver808::V2019 => 76 + self.name.bytes_len(),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/jt808/package/mod.rs:67:20
[INFO] [stdout]    |
[INFO] [stdout] 67 |         body: &mut (dyn Jt808BodySerialize),
[INFO] [stdout]    |                    ^                      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 67 -         body: &mut (dyn Jt808BodySerialize),
[INFO] [stdout] 67 +         body: &mut dyn Jt808BodySerialize,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]  --> src/util/bytes_bcd.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt, usize};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]  --> src/util/bytes_gbk.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt, usize};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]  --> src/jt808/codec/mod.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::{cmp, fmt, io, usize};
[INFO] [stdout]   |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::usize::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]   --> src/jt808/codec/mod.rs:29:32
[INFO] [stdout]    |
[INFO] [stdout] 29 |             max_length: usize::MAX,
[INFO] [stdout]    |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]  --> src/jt808/bytes/jtbytes.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::usize;
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]  --> src/jt1078/codec.rs:6:32
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::{fmt, io, ops::Index, usize};
[INFO] [stdout]   |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stdout]   --> src/util/bytes/mod.rs:57:14
[INFO] [stdout]    |
[INFO] [stdout] 57 |             .ymd(
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stdout]   --> src/util/bytes/mod.rs:62:14
[INFO] [stdout]    |
[INFO] [stdout] 62 |             .and_hms(
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stdout]   --> src/util/bytes/mod.rs:81:15
[INFO] [stdout]    |
[INFO] [stdout] 81 |         Local.ymd(
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stdout]   --> src/util/bytes/mod.rs:86:10
[INFO] [stdout]    |
[INFO] [stdout] 86 |         .and_hms(
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/util/timer_helper.rs:30:15
[INFO] [stdout]    |
[INFO] [stdout] 30 |         Local.timestamp(unixtime, 0)
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stdout]   --> src/util/timer_helper.rs:50:10
[INFO] [stdout]    |
[INFO] [stdout] 50 |         .ymd(year, data[1].into(), data[2].into())
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stdout]   --> src/util/timer_helper.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 51 |         .and_hms(data[3].into(), data[4].into(), data[5].into())
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stdout]   --> src/util/timer_helper.rs:59:30
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let datatime_set = Local.ymd(2021, 11, 11).and_hms(9, 17, 18);
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stdout]   --> src/util/timer_helper.rs:59:48
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let datatime_set = Local.ymd(2021, 11, 11).and_hms(9, 17, 18);
[INFO] [stdout]    |                                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stdout]   --> src/jt1078/extend808/jt0x9201.rs:35:50
[INFO] [stdout]    |
[INFO] [stdout] 35 |     static ref ZERO_TIME:DateTime<Local> = Local.ymd(2022, 1, 1).and_hms(1, 1, 1);
[INFO] [stdout]    |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stdout]   --> src/jt1078/extend808/jt0x9201.rs:35:66
[INFO] [stdout]    |
[INFO] [stdout] 35 |     static ref ZERO_TIME:DateTime<Local> = Local.ymd(2022, 1, 1).and_hms(1, 1, 1);
[INFO] [stdout]    |                                                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/jt1078/extend808/jt0x9201.rs:50:31
[INFO] [stdout]    |
[INFO] [stdout] 50 |         buf.put_dt_bcd6(Local.timestamp(self.starttime, 0));
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/jt1078/extend808/jt0x9201.rs:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |             buf.put_dt_bcd6(Local.timestamp(self.endtime, 0));
[INFO] [stdout]    |                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/jt1078/extend808/jt0x9202.rs:22:60
[INFO] [stdout]    |
[INFO] [stdout] 22 |         buf.put_slice(&TimeHelper::datetime_to_bcd6(&Local.timestamp(self.drag_playback_position, 0)));
[INFO] [stdout]    |                                                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/jt1078/extend808/jt0x9205.rs:30:64
[INFO] [stdout]    |
[INFO] [stdout] 30 |             buf.put_slice(&TimeHelper::datetime_to_bcd6(&Local.timestamp(self.starttime, 0)));
[INFO] [stdout]    |                                                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/jt1078/extend808/jt0x9205.rs:35:64
[INFO] [stdout]    |
[INFO] [stdout] 35 |             buf.put_slice(&TimeHelper::datetime_to_bcd6(&Local.timestamp(self.endtime, 0)));
[INFO] [stdout]    |                                                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/jt1078/extend808/jt0x1205.rs:74:35
[INFO] [stdout]    |
[INFO] [stdout] 74 |             buf.put_dt_bcd6(Local.timestamp(self.starttime, 0));
[INFO] [stdout]    |                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/jt1078/extend808/jt0x1205.rs:79:35
[INFO] [stdout]    |
[INFO] [stdout] 79 |             buf.put_dt_bcd6(Local.timestamp(self.endtime, 0));
[INFO] [stdout]    |                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Jt0x0704` is never constructed
[INFO] [stdout]  --> src/jt808/models/location/jt0x0704.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Jt0x0704 {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add` and `remove` are never used
[INFO] [stdout]   --> src/jt808/models/location/jt0x0704.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Jt0x0704 {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 15 |     pub fn add(&mut self, jt0200: Jt0x0200) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn remove(&mut self, jt0200: Jt0x0200) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::slice::<impl [T]>::split_at` that must be used
[INFO] [stdout]   --> src/util/bytes_bcd.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 self.bytes.split_at(fixed_len);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 let _ = self.bytes.split_at(fixed_len);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::slice::<impl [T]>::split_at` that must be used
[INFO] [stdout]   --> src/util/bytes_gbk.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 self.bytes.split_at(fixed_len);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 let _ = self.bytes.split_at(fixed_len);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.76s
[INFO] running `Command { std: "docker" "inspect" "86f44abda88c77c2e9cffd575ced9c459bc7e3af2add765ccd4d23d6bf387072", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "86f44abda88c77c2e9cffd575ced9c459bc7e3af2add765ccd4d23d6bf387072" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]   --> src/jt808/models/jt0x0100.rs:57:30
[INFO] [stderr]    |
[INFO] [stderr] 57 |             Ver808::V2013 => (37 + self.name.bytes_len()),
[INFO] [stderr]    |                              ^                          ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 57 -             Ver808::V2013 => (37 + self.name.bytes_len()),
[INFO] [stderr] 57 +             Ver808::V2013 => 37 + self.name.bytes_len(),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]   --> src/jt808/models/jt0x0100.rs:58:30
[INFO] [stderr]    |
[INFO] [stderr] 58 |             Ver808::V2019 => (76 + self.name.bytes_len()),
[INFO] [stderr]    |                              ^                          ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 58 -             Ver808::V2019 => (76 + self.name.bytes_len()),
[INFO] [stderr] 58 +             Ver808::V2019 => 76 + self.name.bytes_len(),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/jt808/package/mod.rs:67:20
[INFO] [stderr]    |
[INFO] [stderr] 67 |         body: &mut (dyn Jt808BodySerialize),
[INFO] [stderr]    |                    ^                      ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 67 -         body: &mut (dyn Jt808BodySerialize),
[INFO] [stderr] 67 +         body: &mut dyn Jt808BodySerialize,
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stderr]  --> src/util/bytes_bcd.rs:1:16
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::{fmt, usize};
[INFO] [stderr]   |                ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stderr]  --> src/util/bytes_gbk.rs:1:16
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::{fmt, usize};
[INFO] [stderr]   |                ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stderr]  --> src/jt808/codec/mod.rs:5:25
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::{cmp, fmt, io, usize};
[INFO] [stderr]   |                         ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::usize::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stderr]   --> src/jt808/codec/mod.rs:29:32
[INFO] [stderr]    |
[INFO] [stderr] 29 |             max_length: usize::MAX,
[INFO] [stderr]    |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stderr]  --> src/jt808/bytes/jtbytes.rs:1:10
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::usize;
[INFO] [stderr]   |          ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stderr]  --> src/jt1078/codec.rs:6:32
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::{fmt, io, ops::Index, usize};
[INFO] [stderr]   |                                ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stderr]   --> src/util/bytes/mod.rs:57:14
[INFO] [stderr]    |
[INFO] [stderr] 57 |             .ymd(
[INFO] [stderr]    |              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stderr]   --> src/util/bytes/mod.rs:62:14
[INFO] [stderr]    |
[INFO] [stderr] 62 |             .and_hms(
[INFO] [stderr]    |              ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stderr]   --> src/util/bytes/mod.rs:81:15
[INFO] [stderr]    |
[INFO] [stderr] 81 |         Local.ymd(
[INFO] [stderr]    |               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stderr]   --> src/util/bytes/mod.rs:86:10
[INFO] [stderr]    |
[INFO] [stderr] 86 |         .and_hms(
[INFO] [stderr]    |          ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stderr]   --> src/util/timer_helper.rs:30:15
[INFO] [stderr]    |
[INFO] [stderr] 30 |         Local.timestamp(unixtime, 0)
[INFO] [stderr]    |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stderr]   --> src/util/timer_helper.rs:50:10
[INFO] [stderr]    |
[INFO] [stderr] 50 |         .ymd(year, data[1].into(), data[2].into())
[INFO] [stderr]    |          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stderr]   --> src/util/timer_helper.rs:51:10
[INFO] [stderr]    |
[INFO] [stderr] 51 |         .and_hms(data[3].into(), data[4].into(), data[5].into())
[INFO] [stderr]    |          ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stderr]   --> src/jt1078/extend808/jt0x9201.rs:35:50
[INFO] [stderr]    |
[INFO] [stderr] 35 |     static ref ZERO_TIME:DateTime<Local> = Local.ymd(2022, 1, 1).and_hms(1, 1, 1);
[INFO] [stderr]    |                                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stderr]   --> src/jt1078/extend808/jt0x9201.rs:35:66
[INFO] [stderr]    |
[INFO] [stderr] 35 |     static ref ZERO_TIME:DateTime<Local> = Local.ymd(2022, 1, 1).and_hms(1, 1, 1);
[INFO] [stderr]    |                                                                  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stderr]   --> src/jt1078/extend808/jt0x9201.rs:50:31
[INFO] [stderr]    |
[INFO] [stderr] 50 |         buf.put_dt_bcd6(Local.timestamp(self.starttime, 0));
[INFO] [stderr]    |                               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stderr]   --> src/jt1078/extend808/jt0x9201.rs:55:35
[INFO] [stderr]    |
[INFO] [stderr] 55 |             buf.put_dt_bcd6(Local.timestamp(self.endtime, 0));
[INFO] [stderr]    |                                   ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stderr]   --> src/jt1078/extend808/jt0x9202.rs:22:60
[INFO] [stderr]    |
[INFO] [stderr] 22 |         buf.put_slice(&TimeHelper::datetime_to_bcd6(&Local.timestamp(self.drag_playback_position, 0)));
[INFO] [stderr]    |                                                            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stderr]   --> src/jt1078/extend808/jt0x9205.rs:30:64
[INFO] [stderr]    |
[INFO] [stderr] 30 |             buf.put_slice(&TimeHelper::datetime_to_bcd6(&Local.timestamp(self.starttime, 0)));
[INFO] [stderr]    |                                                                ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stderr]   --> src/jt1078/extend808/jt0x9205.rs:35:64
[INFO] [stderr]    |
[INFO] [stderr] 35 |             buf.put_slice(&TimeHelper::datetime_to_bcd6(&Local.timestamp(self.endtime, 0)));
[INFO] [stderr]    |                                                                ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stderr]   --> src/jt1078/extend808/jt0x1205.rs:74:35
[INFO] [stderr]    |
[INFO] [stderr] 74 |             buf.put_dt_bcd6(Local.timestamp(self.starttime, 0));
[INFO] [stderr]    |                                   ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stderr]   --> src/jt1078/extend808/jt0x1205.rs:79:35
[INFO] [stderr]    |
[INFO] [stderr] 79 |             buf.put_dt_bcd6(Local.timestamp(self.endtime, 0));
[INFO] [stderr]    |                                   ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Jt0x0704` is never constructed
[INFO] [stderr]  --> src/jt808/models/location/jt0x0704.rs:6:12
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct Jt0x0704 {
[INFO] [stderr]   |            ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `add` and `remove` are never used
[INFO] [stderr]   --> src/jt808/models/location/jt0x0704.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | impl Jt0x0704 {
[INFO] [stderr]    | ------------- methods in this implementation
[INFO] [stderr] 15 |     pub fn add(&mut self, jt0200: Jt0x0200) {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 19 |     pub fn remove(&mut self, jt0200: Jt0x0200) {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::slice::<impl [T]>::split_at` that must be used
[INFO] [stderr]   --> src/util/bytes_bcd.rs:40:17
[INFO] [stderr]    |
[INFO] [stderr] 40 |                 self.bytes.split_at(fixed_len);
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 40 |                 let _ = self.bytes.split_at(fixed_len);
[INFO] [stderr]    |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::slice::<impl [T]>::split_at` that must be used
[INFO] [stderr]   --> src/util/bytes_gbk.rs:86:17
[INFO] [stderr]    |
[INFO] [stderr] 86 |                 self.bytes.split_at(fixed_len);
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 86 |                 let _ = self.bytes.split_at(fixed_len);
[INFO] [stderr]    |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `vcp` (lib) generated 29 warnings (run `cargo fix --lib -p vcp` to apply 3 suggestions)
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stderr]   --> src/util/timer_helper.rs:59:30
[INFO] [stderr]    |
[INFO] [stderr] 59 |     let datatime_set = Local.ymd(2021, 11, 11).and_hms(9, 17, 18);
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stderr]   --> src/util/timer_helper.rs:59:48
[INFO] [stderr]    |
[INFO] [stderr] 59 |     let datatime_set = Local.ymd(2021, 11, 11).and_hms(9, 17, 18);
[INFO] [stderr]    |                                                ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `vcp` (lib test) generated 31 warnings (29 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vcp-acc52ec816a6404e)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stderr]    Doc-tests vcp
[INFO] [stdout] test util::bytes::ibuff_write_test ... ok
[INFO] [stdout] test util::timer_helper::timer_helper_test ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]   --> src/jt808/models/jt0x0100.rs:57:30
[INFO] [stderr]    |
[INFO] [stderr] 57 |             Ver808::V2013 => (37 + self.name.bytes_len()),
[INFO] [stderr]    |                              ^                          ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 57 -             Ver808::V2013 => (37 + self.name.bytes_len()),
[INFO] [stderr] 57 +             Ver808::V2013 => 37 + self.name.bytes_len(),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]   --> src/jt808/models/jt0x0100.rs:58:30
[INFO] [stderr]    |
[INFO] [stderr] 58 |             Ver808::V2019 => (76 + self.name.bytes_len()),
[INFO] [stderr]    |                              ^                          ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 58 -             Ver808::V2019 => (76 + self.name.bytes_len()),
[INFO] [stderr] 58 +             Ver808::V2019 => 76 + self.name.bytes_len(),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/jt808/package/mod.rs:67:20
[INFO] [stderr]    |
[INFO] [stderr] 67 |         body: &mut (dyn Jt808BodySerialize),
[INFO] [stderr]    |                    ^                      ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 67 -         body: &mut (dyn Jt808BodySerialize),
[INFO] [stderr] 67 +         body: &mut dyn Jt808BodySerialize,
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: 3 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "86f44abda88c77c2e9cffd575ced9c459bc7e3af2add765ccd4d23d6bf387072", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "86f44abda88c77c2e9cffd575ced9c459bc7e3af2add765ccd4d23d6bf387072", kill_on_drop: false }`
[INFO] [stdout] 86f44abda88c77c2e9cffd575ced9c459bc7e3af2add765ccd4d23d6bf387072
