[INFO] fetching crate dnp3 1.5.0...
[INFO] checking dnp3-1.5.0 against master#30f74ff0dc4d66debc8b50724c446f817e5f75f4 for pr-121848-1
[INFO] extracting crate dnp3 1.5.0 into /workspace/builds/worker-7-tc1/source
[INFO] validating manifest of crates.io crate dnp3 1.5.0 on toolchain 30f74ff0dc4d66debc8b50724c446f817e5f75f4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate dnp3 1.5.0
[INFO] finished tweaking crates.io crate dnp3 1.5.0
[INFO] tweaked toml for crates.io crate dnp3 1.5.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] crate crates.io crate dnp3 1.5.0 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" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded mio-serial v5.0.5
[INFO] [stderr]   Downloaded rx509 v0.2.1
[INFO] [stderr]   Downloaded sfio-tokio-mock-io v0.2.0
[INFO] [stderr]   Downloaded xxhash-rust v0.8.7
[INFO] [stderr]   Downloaded anstyle-wincon v2.1.0
[INFO] [stderr]   Downloaded pem v3.0.2
[INFO] [stderr]   Downloaded sfio-rustls-config v0.1.2
[INFO] [stderr]   Downloaded scursor v0.1.0
[INFO] [stderr]   Downloaded scrypt v0.11.0
[INFO] [stderr]   Downloaded anstream v0.5.0
[INFO] [stderr]   Downloaded clap v4.4.3
[INFO] [stderr]   Downloaded pkcs5 v0.7.1
[INFO] [stderr]   Downloaded chrono v0.4.30
[INFO] [stderr]   Downloaded serde_json v1.0.106
[INFO] [stderr]   Downloaded rustls-webpki v0.101.5
[INFO] [stderr]   Downloaded tokio-serial v5.4.3
[INFO] [stderr]   Downloaded syn v2.0.32
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9b22b48dfbac3ddc2e9fa46e4073db51149e6974d2b2aaf268d7ba300fbb0d15
[INFO] running `Command { std: "docker" "start" "-a" "9b22b48dfbac3ddc2e9fa46e4073db51149e6974d2b2aaf268d7ba300fbb0d15", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9b22b48dfbac3ddc2e9fa46e4073db51149e6974d2b2aaf268d7ba300fbb0d15", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9b22b48dfbac3ddc2e9fa46e4073db51149e6974d2b2aaf268d7ba300fbb0d15", kill_on_drop: false }`
[INFO] [stdout] 9b22b48dfbac3ddc2e9fa46e4073db51149e6974d2b2aaf268d7ba300fbb0d15
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1f70600afab09c8ba3d9e3def870fb51b1bfa93086f9873c4be86ddb0ef0fbac
[INFO] running `Command { std: "docker" "start" "-a" "1f70600afab09c8ba3d9e3def870fb51b1bfa93086f9873c4be86ddb0ef0fbac", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.147
[INFO] [stderr]    Compiling typenum v1.16.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.66
[INFO] [stderr]    Compiling unicode-ident v1.0.11
[INFO] [stderr]     Checking once_cell v1.18.0
[INFO] [stderr]     Checking log v0.4.20
[INFO] [stderr]     Checking pin-project-lite v0.2.13
[INFO] [stderr]    Compiling futures-core v0.3.28
[INFO] [stderr]     Checking subtle v2.5.0
[INFO] [stderr]    Compiling futures-task v0.3.28
[INFO] [stderr]     Checking untrusted v0.7.1
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling memoffset v0.7.1
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling futures-channel v0.3.28
[INFO] [stderr]     Checking base64ct v1.6.0
[INFO] [stderr]     Checking futures-sink v0.3.28
[INFO] [stderr]     Checking cpufeatures v0.2.9
[INFO] [stderr]     Checking bytes v1.5.0
[INFO] [stderr]     Checking zeroize v1.6.0
[INFO] [stderr]    Compiling futures-util v0.3.28
[INFO] [stderr]     Checking const-oid v0.9.5
[INFO] [stderr]     Checking tracing-core v0.1.31
[INFO] [stderr]     Checking memchr v2.6.3
[INFO] [stderr]     Checking futures-io v0.3.28
[INFO] [stderr]     Checking pem-rfc7468 v0.7.0
[INFO] [stderr]    Compiling rustls v0.21.7
[INFO] [stderr]    Compiling num-traits v0.2.16
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking bitflags v2.0.2
[INFO] [stderr]     Checking utf8parse v0.2.1
[INFO] [stderr]     Checking colorchoice v1.0.0
[INFO] [stderr]     Checking der v0.7.8
[INFO] [stderr]     Checking anstyle v1.0.3
[INFO] [stderr]    Compiling serde v1.0.188
[INFO] [stderr]     Checking base64 v0.21.4
[INFO] [stderr]     Checking anstyle-parse v0.2.1
[INFO] [stderr]     Checking anstyle-query v1.0.0
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking iana-time-zone v0.1.57
[INFO] [stderr]     Checking strsim v0.10.0
[INFO] [stderr]     Checking rx509 v0.2.1
[INFO] [stderr]     Checking overload v0.1.1
[INFO] [stderr]     Checking clap_lex v0.5.1
[INFO] [stderr]     Checking anstream v0.5.0
[INFO] [stderr]    Compiling serde_json v1.0.106
[INFO] [stderr]     Checking nu-ansi-term v0.46.0
[INFO] [stderr]     Checking pem v3.0.2
[INFO] [stderr]     Checking tracing-log v0.1.3
[INFO] [stderr]     Checking sharded-slab v0.1.4
[INFO] [stderr]     Checking thread_local v1.1.7
[INFO] [stderr]     Checking clap_builder v4.4.2
[INFO] [stderr]     Checking scursor v0.1.0
[INFO] [stderr]     Checking xxhash-rust v0.8.7
[INFO] [stderr]     Checking ryu v1.0.15
[INFO] [stderr]     Checking smallvec v1.11.0
[INFO] [stderr]     Checking itoa v1.0.9
[INFO] [stderr]     Checking assert_matches v1.5.0
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling syn v2.0.32
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]     Checking spki v0.7.2
[INFO] [stderr]     Checking tracing-subscriber v0.3.17
[INFO] [stderr]     Checking mio v0.8.8
[INFO] [stderr]     Checking socket2 v0.5.4
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking getrandom v0.2.10
[INFO] [stderr]     Checking nix v0.26.4
[INFO] [stderr]     Checking chrono v0.4.30
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-padding v0.3.3
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking inout v0.1.3
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking sha2 v0.10.7
[INFO] [stderr]     Checking pbkdf2 v0.12.2
[INFO] [stderr]     Checking salsa20 v0.10.2
[INFO] [stderr]     Checking cbc v0.1.2
[INFO] [stderr]     Checking aes v0.8.3
[INFO] [stderr]     Checking scrypt v0.11.0
[INFO] [stderr]     Checking pkcs5 v0.7.1
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]     Checking serialport v4.2.2
[INFO] [stderr]     Checking mio-serial v5.0.5
[INFO] [stderr]    Compiling tokio-macros v2.1.0
[INFO] [stderr]    Compiling futures-macro v0.3.28
[INFO] [stderr]    Compiling tracing-attributes v0.1.26
[INFO] [stderr]    Compiling clap_derive v4.4.2
[INFO] [stderr]     Checking sct v0.7.0
[INFO] [stderr]     Checking rustls-webpki v0.101.5
[INFO] [stderr]     Checking tokio v1.32.0
[INFO] [stderr]     Checking tracing v0.1.37
[INFO] [stderr]     Checking clap v4.4.3
[INFO] [stderr]     Checking sfio-rustls-config v0.1.2
[INFO] [stderr]     Checking futures-executor v0.3.28
[INFO] [stderr]     Checking futures v0.3.28
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking tokio-serial v5.4.3
[INFO] [stderr]     Checking sfio-tokio-mock-io v0.2.0
[INFO] [stderr]     Checking tokio-stream v0.1.14
[INFO] [stderr]     Checking tokio-util v0.7.8
[INFO] [stderr]     Checking dnp3 v1.5.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: lint `illegal_floating_point_literal_pattern` has been removed: no longer a warning, float patterns behave the same as `==`
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | illegal_floating_point_literal_pattern,
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lint `private_in_public` has been removed: replaced with another group of lints, see RFC <https://rust-lang.github.io/rfcs/2145-type-privacy.html> for more information
[INFO] [stdout]   --> src/lib.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | private_in_public,
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Flags` is imported redundantly
[INFO] [stdout]  --> src/app/extensions.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::app::measurement::Flags;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 | use crate::app::measurement::*;
[INFO] [stdout]   |     -------------------------- the item `Flags` is already imported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `TryFrom` is imported redundantly
[INFO] [stdout]  --> src/app/types.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::convert::TryFrom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `TryFrom` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/link/format.rs:50:23
[INFO] [stdout]    |
[INFO] [stdout] 50 |     buffer: &mut [u8; super::constant::LINK_HEADER_LENGTH],
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | unused_qualifications,
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 50 -     buffer: &mut [u8; super::constant::LINK_HEADER_LENGTH],
[INFO] [stdout] 50 +     buffer: &mut [u8; constant::LINK_HEADER_LENGTH],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/link/parser.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 |     buffer: [u8; super::constant::MAX_FRAME_PAYLOAD_LENGTH],
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 19 -     buffer: [u8; super::constant::MAX_FRAME_PAYLOAD_LENGTH],
[INFO] [stdout] 19 +     buffer: [u8; constant::MAX_FRAME_PAYLOAD_LENGTH],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/link/parser.rs:26:25
[INFO] [stdout]    |
[INFO] [stdout] 26 |             buffer: [0; super::constant::MAX_FRAME_PAYLOAD_LENGTH],
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 26 -             buffer: [0; super::constant::MAX_FRAME_PAYLOAD_LENGTH],
[INFO] [stdout] 26 +             buffer: [0; constant::MAX_FRAME_PAYLOAD_LENGTH],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/master/file.rs:132:40
[INFO] [stdout]     |
[INFO] [stdout] 132 |             FileError::TaskError(t) => std::fmt::Debug::fmt(&t, f),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 132 -             FileError::TaskError(t) => std::fmt::Debug::fmt(&t, f),
[INFO] [stdout] 132 +             FileError::TaskError(t) => Debug::fmt(&t, f),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Variation` is imported redundantly
[INFO] [stdout]  --> src/master/handler.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::app::variations::Variation;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6 | use crate::app::*;
[INFO] [stdout]   |     ------------- the item `Variation` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/master/task.rs:738:9
[INFO] [stdout]     |
[INFO] [stdout] 738 |         crate::app::format::write::confirm_unsolicited(seq, &mut cursor)?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 738 -         crate::app::format::write::confirm_unsolicited(seq, &mut cursor)?;
[INFO] [stdout] 738 +         write::confirm_unsolicited(seq, &mut cursor)?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/outstation/database/details/range/static_db.rs:236:13
[INFO] [stdout]     |
[INFO] [stdout] 236 |             std::ops::Bound::Included(&range.start),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 236 -             std::ops::Bound::Included(&range.start),
[INFO] [stdout] 236 +             Bound::Included(&range.start),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/outstation/database/details/range/static_db.rs:237:13
[INFO] [stdout]     |
[INFO] [stdout] 237 |             std::ops::Bound::Included(&range.stop),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 237 -             std::ops::Bound::Included(&range.stop),
[INFO] [stdout] 237 +             Bound::Included(&range.stop),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/outstation/database/mod.rs:359:23
[INFO] [stdout]     |
[INFO] [stdout] 359 |     pub(crate) inner: crate::outstation::database::details::database::Database,
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 359 -     pub(crate) inner: crate::outstation::database::details::database::Database,
[INFO] [stdout] 359 +     pub(crate) inner: details::database::Database,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/outstation/database/mod.rs:370:20
[INFO] [stdout]     |
[INFO] [stdout] 370 |             inner: crate::outstation::database::details::database::Database::new(
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 370 -             inner: crate::outstation::database::details::database::Database::new(
[INFO] [stdout] 370 +             inner: details::database::Database::new(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `ControlField` is imported redundantly
[INFO] [stdout]   --> src/outstation/session.rs:18:18
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::app::*;
[INFO] [stdout]    |     ------------- the item `ControlField` is already imported here
[INFO] [stdout] 18 | use crate::app::{ControlField, Iin, Iin1, Iin2, ResponseFunction, ResponseHeader};
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Iin` is imported redundantly
[INFO] [stdout]   --> src/outstation/session.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::app::*;
[INFO] [stdout]    |     ------------- the item `Iin` is already imported here
[INFO] [stdout] 18 | use crate::app::{ControlField, Iin, Iin1, Iin2, ResponseFunction, ResponseHeader};
[INFO] [stdout]    |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Iin1` is imported redundantly
[INFO] [stdout]   --> src/outstation/session.rs:18:37
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::app::*;
[INFO] [stdout]    |     ------------- the item `Iin1` is already imported here
[INFO] [stdout] 18 | use crate::app::{ControlField, Iin, Iin1, Iin2, ResponseFunction, ResponseHeader};
[INFO] [stdout]    |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Iin2` is imported redundantly
[INFO] [stdout]   --> src/outstation/session.rs:18:43
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::app::*;
[INFO] [stdout]    |     ------------- the item `Iin2` is already imported here
[INFO] [stdout] 18 | use crate::app::{ControlField, Iin, Iin1, Iin2, ResponseFunction, ResponseHeader};
[INFO] [stdout]    |                                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `ResponseFunction` is imported redundantly
[INFO] [stdout]   --> src/outstation/session.rs:18:49
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::app::*;
[INFO] [stdout]    |     ------------- the item `ResponseFunction` is already imported here
[INFO] [stdout] 18 | use crate::app::{ControlField, Iin, Iin1, Iin2, ResponseFunction, ResponseHeader};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `ResponseHeader` is imported redundantly
[INFO] [stdout]   --> src/outstation/session.rs:18:67
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::app::*;
[INFO] [stdout]    |     ------------- the item `ResponseHeader` is already imported here
[INFO] [stdout] 18 | use crate::app::{ControlField, Iin, Iin1, Iin2, ResponseFunction, ResponseHeader};
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `TryFrom` is imported redundantly
[INFO] [stdout]  --> src/tcp/tls/master.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::convert::TryFrom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `TryFrom` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `OutstationHandle` is imported redundantly
[INFO] [stdout]  --> src/tcp/outstation.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::outstation::OutstationHandle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 | use crate::outstation::*;
[INFO] [stdout]   |     -------------------- the item `OutstationHandle` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lint `illegal_floating_point_literal_pattern` has been removed: no longer a warning, float patterns behave the same as `==`
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | illegal_floating_point_literal_pattern,
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lint `private_in_public` has been removed: replaced with another group of lints, see RFC <https://rust-lang.github.io/rfcs/2145-type-privacy.html> for more information
[INFO] [stdout]   --> src/lib.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | private_in_public,
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Flags` is imported redundantly
[INFO] [stdout]  --> src/app/extensions.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::app::measurement::Flags;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 | use crate::app::measurement::*;
[INFO] [stdout]   |     -------------------------- the item `Flags` is already imported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Attribute` is imported redundantly
[INFO] [stdout]    --> src/app/parse/parser.rs:679:64
[INFO] [stdout]     |
[INFO] [stdout] 679 |     use crate::app::attr::{AttrParseError, AttrSet, AttrValue, Attribute};
[INFO] [stdout]     |                                                                ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 689 |     use super::*;
[INFO] [stdout]     |         -------- the item `Attribute` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `ControlField` is imported redundantly
[INFO] [stdout]    --> src/app/parse/parser.rs:681:30
[INFO] [stdout]     |
[INFO] [stdout] 681 |     use crate::app::header::{ControlField, Iin, Iin1, Iin2};
[INFO] [stdout]     |                              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 689 |     use super::*;
[INFO] [stdout]     |         -------- the item `ControlField` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Iin` is imported redundantly
[INFO] [stdout]    --> src/app/parse/parser.rs:681:44
[INFO] [stdout]     |
[INFO] [stdout] 681 |     use crate::app::header::{ControlField, Iin, Iin1, Iin2};
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 689 |     use super::*;
[INFO] [stdout]     |         -------- the item `Iin` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Prefix` is imported redundantly
[INFO] [stdout]    --> src/app/parse/parser.rs:683:9
[INFO] [stdout]     |
[INFO] [stdout] 683 |     use crate::app::parse::prefix::Prefix;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 689 |     use super::*;
[INFO] [stdout]     |         -------- the item `Prefix` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `ResponseValidationError` is imported redundantly
[INFO] [stdout]    --> src/app/parse/parser.rs:684:9
[INFO] [stdout]     |
[INFO] [stdout] 684 |     use crate::app::parse_error::ResponseValidationError;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 689 |     use super::*;
[INFO] [stdout]     |         -------- the item `ResponseValidationError` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `TryFrom` is imported redundantly
[INFO] [stdout]  --> src/app/types.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::convert::TryFrom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `TryFrom` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Sequence` is imported redundantly
[INFO] [stdout]    --> src/app/format/write.rs:204:9
[INFO] [stdout]     |
[INFO] [stdout] 204 |     use crate::app::sequence::Sequence;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     use super::*;
[INFO] [stdout]     |         -------- the item `Sequence` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `WriteCursor` is imported redundantly
[INFO] [stdout]    --> src/app/format/write.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 205 |     use scursor::WriteCursor;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 206 |
[INFO] [stdout] 207 |     use super::*;
[INFO] [stdout]     |         -------- the item `WriteCursor` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/link/format.rs:50:23
[INFO] [stdout]    |
[INFO] [stdout] 50 |     buffer: &mut [u8; super::constant::LINK_HEADER_LENGTH],
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | unused_qualifications,
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 50 -     buffer: &mut [u8; super::constant::LINK_HEADER_LENGTH],
[INFO] [stdout] 50 +     buffer: &mut [u8; constant::LINK_HEADER_LENGTH],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/link/parser.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 |     buffer: [u8; super::constant::MAX_FRAME_PAYLOAD_LENGTH],
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 19 -     buffer: [u8; super::constant::MAX_FRAME_PAYLOAD_LENGTH],
[INFO] [stdout] 19 +     buffer: [u8; constant::MAX_FRAME_PAYLOAD_LENGTH],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/link/parser.rs:26:25
[INFO] [stdout]    |
[INFO] [stdout] 26 |             buffer: [0; super::constant::MAX_FRAME_PAYLOAD_LENGTH],
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 26 -             buffer: [0; super::constant::MAX_FRAME_PAYLOAD_LENGTH],
[INFO] [stdout] 26 +             buffer: [0; constant::MAX_FRAME_PAYLOAD_LENGTH],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/master/file.rs:132:40
[INFO] [stdout]     |
[INFO] [stdout] 132 |             FileError::TaskError(t) => std::fmt::Debug::fmt(&t, f),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 132 -             FileError::TaskError(t) => std::fmt::Debug::fmt(&t, f),
[INFO] [stdout] 132 +             FileError::TaskError(t) => Debug::fmt(&t, f),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Variation` is imported redundantly
[INFO] [stdout]  --> src/master/handler.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::app::variations::Variation;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6 | use crate::app::*;
[INFO] [stdout]   |     ------------- the item `Variation` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `HeaderCollection` is imported redundantly
[INFO] [stdout]   --> src/master/extract.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |     use crate::app::parse::parser::HeaderCollection;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     use super::*;
[INFO] [stdout]    |         -------- the item `HeaderCollection` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `ReadHandler` is imported redundantly
[INFO] [stdout]   --> src/master/extract.rs:93:46
[INFO] [stdout]    |
[INFO] [stdout] 93 |     use crate::master::handler::{HeaderInfo, ReadHandler};
[INFO] [stdout]    |                                              ^^^^^^^^^^^
[INFO] [stdout] 94 |
[INFO] [stdout] 95 |     use super::*;
[INFO] [stdout]    |         -------- the item `ReadHandler` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/master/task.rs:738:9
[INFO] [stdout]     |
[INFO] [stdout] 738 |         crate::app::format::write::confirm_unsolicited(seq, &mut cursor)?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 738 -         crate::app::format::write::confirm_unsolicited(seq, &mut cursor)?;
[INFO] [stdout] 738 +         write::confirm_unsolicited(seq, &mut cursor)?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `QualifierCode` is imported redundantly
[INFO] [stdout]    --> src/master/tasks/time.rs:408:13
[INFO] [stdout]     |
[INFO] [stdout] 408 |         use crate::app::QualifierCode;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 409 |
[INFO] [stdout] 410 |         use super::*;
[INFO] [stdout]     |             -------- the item `QualifierCode` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Flags` is imported redundantly
[INFO] [stdout]    --> src/outstation/database/details/event/writer.rs:344:9
[INFO] [stdout]     |
[INFO] [stdout] 344 |     use crate::app::measurement::Flags;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 345 |
[INFO] [stdout] 346 |     use super::*;
[INFO] [stdout]     |         -------- the item `Flags` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/outstation/database/details/range/static_db.rs:236:13
[INFO] [stdout]     |
[INFO] [stdout] 236 |             std::ops::Bound::Included(&range.start),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 236 -             std::ops::Bound::Included(&range.start),
[INFO] [stdout] 236 +             Bound::Included(&range.start),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/outstation/database/details/range/static_db.rs:237:13
[INFO] [stdout]     |
[INFO] [stdout] 237 |             std::ops::Bound::Included(&range.stop),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 237 -             std::ops::Bound::Included(&range.stop),
[INFO] [stdout] 237 +             Bound::Included(&range.stop),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/outstation/database/mod.rs:359:23
[INFO] [stdout]     |
[INFO] [stdout] 359 |     pub(crate) inner: crate::outstation::database::details::database::Database,
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 359 -     pub(crate) inner: crate::outstation::database::details::database::Database,
[INFO] [stdout] 359 +     pub(crate) inner: details::database::Database,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/outstation/database/mod.rs:370:20
[INFO] [stdout]     |
[INFO] [stdout] 370 |             inner: crate::outstation::database::details::database::Database::new(
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 370 -             inner: crate::outstation::database::details::database::Database::new(
[INFO] [stdout] 370 +             inner: details::database::Database::new(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `ControlField` is imported redundantly
[INFO] [stdout]   --> src/outstation/session.rs:18:18
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::app::*;
[INFO] [stdout]    |     ------------- the item `ControlField` is already imported here
[INFO] [stdout] 18 | use crate::app::{ControlField, Iin, Iin1, Iin2, ResponseFunction, ResponseHeader};
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Iin` is imported redundantly
[INFO] [stdout]   --> src/outstation/session.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::app::*;
[INFO] [stdout]    |     ------------- the item `Iin` is already imported here
[INFO] [stdout] 18 | use crate::app::{ControlField, Iin, Iin1, Iin2, ResponseFunction, ResponseHeader};
[INFO] [stdout]    |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Iin1` is imported redundantly
[INFO] [stdout]   --> src/outstation/session.rs:18:37
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::app::*;
[INFO] [stdout]    |     ------------- the item `Iin1` is already imported here
[INFO] [stdout] 18 | use crate::app::{ControlField, Iin, Iin1, Iin2, ResponseFunction, ResponseHeader};
[INFO] [stdout]    |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Iin2` is imported redundantly
[INFO] [stdout]   --> src/outstation/session.rs:18:43
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::app::*;
[INFO] [stdout]    |     ------------- the item `Iin2` is already imported here
[INFO] [stdout] 18 | use crate::app::{ControlField, Iin, Iin1, Iin2, ResponseFunction, ResponseHeader};
[INFO] [stdout]    |                                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `ResponseFunction` is imported redundantly
[INFO] [stdout]   --> src/outstation/session.rs:18:49
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::app::*;
[INFO] [stdout]    |     ------------- the item `ResponseFunction` is already imported here
[INFO] [stdout] 18 | use crate::app::{ControlField, Iin, Iin1, Iin2, ResponseFunction, ResponseHeader};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `ResponseHeader` is imported redundantly
[INFO] [stdout]   --> src/outstation/session.rs:18:67
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::app::*;
[INFO] [stdout]    |     ------------- the item `ResponseHeader` is already imported here
[INFO] [stdout] 18 | use crate::app::{ControlField, Iin, Iin1, Iin2, ResponseFunction, ResponseHeader};
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `TryFrom` is imported redundantly
[INFO] [stdout]  --> src/tcp/tls/master.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::convert::TryFrom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `TryFrom` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `OutstationHandle` is imported redundantly
[INFO] [stdout]  --> src/tcp/outstation.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::outstation::OutstationHandle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 | use crate::outstation::*;
[INFO] [stdout]   |     -------------------- the item `OutstationHandle` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: field `0` is never read
[INFO] [stdout]     --> src/app/attr.rs:1045:12
[INFO] [stdout]      |
[INFO] [stdout] 1045 |     Cursor(WriteError),
[INFO] [stdout]      |     ------ ^^^^^^^^^^
[INFO] [stdout]      |     |
[INFO] [stdout]      |     field in this variant
[INFO] [stdout]      |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]     --> src/lib.rs:3:1
[INFO] [stdout]      |
[INFO] [stdout] 3    | dead_code,
[INFO] [stdout]      | ^^^^^^^^^
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]      |
[INFO] [stdout] 1045 |     Cursor(()),
[INFO] [stdout]      |            ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: method `is_zero` is never used
[INFO] [stdout]   --> src/app/parse/traits.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub(crate) trait Index: Copy + Clone + FixedSize + PartialEq + Display {
[INFO] [stdout]    |                  ----- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 23 |     fn is_zero(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `NullAssociationInformation` is never constructed
[INFO] [stdout]    --> src/master/handler.rs:464:19
[INFO] [stdout]     |
[INFO] [stdout] 464 | pub(crate) struct NullAssociationInformation;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `NullReadHandler` is never constructed
[INFO] [stdout]    --> src/master/handler.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 | pub(crate) struct NullReadHandler;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `EventWriteError` is never constructed
[INFO] [stdout]    --> src/outstation/database/details/event/buffer.rs:432:19
[INFO] [stdout]     |
[INFO] [stdout] 432 | pub(crate) struct EventWriteError {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: fields `0` and `1` are never read
[INFO] [stdout]   --> src/outstation/database/read.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 |     FrozenAnalog(Option<StaticFrozenAnalogInputVariation>, Option<IndexRange>),
[INFO] [stdout]    |     ------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 23 |     FrozenAnalog((), ()),
[INFO] [stdout]    |                  ~~  ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: fields `0` and `1` are never read
[INFO] [stdout]   --> src/outstation/database/read.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 45 |     FrozenAnalog(Option<EventFrozenAnalogInputVariation>, Option<usize>),
[INFO] [stdout]    |     ------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 45 |     FrozenAnalog((), ()),
[INFO] [stdout]    |                  ~~  ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: method `status` is never used
[INFO] [stdout]   --> src/outstation/control/control_type.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub(crate) trait ControlType: Debug {
[INFO] [stdout]    |                  ----------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 14 |     fn status(&self) -> CommandStatus;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trait `HasCommandStatus` is never used
[INFO] [stdout]    --> src/outstation/traits.rs:554:7
[INFO] [stdout]     |
[INFO] [stdout] 554 | trait HasCommandStatus {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trait `ControlSupportExt` is never used
[INFO] [stdout]    --> src/outstation/traits.rs:559:7
[INFO] [stdout]     |
[INFO] [stdout] 559 | trait ControlSupportExt<T>: ControlSupport<T>
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: field `0` is never read
[INFO] [stdout]   --> src/transport/types.rs:54:11
[INFO] [stdout]    |
[INFO] [stdout] 54 |     Error(EndpointAddress, TransportResponseError),
[INFO] [stdout]    |     ----- ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 54 |     Error((), TransportResponseError),
[INFO] [stdout]    |           ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: field `0` is never read
[INFO] [stdout]   --> src/transport/types.rs:77:22
[INFO] [stdout]    |
[INFO] [stdout] 77 |     LinkLayerMessage(LinkLayerMessage),
[INFO] [stdout]    |     ---------------- ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 77 |     LinkLayerMessage(()),
[INFO] [stdout]    |                      ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: methods `np_get` and `np_take` are never used
[INFO] [stdout]  --> src/util/slice_ext.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) trait SliceExtNoPanic<T> {
[INFO] [stdout]   |                  --------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 8 |     fn np_get(&self, range: Range<usize>) -> Result<&[T], LogicError>;
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 9 |     fn np_take(&self, count: usize) -> Result<&[T], LogicError> {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: method `np_skip_mut` is never used
[INFO] [stdout]   --> src/util/slice_ext.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) trait MutSliceExtNoPanic<T> {
[INFO] [stdout]    |                  ------------------ method in this trait
[INFO] [stdout] 15 |     fn np_get_mut(&mut self, range: Range<usize>) -> Result<&mut [T], LogicError>;
[INFO] [stdout] 16 |     fn np_skip_mut(&mut self, count: usize) -> Result<&mut [T], LogicError>;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 23 previous errors; 13 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `dnp3` (lib) due to 24 previous errors; 13 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 9 previous errors; 24 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `dnp3` (lib test) due to 10 previous errors; 24 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "1f70600afab09c8ba3d9e3def870fb51b1bfa93086f9873c4be86ddb0ef0fbac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1f70600afab09c8ba3d9e3def870fb51b1bfa93086f9873c4be86ddb0ef0fbac", kill_on_drop: false }`
[INFO] [stdout] 1f70600afab09c8ba3d9e3def870fb51b1bfa93086f9873c4be86ddb0ef0fbac
