[INFO] cloning repository https://github.com/aatralsindhu/EPRI-DNP3-Sunspec-Gateway
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/aatralsindhu/EPRI-DNP3-Sunspec-Gateway" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faatralsindhu%2FEPRI-DNP3-Sunspec-Gateway", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faatralsindhu%2FEPRI-DNP3-Sunspec-Gateway'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] fab38c94206d8c643568a4e6f1897fba9d76c5e9
[INFO] checking aatralsindhu/EPRI-DNP3-Sunspec-Gateway against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faatralsindhu%2FEPRI-DNP3-Sunspec-Gateway" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  75% (637/845)
Updating files:  76% (643/845)
Updating files:  77% (651/845)
Updating files:  78% (660/845)
Updating files:  79% (668/845)
Updating files:  80% (676/845)
Updating files:  81% (685/845)
Updating files:  82% (693/845)
Updating files:  83% (702/845)
Updating files:  84% (710/845)
Updating files:  85% (719/845)
Updating files:  86% (727/845)
Updating files:  87% (736/845)
Updating files:  88% (744/845)
Updating files:  89% (753/845)
Updating files:  90% (761/845)
Updating files:  91% (769/845)
Updating files:  92% (778/845)
Updating files:  93% (786/845)
Updating files:  94% (795/845)
Updating files:  95% (803/845)
Updating files:  96% (812/845)
Updating files:  97% (820/845)
Updating files:  98% (829/845)
Updating files:  99% (837/845)
Updating files: 100% (845/845)
Updating files: 100% (845/845), done.
[INFO] started tweaking git repo https://github.com/aatralsindhu/EPRI-DNP3-Sunspec-Gateway
[INFO] finished tweaking git repo https://github.com/aatralsindhu/EPRI-DNP3-Sunspec-Gateway
[INFO] tweaked toml for git repo https://github.com/aatralsindhu/EPRI-DNP3-Sunspec-Gateway written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/aatralsindhu/EPRI-DNP3-Sunspec-Gateway on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/aatralsindhu/EPRI-DNP3-Sunspec-Gateway 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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded dunce v1.0.3
[INFO] [stderr]   Downloaded matchers v0.0.1
[INFO] [stderr]   Downloaded concolor-override v1.0.0
[INFO] [stderr]   Downloaded IOKit-sys v0.1.5
[INFO] [stderr]   Downloaded sfio-tokio-mock-io v0.2.0
[INFO] [stderr]   Downloaded pem v2.0.1
[INFO] [stderr]   Downloaded CoreFoundation-sys v0.1.4
[INFO] [stderr]   Downloaded anstyle-wincon v0.2.0
[INFO] [stderr]   Downloaded security-framework-sys v2.9.0
[INFO] [stderr]   Downloaded anstyle v0.3.5
[INFO] [stderr]   Downloaded ipnet v2.8.0
[INFO] [stderr]   Downloaded const-oid v0.9.2
[INFO] [stderr]   Downloaded rx509 v0.2.0
[INFO] [stderr]   Downloaded scursor v0.1.0
[INFO] [stderr]   Downloaded pbkdf2 v0.12.1
[INFO] [stderr]   Downloaded serialport v4.2.0
[INFO] [stderr]   Downloaded url v2.4.0
[INFO] [stderr]   Downloaded mio-serial v5.0.5
[INFO] [stderr]   Downloaded rustc-demangle v0.1.22
[INFO] [stderr]   Downloaded tempfile v3.6.0
[INFO] [stderr]   Downloaded anstyle-parse v0.1.1
[INFO] [stderr]   Downloaded sfio-tracing-ffi v0.8.0
[INFO] [stderr]   Downloaded xxhash-rust v0.8.6
[INFO] [stderr]   Downloaded anstream v0.2.6
[INFO] [stderr]   Downloaded reqwest v0.11.18
[INFO] [stderr]   Downloaded openssl-sys v0.9.90
[INFO] [stderr]   Downloaded nix v0.26.2
[INFO] [stderr]   Downloaded h2 v0.3.20
[INFO] [stderr]   Downloaded tokio-serial v5.4.3
[INFO] [stderr]   Downloaded openssl v0.10.55
[INFO] [stderr]   Downloaded aes v0.8.2
[INFO] [stderr]   Downloaded security-framework v2.9.1
[INFO] [stderr]   Downloaded clap_builder v4.2.1
[INFO] [stderr]   Downloaded sfio-rustls-config v0.1.1
[INFO] [stderr]   Downloaded rustls v0.21.1
[INFO] [stderr]   Downloaded sfio-promise v0.2.0
[INFO] [stderr]   Downloaded regex v1.7.3
[INFO] [stderr]   Downloaded spki v0.7.1
[INFO] [stderr]   Downloaded serde_json v1.0.95
[INFO] [stderr]   Downloaded syn v2.0.14
[INFO] [stderr]   Downloaded oo-bindgen v0.8.3
[INFO] [stderr]   Downloaded concolor-query v0.3.3
[INFO] [stderr]   Downloaded clap v4.2.1
[INFO] [stderr]   Downloaded der v0.7.3
[INFO] [stderr]   Downloaded mach v0.1.2
[INFO] [stderr]   Downloaded sfio-tokio-ffi v0.8.0
[INFO] [stderr]   Downloaded platforms v2.0.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4d616e4ea3baa58ec5cfb0102d9c12f87b2021b74b6985210dd43b81f81eb05d
[INFO] running `Command { std: "docker" "start" "-a" "4d616e4ea3baa58ec5cfb0102d9c12f87b2021b74b6985210dd43b81f81eb05d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4d616e4ea3baa58ec5cfb0102d9c12f87b2021b74b6985210dd43b81f81eb05d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4d616e4ea3baa58ec5cfb0102d9c12f87b2021b74b6985210dd43b81f81eb05d", kill_on_drop: false }`
[INFO] [stdout] 4d616e4ea3baa58ec5cfb0102d9c12f87b2021b74b6985210dd43b81f81eb05d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6daa95187118c8245b6eb6b3e3d1a55a0406f5bf1e773f97cbea6b8fbad980e4
[INFO] running `Command { std: "docker" "start" "-a" "6daa95187118c8245b6eb6b3e3d1a55a0406f5bf1e773f97cbea6b8fbad980e4", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling libc v0.2.141
[INFO] [stderr]    Compiling proc-macro2 v1.0.56
[INFO] [stderr]    Compiling quote v1.0.26
[INFO] [stderr]    Compiling unicode-ident v1.0.8
[INFO] [stderr]    Compiling cc v1.0.79
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]     Checking once_cell v1.17.1
[INFO] [stderr]    Compiling io-lifetimes v1.0.10
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling rustix v0.37.11
[INFO] [stderr]    Compiling serde_derive v1.0.160
[INFO] [stderr]     Checking pin-project-lite v0.2.9
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling serde v1.0.160
[INFO] [stderr]    Compiling serde_json v1.0.95
[INFO] [stderr]    Compiling typenum v1.16.0
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking bytes v1.4.0
[INFO] [stderr]    Compiling thiserror v1.0.40
[INFO] [stderr]    Compiling semver v1.0.17
[INFO] [stderr]    Compiling platforms v2.0.0
[INFO] [stderr]    Compiling tokio v1.27.0
[INFO] [stderr]     Checking tracing-core v0.1.30
[INFO] [stderr]    Compiling pkg-config v0.3.27
[INFO] [stderr]    Compiling futures-task v0.3.28
[INFO] [stderr]    Compiling futures-channel v0.3.28
[INFO] [stderr]    Compiling futures-util v0.3.28
[INFO] [stderr]     Checking futures-io v0.3.28
[INFO] [stderr]     Checking subtle v2.4.1
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling linux-raw-sys v0.3.1
[INFO] [stderr]    Compiling utf8parse v0.2.1
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling anstyle-parse v0.1.1
[INFO] [stderr]    Compiling concolor-query v0.3.3
[INFO] [stderr]    Compiling concolor-override v1.0.0
[INFO] [stderr]    Compiling anstyle v0.3.5
[INFO] [stderr]    Compiling openssl v0.10.55
[INFO] [stderr]     Checking cpufeatures v0.2.6
[INFO] [stderr]     Checking http v0.2.9
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling memoffset v0.7.1
[INFO] [stderr]    Compiling clap_lex v0.4.1
[INFO] [stderr]    Compiling gimli v0.27.2
[INFO] [stderr]     Checking mio v0.8.6
[INFO] [stderr]     Checking socket2 v0.4.9
[INFO] [stderr]     Checking num_cpus v1.15.0
[INFO] [stderr]     Checking getrandom v0.2.9
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]    Compiling syn v2.0.14
[INFO] [stderr]    Compiling native-tls v0.2.11
[INFO] [stderr]     Checking zeroize v1.6.0
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]     Checking const-oid v0.9.2
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]    Compiling aho-corasick v0.7.20
[INFO] [stderr]    Compiling object v0.30.3
[INFO] [stderr]     Checking der v0.7.3
[INFO] [stderr]    Compiling miniz_oxide v0.6.2
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]    Compiling backtrace v0.3.67
[INFO] [stderr]    Compiling openssl-sys v0.9.90
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling ryu v1.0.13
[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]    Compiling regex-syntax v0.6.29
[INFO] [stderr]     Checking inout v0.1.3
[INFO] [stderr]     Checking digest v0.10.6
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]    Compiling rustc-demangle v0.1.22
[INFO] [stderr]     Checking salsa20 v0.10.2
[INFO] [stderr]    Compiling rustls v0.21.1
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking sha2 v0.10.6
[INFO] [stderr]     Checking pbkdf2 v0.12.1
[INFO] [stderr]     Checking percent-encoding v2.3.0
[INFO] [stderr]     Checking aes v0.8.2
[INFO] [stderr]     Checking unicode-normalization v0.1.22
[INFO] [stderr]     Checking cbc v0.1.2
[INFO] [stderr]     Checking form_urlencoded v1.2.0
[INFO] [stderr]     Checking spki v0.7.1
[INFO] [stderr]     Checking scrypt v0.11.0
[INFO] [stderr]     Checking regex v1.7.3
[INFO] [stderr]     Checking http-body v0.4.5
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]     Checking tracing-log v0.1.3
[INFO] [stderr]     Checking thread_local v1.1.7
[INFO] [stderr]     Checking sharded-slab v0.1.4
[INFO] [stderr]    Compiling dunce v1.0.3
[INFO] [stderr]     Checking unicode-bidi v0.3.13
[INFO] [stderr]     Checking base64 v0.21.0
[INFO] [stderr]     Checking httpdate v1.0.2
[INFO] [stderr]     Checking smallvec v1.10.0
[INFO] [stderr]     Checking nix v0.26.2
[INFO] [stderr]     Checking pkcs5 v0.7.1
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking iana-time-zone v0.1.56
[INFO] [stderr]     Checking pem v2.0.1
[INFO] [stderr]     Checking ipnet v2.8.0
[INFO] [stderr]     Checking idna v0.4.0
[INFO] [stderr]     Checking rx509 v0.2.0
[INFO] [stderr]     Checking chrono v0.4.24
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]     Checking is-terminal v0.4.7
[INFO] [stderr]     Checking anstream v0.2.6
[INFO] [stderr]    Compiling addr2line v0.19.0
[INFO] [stderr]     Checking xxhash-rust v0.8.6
[INFO] [stderr]     Checking scursor v0.1.0
[INFO] [stderr]     Checking url v2.4.0
[INFO] [stderr]     Checking clap_builder v4.2.1
[INFO] [stderr]     Checking tracing-subscriber v0.3.16
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling walkdir v2.3.3
[INFO] [stderr]     Checking ansi_term v0.12.1
[INFO] [stderr]     Checking rustls-webpki v0.100.1
[INFO] [stderr]     Checking sct v0.7.0
[INFO] [stderr]    Compiling jni v0.19.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking serialport v4.2.0
[INFO] [stderr]     Checking sfio-promise v0.2.0
[INFO] [stderr]     Checking assert_matches v1.5.0
[INFO] [stderr]     Checking combine v4.6.6
[INFO] [stderr]     Checking cesu8 v1.1.0
[INFO] [stderr]     Checking matchers v0.0.1
[INFO] [stderr]     Checking jni-sys v0.3.0
[INFO] [stderr]    Compiling clap_derive v4.2.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.40
[INFO] [stderr]    Compiling tokio-macros v2.0.0
[INFO] [stderr]    Compiling futures-macro v0.3.28
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking sfio-rustls-config v0.1.1
[INFO] [stderr]    Compiling tracing-attributes v0.1.23
[INFO] [stderr]     Checking clap v4.2.1
[INFO] [stderr]     Checking mio-serial v5.0.5
[INFO] [stderr]     Checking tracing v0.1.37
[INFO] [stderr]     Checking futures-executor v0.3.28
[INFO] [stderr]     Checking futures v0.3.28
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking tracing-serde v0.1.3
[INFO] [stderr]     Checking tokio-util v0.7.7
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tokio-serial v5.4.3
[INFO] [stderr]     Checking tokio-rustls v0.24.0
[INFO] [stderr]     Checking tokio-stream v0.1.12
[INFO] [stderr]     Checking sfio-tokio-mock-io v0.2.0
[INFO] [stderr]     Checking h2 v0.3.20
[INFO] [stderr]     Checking oo-bindgen v0.8.3
[INFO] [stderr]     Checking tracing-subscriber v0.2.25
[INFO] [stderr]     Checking hyper v0.14.27
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.18
[INFO] [stderr]     Checking dnp3 v1.4.1 (/opt/rustwide/workdir/dnp3)
[INFO] [stderr]     Checking sfio-tokio-ffi v0.8.0
[INFO] [stderr]     Checking sfio-tracing-ffi v0.8.0
[INFO] [stderr]     Checking dnp3-schema v1.4.1 (/opt/rustwide/workdir/ffi/dnp3-schema)
[INFO] [stdout] warning: lint `missing_fragment_specifier` has been removed: converted into hard error, see <https://github.com/rust-lang/rust/issues/40107> for more information
[INFO] [stdout]  --> dnp3/src/lib.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | missing_fragment_specifier,
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unknown lint: `order_dependent_trait_objects`
[INFO] [stdout]   --> dnp3/src/lib.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | order_dependent_trait_objects,
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unknown_lints)]` on by default
[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]   --> dnp3/src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | illegal_floating_point_literal_pattern,
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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]   --> dnp3/src/lib.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | private_in_public,
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> dnp3/src/master/handler.rs:134:22
[INFO] [stdout]     |
[INFO] [stdout] 134 |             .map(|_| (AssociationHandle::new(address, self.clone())))
[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] 134 -             .map(|_| (AssociationHandle::new(address, self.clone())))
[INFO] [stdout] 134 +             .map(|_| AssociationHandle::new(address, self.clone()) )
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lint `missing_fragment_specifier` has been removed: converted into hard error, see <https://github.com/rust-lang/rust/issues/40107> for more information
[INFO] [stdout]  --> dnp3/src/lib.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | missing_fragment_specifier,
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unknown lint: `order_dependent_trait_objects`
[INFO] [stdout]   --> dnp3/src/lib.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | order_dependent_trait_objects,
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unknown_lints)]` on by default
[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]   --> dnp3/src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | illegal_floating_point_literal_pattern,
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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]   --> dnp3/src/lib.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | private_in_public,
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> dnp3/src/master/handler.rs:134:22
[INFO] [stdout]     |
[INFO] [stdout] 134 |             .map(|_| (AssociationHandle::new(address, self.clone())))
[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] 134 -             .map(|_| (AssociationHandle::new(address, self.clone())))
[INFO] [stdout] 134 +             .map(|_| AssociationHandle::new(address, self.clone()) )
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking dnp3-bindings v1.4.1 (/opt/rustwide/workdir/ffi/dnp3-bindings)
[INFO] [stderr]    Compiling dnp3-ffi v1.4.1 (/opt/rustwide/workdir/ffi/dnp3-ffi)
[INFO] [stderr]    Compiling dnp3-ffi-java v1.4.1 (/opt/rustwide/workdir/ffi/dnp3-ffi-java)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> dnp3/src/app/attr.rs:1011:24
[INFO] [stdout]      |
[INFO] [stdout] 1011 |     pub(crate) fn view(&self) -> AttrValue {
[INFO] [stdout]      |                        ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                        |
[INFO] [stdout]      |                        the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]      = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1011 |     pub(crate) fn view(&self) -> AttrValue<'_> {
[INFO] [stdout]      |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> dnp3/src/app/attr.rs:1342:24
[INFO] [stdout]      |
[INFO] [stdout] 1342 |     pub(crate) fn view(&self) -> Attribute {
[INFO] [stdout]      |                        ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                        |
[INFO] [stdout]      |                        the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1342 |     pub(crate) fn view(&self) -> Attribute<'_> {
[INFO] [stdout]      |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> dnp3/src/app/parse/parser.rs:374:25
[INFO] [stdout]     |
[INFO] [stdout] 374 |     pub(crate) fn count(&self) -> Option<&CountVariation> {
[INFO] [stdout]     |                         ^^^^^            ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |                ||
[INFO] [stdout]     |                         |                |the same lifetime is hidden here
[INFO] [stdout]     |                         |                the same lifetime is elided here
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 374 |     pub(crate) fn count(&self) -> Option<&CountVariation<'_>> {
[INFO] [stdout]     |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> dnp3/src/link/format.rs:42:35
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub(crate) fn to_link_display(&self, level: LinkDecodeLevel) -> LinkDisplay {
[INFO] [stdout]    |                                   ^^^^^ the lifetime is elided here ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub(crate) fn to_link_display(&self, level: LinkDecodeLevel) -> LinkDisplay<'_> {
[INFO] [stdout]    |                                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> dnp3/src/outstation/database/details/event/list.rs:124:24
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub(crate) fn iter(&self) -> ListIterator<T> {
[INFO] [stdout]     |                        ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub(crate) fn iter(&self) -> ListIterator<'_, T> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> dnp3/src/transport/real/assembler.rs:49:24
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub(crate) fn peek(&self) -> Option<Fragment> {
[INFO] [stdout]    |                        ^^^^^            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub(crate) fn peek(&self) -> Option<Fragment<'_>> {
[INFO] [stdout]    |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> dnp3/src/transport/real/assembler.rs:62:23
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub(crate) fn pop(&mut self) -> Option<Fragment> {
[INFO] [stdout]    |                       ^^^^^^^^^            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub(crate) fn pop(&mut self) -> Option<Fragment<'_>> {
[INFO] [stdout]    |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> dnp3/src/transport/real/reader.rs:62:23
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub(crate) fn pop(&mut self) -> Option<TransportData> {
[INFO] [stdout]    |                       ^^^^^^^^^            ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub(crate) fn pop(&mut self) -> Option<TransportData<'_>> {
[INFO] [stdout]    |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> dnp3/src/transport/real/reader.rs:70:24
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub(crate) fn peek(&self) -> Option<TransportData> {
[INFO] [stdout]    |                        ^^^^^            ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub(crate) fn peek(&self) -> Option<TransportData<'_>> {
[INFO] [stdout]    |                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> dnp3/src/transport/reader.rs:40:23
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub(crate) fn get(&mut self) -> Option<TransportRequest> {
[INFO] [stdout]    |                       ^^^^^^^^^            ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub(crate) fn get(&mut self) -> Option<TransportRequest<'_>> {
[INFO] [stdout]    |                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> dnp3/src/transport/reader.rs:118:32
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub(crate) fn pop_response(&mut self) -> Option<TransportResponse> {
[INFO] [stdout]     |                                ^^^^^^^^^            ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub(crate) fn pop_response(&mut self) -> Option<TransportResponse<'_>> {
[INFO] [stdout]     |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> dnp3/src/transport/reader.rs:147:21
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn peek_request(&mut self) -> Option<TransportRequest> {
[INFO] [stdout]     |                     ^^^^^^^^^            ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn peek_request(&mut self) -> Option<TransportRequest<'_>> {
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> dnp3/src/transport/reader.rs:161:14
[INFO] [stdout]     |
[INFO] [stdout] 161 |     fn parse(&mut self, peek: bool) -> Option<Result<ParsedTransportData, HeaderParseError>> {
[INFO] [stdout]     |              ^^^^^^^^^ the lifetime is elided here   ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 161 |     fn parse(&mut self, peek: bool) -> Option<Result<ParsedTransportData<'_>, HeaderParseError>> {
[INFO] [stdout]     |                                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> dnp3/src/util/buffer.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub(crate) fn write_cursor(&mut self) -> WriteCursor {
[INFO] [stdout]    |                                ^^^^^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub(crate) fn write_cursor(&mut self) -> WriteCursor<'_> {
[INFO] [stdout]    |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `decoding::*`
[INFO] [stdout]  --> ffi/dnp3-ffi/src/lib.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use decoding::*;
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> dnp3/examples/outstation.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::string`
[INFO] [stdout]   --> dnp3/examples/outstation.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::string;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]   --> dnp3/examples/outstation.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::sync::{RwLock, Arc, Mutex};
[INFO] [stdout]    |                         ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error as IOError`
[INFO] [stdout]   --> dnp3/examples/outstation.rs:19:27
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::io::{Write,Read, Error as IOError};
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sleep`
[INFO] [stdout]   --> dnp3/examples/outstation.rs:25:55
[INFO] [stdout]    |
[INFO] [stdout] 25 | use tokio::time::{interval, Duration as TokioDuration,sleep};
[INFO] [stdout]    |                                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufReader`
[INFO] [stdout]   --> dnp3/examples/outstation.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use std::io::BufReader;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]   --> dnp3/examples/outstation.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::prelude::*`
[INFO] [stdout]   --> dnp3/examples/outstation.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | use chrono::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `group_index` should have an upper camel case name
[INFO] [stdout]   --> dnp3/examples/outstation.rs:80:6
[INFO] [stdout]    |
[INFO] [stdout] 80 | enum group_index {
[INFO] [stdout]    |      ^^^^^^^^^^^ help: convert the identifier to upper camel case: `GroupIndex`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Communication_dnp3_device` should have an upper camel case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:201:8
[INFO] [stdout]     |
[INFO] [stdout] 201 | struct Communication_dnp3_device {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CommunicationDnp3Device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `physicalLayer_dnp3_device` should have an upper camel case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:211:8
[INFO] [stdout]     |
[INFO] [stdout] 211 | struct physicalLayer_dnp3_device {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PhysicalLayerDnp3Device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `appLayer_dnp3_device` should have an upper camel case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:217:8
[INFO] [stdout]     |
[INFO] [stdout] 217 | struct appLayer_dnp3_device {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AppLayerDnp3Device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `linkLayer_dnp3_device` should have an upper camel case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:224:8
[INFO] [stdout]     |
[INFO] [stdout] 224 | struct linkLayer_dnp3_device {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LinkLayerDnp3Device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `masterLayer_dnp3_device` should have an upper camel case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:233:8
[INFO] [stdout]     |
[INFO] [stdout] 233 | struct masterLayer_dnp3_device {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `MasterLayerDnp3Device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `nameplateRating_dnp3_device` should have an upper camel case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:242:8
[INFO] [stdout]     |
[INFO] [stdout] 242 | struct nameplateRating_dnp3_device {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `NameplateRatingDnp3Device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `exceptionScan_dnp3_device` should have an upper camel case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:250:8
[INFO] [stdout]     |
[INFO] [stdout] 250 | struct exceptionScan_dnp3_device {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ExceptionScanDnp3Device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `integrityScan_dnp3_device` should have an upper camel case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:257:8
[INFO] [stdout]     |
[INFO] [stdout] 257 | struct integrityScan_dnp3_device {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `IntegrityScanDnp3Device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `sav5_dnp3_device` should have an upper camel case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:264:8
[INFO] [stdout]     |
[INFO] [stdout] 264 | struct sav5_dnp3_device {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `Sav5Dnp3Device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `user` should have an upper camel case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:273:8
[INFO] [stdout]     |
[INFO] [stdout] 273 | struct user {
[INFO] [stdout]     |        ^^^^ help: convert the identifier to upper camel case (notice the capitalization): `User`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> dnp3/examples/outstation.rs:357:41
[INFO] [stdout]     |
[INFO] [stdout] 357 |         if let (Some(remote_address)) = (Dnp3_outstation_remote_address) {
[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] 357 -         if let (Some(remote_address)) = (Dnp3_outstation_remote_address) {
[INFO] [stdout] 357 +         if let (Some(remote_address)) = Dnp3_outstation_remote_address  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> dnp3/examples/outstation.rs:357:16
[INFO] [stdout]     |
[INFO] [stdout] 357 |         if let (Some(remote_address)) = (Dnp3_outstation_remote_address) {
[INFO] [stdout]     |                ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 357 -         if let (Some(remote_address)) = (Dnp3_outstation_remote_address) {
[INFO] [stdout] 357 +         if let Some(remote_address)  = (Dnp3_outstation_remote_address) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> dnp3/examples/outstation.rs:369:40
[INFO] [stdout]     |
[INFO] [stdout] 369 |         if let (Some(local_address)) = (Dnp3_outstation_local_address) {
[INFO] [stdout]     |                                        ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 369 -         if let (Some(local_address)) = (Dnp3_outstation_local_address) {
[INFO] [stdout] 369 +         if let (Some(local_address)) = Dnp3_outstation_local_address  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> dnp3/examples/outstation.rs:369:16
[INFO] [stdout]     |
[INFO] [stdout] 369 |         if let (Some(local_address)) = (Dnp3_outstation_local_address) {
[INFO] [stdout]     |                ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 369 -         if let (Some(local_address)) = (Dnp3_outstation_local_address) {
[INFO] [stdout] 369 +         if let Some(local_address)  = (Dnp3_outstation_local_address) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `decoding::*`
[INFO] [stdout]  --> ffi/dnp3-ffi/src/lib.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use decoding::*;
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> dnp3/examples/outstation.rs:1181:5
[INFO] [stdout]      |
[INFO] [stdout] 1181 |     mut outstation: OutstationHandle,
[INFO] [stdout]      |     ----^^^^^^^^^^
[INFO] [stdout]      |     |
[INFO] [stdout]      |     help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> dnp3/examples/outstation.rs:1183:9
[INFO] [stdout]      |
[INFO] [stdout] 1183 |     let mut binary_input_value = false;
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> dnp3/examples/outstation.rs:1185:9
[INFO] [stdout]      |
[INFO] [stdout] 1185 |     let mut binary_output_status_value = false;
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> dnp3/examples/outstation.rs:1188:9
[INFO] [stdout]      |
[INFO] [stdout] 1188 |     let mut analog_input_value = 0.0;
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> dnp3/examples/outstation.rs:1189:9
[INFO] [stdout]      |
[INFO] [stdout] 1189 |     let mut analog_output_status_value = 0.0;
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio_stream::StreamExt`
[INFO] [stdout]   --> dnp3/examples/outstation.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use tokio_stream::StreamExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> dnp3/examples/outstation.rs:427:10
[INFO] [stdout]     |
[INFO] [stdout] 427 |     for (key, measurement) in monitoring_points_config_data {
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `connection_state_url`
[INFO] [stdout]     --> dnp3/examples/outstation.rs:1039:9
[INFO] [stdout]      |
[INFO] [stdout] 1039 |     let connection_state_url = format!("{}/{}",&connection_state_url_read, der_id);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_connection_state_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `binary_input_value`
[INFO] [stdout]     --> dnp3/examples/outstation.rs:1183:9
[INFO] [stdout]      |
[INFO] [stdout] 1183 |     let mut binary_input_value = false;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_binary_input_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `binary_output_status_value`
[INFO] [stdout]     --> dnp3/examples/outstation.rs:1185:9
[INFO] [stdout]      |
[INFO] [stdout] 1185 |     let mut binary_output_status_value = false;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_binary_output_status_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `analog_input_value`
[INFO] [stdout]     --> dnp3/examples/outstation.rs:1188:9
[INFO] [stdout]      |
[INFO] [stdout] 1188 |     let mut analog_input_value = 0.0;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analog_input_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `analog_output_status_value`
[INFO] [stdout]     --> dnp3/examples/outstation.rs:1189:9
[INFO] [stdout]      |
[INFO] [stdout] 1189 |     let mut analog_output_status_value = 0.0;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analog_output_status_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `group_index` is never used
[INFO] [stdout]   --> dnp3/examples/outstation.rs:80:6
[INFO] [stdout]    |
[INFO] [stdout] 80 | enum group_index {
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `scalingFactor_outstation`, `scalingFactor_ss`, `offset_outstation`, `offset_ss`, `dataFormat`, and `unit` are never read
[INFO] [stdout]   --> dnp3/examples/outstation.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 87 | struct MonitoringPoints {
[INFO] [stdout]    |        ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 91 |     scalingFactor_outstation: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     scalingFactor_ss: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 93 |     offset_outstation: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 94 |     offset_ss: f64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 95 |     dataFormat: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 96 |     unit: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `logs` and `persistence` are never read
[INFO] [stdout]    --> dnp3/examples/outstation.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | struct Application {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] 138 |     logs: Logs,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     persistence: Vec<Persistence>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Application` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `directory`, `maxSize`, and `stdout` are never read
[INFO] [stdout]    --> dnp3/examples/outstation.rs:146:5
[INFO] [stdout]     |
[INFO] [stdout] 145 | struct Logs {
[INFO] [stdout]     |        ---- fields in this struct
[INFO] [stdout] 146 |     directory: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 147 |     maxSize: u64,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 148 |     stdout: bool,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Logs` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]    --> dnp3/examples/outstation.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 164 | struct Persistence {
[INFO] [stdout]     |        ----------- field in this struct
[INFO] [stdout] 165 |     path: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Persistence` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> dnp3/examples/outstation.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 180 | struct Dnp3Device {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] 181 |     deviceId: String,
[INFO] [stdout] 182 |     SaveRealtime: SaveRealtime,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 183 |     communication: Communication_dnp3_device,
[INFO] [stdout] 184 |     physicalLayer: physicalLayer_dnp3_device,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 185 |     appLayer: appLayer_dnp3_device,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 186 |     linkLayer: linkLayer_dnp3_device,
[INFO] [stdout] 187 |     masterLayer: masterLayer_dnp3_device,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 188 |     nameplateRating: nameplateRating_dnp3_device,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 189 |     exceptionScan: exceptionScan_dnp3_device,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 190 |     integrityScan: integrityScan_dnp3_device,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 191 |     sav5: sav5_dnp3_device,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Dnp3Device` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `saveInterval` and `saveRealtime` are never read
[INFO] [stdout]    --> dnp3/examples/outstation.rs:196:5
[INFO] [stdout]     |
[INFO] [stdout] 195 | struct SaveRealtime {
[INFO] [stdout]     |        ------------ fields in this struct
[INFO] [stdout] 196 |     saveInterval: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 197 |     saveRealtime: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SaveRealtime` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dnpFunction`, `isClient`, and `transport` are never read
[INFO] [stdout]    --> dnp3/examples/outstation.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 201 | struct Communication_dnp3_device {
[INFO] [stdout]     |        ------------------------- fields in this struct
[INFO] [stdout] 202 |     dnpFunction: u16,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 203 |     ipAddress: String,
[INFO] [stdout] 204 |     isClient: u16,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 205 |     port: u32,
[INFO] [stdout] 206 |     transport: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Communication_dnp3_device` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `logLevel` and `retryTimeout` are never read
[INFO] [stdout]    --> dnp3/examples/outstation.rs:212:5
[INFO] [stdout]     |
[INFO] [stdout] 211 | struct physicalLayer_dnp3_device {
[INFO] [stdout]     |        ------------------------- fields in this struct
[INFO] [stdout] 212 |     logLevel: String,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 213 |     retryTimeout: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `physicalLayer_dnp3_device` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `frameNumRetries`, `maxFragSize`, and `rspTimeout` are never read
[INFO] [stdout]    --> dnp3/examples/outstation.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 217 | struct appLayer_dnp3_device {
[INFO] [stdout]     |        -------------------- fields in this struct
[INFO] [stdout] 218 |     frameNumRetries: u16,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 219 |     maxFragSize: u16,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 220 |     rspTimeout: u16,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `appLayer_dnp3_device` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `confirmationTimeout`, `numRetries`, and `useConfirms` are never read
[INFO] [stdout]    --> dnp3/examples/outstation.rs:225:5
[INFO] [stdout]     |
[INFO] [stdout] 224 | struct linkLayer_dnp3_device {
[INFO] [stdout]     |        --------------------- fields in this struct
[INFO] [stdout] 225 |     confirmationTimeout: u16,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 226 |     localAddress: u16,
[INFO] [stdout] 227 |     numRetries: u16,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 228 |     remoteAddress: u16,
[INFO] [stdout] 229 |     useConfirms: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `linkLayer_dnp3_device` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `doUnsolOnStartup`, `enableUnsol`, `fragSize`, `taskRetryRate`, and `timeSync` are never read
[INFO] [stdout]    --> dnp3/examples/outstation.rs:234:5
[INFO] [stdout]     |
[INFO] [stdout] 233 | struct masterLayer_dnp3_device {
[INFO] [stdout]     |        ----------------------- fields in this struct
[INFO] [stdout] 234 |     doUnsolOnStartup: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 235 |     enableUnsol: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 236 |     fragSize: u16,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 237 |     taskRetryRate: u16,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 238 |     timeSync: bool,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `masterLayer_dnp3_device` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `va`, `var`, `volts`, and `watts` are never read
[INFO] [stdout]    --> dnp3/examples/outstation.rs:243:5
[INFO] [stdout]     |
[INFO] [stdout] 242 | struct nameplateRating_dnp3_device {
[INFO] [stdout]     |        --------------------------- fields in this struct
[INFO] [stdout] 243 |     va: u16,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 244 |     var: u16,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 245 |     volts: u16,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 246 |     watts: u16,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `nameplateRating_dnp3_device` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enable` and `scanRate` are never read
[INFO] [stdout]    --> dnp3/examples/outstation.rs:251:5
[INFO] [stdout]     |
[INFO] [stdout] 250 | struct exceptionScan_dnp3_device {
[INFO] [stdout]     |        ------------------------- fields in this struct
[INFO] [stdout] 251 |     enable: bool,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 252 |     scanRate: u32,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `exceptionScan_dnp3_device` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enable` and `scanRate` are never read
[INFO] [stdout]    --> dnp3/examples/outstation.rs:258:5
[INFO] [stdout]     |
[INFO] [stdout] 257 | struct integrityScan_dnp3_device {
[INFO] [stdout]     |        ------------------------- fields in this struct
[INFO] [stdout] 258 |     enable: bool,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 259 |     scanRate: u32,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `integrityScan_dnp3_device` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enable`, `defaultUserId`, and `users` are never read
[INFO] [stdout]    --> dnp3/examples/outstation.rs:265:5
[INFO] [stdout]     |
[INFO] [stdout] 264 | struct sav5_dnp3_device {
[INFO] [stdout]     |        ---------------- fields in this struct
[INFO] [stdout] 265 |     enable: bool,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 266 |     defaultUserId: u16,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 267 |     users: Vec<user>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `sav5_dnp3_device` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `userName`, `userID`, and `presharedKey` are never read
[INFO] [stdout]    --> dnp3/examples/outstation.rs:274:5
[INFO] [stdout]     |
[INFO] [stdout] 273 | struct user {
[INFO] [stdout]     |        ---- fields in this struct
[INFO] [stdout] 274 |     userName: String,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 275 |     userID: u16,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 276 |     presharedKey:String,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `user` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `num_binary_inputs` should have an upper case name
[INFO] [stdout]   --> dnp3/examples/outstation.rs:44:7
[INFO] [stdout]    |
[INFO] [stdout] 44 | const num_binary_inputs: u16 = 387;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 44 - const num_binary_inputs: u16 = 387;
[INFO] [stdout] 44 + const NUM_BINARY_INPUTS: u16 = 387;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `num_double_bit_binary_inputs` should have an upper case name
[INFO] [stdout]   --> dnp3/examples/outstation.rs:45:7
[INFO] [stdout]    |
[INFO] [stdout] 45 | const num_double_bit_binary_inputs: u16 = 10;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 45 - const num_double_bit_binary_inputs: u16 = 10;
[INFO] [stdout] 45 + const NUM_DOUBLE_BIT_BINARY_INPUTS: u16 = 10;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `num_binary_output_status` should have an upper case name
[INFO] [stdout]   --> dnp3/examples/outstation.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 | const num_binary_output_status: u16 = 50;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 46 - const num_binary_output_status: u16 = 50;
[INFO] [stdout] 46 + const NUM_BINARY_OUTPUT_STATUS: u16 = 50;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `num_counters` should have an upper case name
[INFO] [stdout]   --> dnp3/examples/outstation.rs:47:7
[INFO] [stdout]    |
[INFO] [stdout] 47 | const num_counters: u16 = 10;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 47 - const num_counters: u16 = 10;
[INFO] [stdout] 47 + const NUM_COUNTERS: u16 = 10;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `num_frozen_counters` should have an upper case name
[INFO] [stdout]   --> dnp3/examples/outstation.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 48 | const num_frozen_counters: u16 = 10;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 48 - const num_frozen_counters: u16 = 10;
[INFO] [stdout] 48 + const NUM_FROZEN_COUNTERS: u16 = 10;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `num_analog_inputs` should have an upper case name
[INFO] [stdout]   --> dnp3/examples/outstation.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 | const num_analog_inputs: u16 = 1009;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 49 - const num_analog_inputs: u16 = 1009;
[INFO] [stdout] 49 + const NUM_ANALOG_INPUTS: u16 = 1009;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `num_analog_output_status` should have an upper case name
[INFO] [stdout]   --> dnp3/examples/outstation.rs:50:7
[INFO] [stdout]    |
[INFO] [stdout] 50 | const num_analog_output_status: u16 = 670;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 50 - const num_analog_output_status: u16 = 670;
[INFO] [stdout] 50 + const NUM_ANALOG_OUTPUT_STATUS: u16 = 670;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `num_octet_strings` should have an upper case name
[INFO] [stdout]   --> dnp3/examples/outstation.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 | const num_octet_strings: u16 = 10;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 51 - const num_octet_strings: u16 = 10;
[INFO] [stdout] 51 + const NUM_OCTET_STRINGS: u16 = 10;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dataType` should have a snake case name
[INFO] [stdout]   --> dnp3/examples/outstation.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     dataType: String,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `data_type`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dnp3Index` should have a snake case name
[INFO] [stdout]   --> dnp3/examples/outstation.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 89 |     dnp3Index: String,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `dnp3_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `eventClass` should have a snake case name
[INFO] [stdout]   --> dnp3/examples/outstation.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     eventClass: String,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `event_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scalingFactor_outstation` should have a snake case name
[INFO] [stdout]   --> dnp3/examples/outstation.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     scalingFactor_outstation: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `scaling_factor_outstation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scalingFactor_ss` should have a snake case name
[INFO] [stdout]   --> dnp3/examples/outstation.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     scalingFactor_ss: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `scaling_factor_ss`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dataFormat` should have a snake case name
[INFO] [stdout]   --> dnp3/examples/outstation.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     dataFormat: String,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `data_format`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `Dnp3_outstation_ip` should have an upper case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 123 | static mut Dnp3_outstation_ip: Option<String> = None;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 123 - static mut Dnp3_outstation_ip: Option<String> = None;
[INFO] [stdout] 123 + static mut DNP3_OUTSTATION_IP: Option<String> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `Dnp3_outstation_port` should have an upper case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | static mut Dnp3_outstation_port: Option<u32> = None;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 124 - static mut Dnp3_outstation_port: Option<u32> = None;
[INFO] [stdout] 124 + static mut DNP3_OUTSTATION_PORT: Option<u32> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `Dnp3_outstation_remote_address` should have an upper case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 125 | static mut Dnp3_outstation_remote_address: Option<u16> = None;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 125 - static mut Dnp3_outstation_remote_address: Option<u16> = None;
[INFO] [stdout] 125 + static mut DNP3_OUTSTATION_REMOTE_ADDRESS: Option<u16> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `Dnp3_outstation_local_address` should have an upper case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout] 126 | static mut Dnp3_outstation_local_address: Option<u16> = None;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 126 - static mut Dnp3_outstation_local_address: Option<u16> = None;
[INFO] [stdout] 126 + static mut DNP3_OUTSTATION_LOCAL_ADDRESS: Option<u16> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `Listener_ip` should have an upper case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 129 | static mut Listener_ip: Option<String> = None;
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 129 - static mut Listener_ip: Option<String> = None;
[INFO] [stdout] 129 + static mut LISTENER_IP: Option<String> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `Listener_port` should have an upper case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout] 130 | static mut Listener_port: Option<u16> = None;
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 130 - static mut Listener_port: Option<u16> = None;
[INFO] [stdout] 130 + static mut LISTENER_PORT: Option<u16> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `Endpoint_ip` should have an upper case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | static mut Endpoint_ip: Option<String> = None;
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 131 - static mut Endpoint_ip: Option<String> = None;
[INFO] [stdout] 131 + static mut ENDPOINT_IP: Option<String> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `Endpoint_port` should have an upper case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:132:12
[INFO] [stdout]     |
[INFO] [stdout] 132 | static mut Endpoint_port: Option<u16> = None;
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 132 - static mut Endpoint_port: Option<u16> = None;
[INFO] [stdout] 132 + static mut ENDPOINT_PORT: Option<u16> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `maxSize` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 |     maxSize: u64,
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to snake case: `max_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `deviceId` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 181 |     deviceId: String,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to snake case: `device_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `SaveRealtime` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     SaveRealtime: SaveRealtime,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `save_realtime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `physicalLayer` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:184:5
[INFO] [stdout]     |
[INFO] [stdout] 184 |     physicalLayer: physicalLayer_dnp3_device,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `physical_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `appLayer` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     appLayer: appLayer_dnp3_device,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to snake case: `app_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `linkLayer` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:186:5
[INFO] [stdout]     |
[INFO] [stdout] 186 |     linkLayer: linkLayer_dnp3_device,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to snake case: `link_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `masterLayer` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:187:5
[INFO] [stdout]     |
[INFO] [stdout] 187 |     masterLayer: masterLayer_dnp3_device,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `master_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nameplateRating` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |     nameplateRating: nameplateRating_dnp3_device,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `nameplate_rating`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `exceptionScan` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 189 |     exceptionScan: exceptionScan_dnp3_device,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `exception_scan`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `integrityScan` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 190 |     integrityScan: integrityScan_dnp3_device,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `integrity_scan`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `saveInterval` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:196:5
[INFO] [stdout]     |
[INFO] [stdout] 196 |     saveInterval: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `save_interval`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `saveRealtime` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:197:5
[INFO] [stdout]     |
[INFO] [stdout] 197 |     saveRealtime: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `save_realtime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dnpFunction` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 202 |     dnpFunction: u16,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `dnp_function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `ipAddress` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout] 203 |     ipAddress: String,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to snake case: `ip_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `isClient` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:204:5
[INFO] [stdout]     |
[INFO] [stdout] 204 |     isClient: u16,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to snake case: `is_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `logLevel` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:212:5
[INFO] [stdout]     |
[INFO] [stdout] 212 |     logLevel: String,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to snake case: `log_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `retryTimeout` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 213 |     retryTimeout: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `retry_timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `frameNumRetries` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 218 |     frameNumRetries: u16,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `frame_num_retries`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `maxFragSize` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 219 |     maxFragSize: u16,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `max_frag_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `rspTimeout` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:220:5
[INFO] [stdout]     |
[INFO] [stdout] 220 |     rspTimeout: u16,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to snake case: `rsp_timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `confirmationTimeout` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:225:5
[INFO] [stdout]     |
[INFO] [stdout] 225 |     confirmationTimeout: u16,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `confirmation_timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `localAddress` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:226:5
[INFO] [stdout]     |
[INFO] [stdout] 226 |     localAddress: u16,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `local_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `numRetries` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:227:5
[INFO] [stdout]     |
[INFO] [stdout] 227 |     numRetries: u16,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to snake case: `num_retries`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `remoteAddress` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:228:5
[INFO] [stdout]     |
[INFO] [stdout] 228 |     remoteAddress: u16,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `remote_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `useConfirms` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:229:5
[INFO] [stdout]     |
[INFO] [stdout] 229 |     useConfirms: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `use_confirms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `doUnsolOnStartup` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:234:5
[INFO] [stdout]     |
[INFO] [stdout] 234 |     doUnsolOnStartup: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `do_unsol_on_startup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `enableUnsol` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:235:5
[INFO] [stdout]     |
[INFO] [stdout] 235 |     enableUnsol: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `enable_unsol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `fragSize` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:236:5
[INFO] [stdout]     |
[INFO] [stdout] 236 |     fragSize: u16,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to snake case: `frag_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `taskRetryRate` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:237:5
[INFO] [stdout]     |
[INFO] [stdout] 237 |     taskRetryRate: u16,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `task_retry_rate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `timeSync` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:238:5
[INFO] [stdout]     |
[INFO] [stdout] 238 |     timeSync: bool,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to snake case: `time_sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scanRate` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:252:5
[INFO] [stdout]     |
[INFO] [stdout] 252 |     scanRate: u32,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to snake case: `scan_rate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scanRate` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:259:5
[INFO] [stdout]     |
[INFO] [stdout] 259 |     scanRate: u32,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to snake case: `scan_rate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `defaultUserId` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:266:5
[INFO] [stdout]     |
[INFO] [stdout] 266 |     defaultUserId: u16,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `default_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `userName` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:274:5
[INFO] [stdout]     |
[INFO] [stdout] 274 |     userName: String,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to snake case: `user_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `userID` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:275:5
[INFO] [stdout]     |
[INFO] [stdout] 275 |     userID: u16,
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to snake case: `user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `presharedKey` should have a snake case name
[INFO] [stdout]    --> dnp3/examples/outstation.rs:276:5
[INFO] [stdout]     |
[INFO] [stdout] 276 |     presharedKey:String,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `preshared_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> dnp3/examples/outstation.rs:284:36
[INFO] [stdout]     |
[INFO] [stdout] 284 |         if let Some(dnp3_config) = &CONFIG {
[INFO] [stdout]     |                                    ^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 284 |         if let Some(dnp3_config) = &raw const CONFIG {
[INFO] [stdout]     |                                     +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> dnp3/examples/outstation.rs:297:42
[INFO] [stdout]     |
[INFO] [stdout] 297 |         if let (Some(ip), Some(port)) = (&Endpoint_ip, Endpoint_port) {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 297 |         if let (Some(ip), Some(port)) = (&raw const Endpoint_ip, Endpoint_port) {
[INFO] [stdout]     |                                           +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> dnp3/examples/outstation.rs:308:42
[INFO] [stdout]     |
[INFO] [stdout] 308 |         if let (Some(ip), Some(port)) = (&Endpoint_ip, Endpoint_port) {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 308 |         if let (Some(ip), Some(port)) = (&raw const Endpoint_ip, Endpoint_port) {
[INFO] [stdout]     |                                           +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> dnp3/examples/outstation.rs:320:42
[INFO] [stdout]     |
[INFO] [stdout] 320 |         if let (Some(ip), Some(port)) = (&Endpoint_ip, Endpoint_port) {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 320 |         if let (Some(ip), Some(port)) = (&raw const Endpoint_ip, Endpoint_port) {
[INFO] [stdout]     |                                           +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> dnp3/examples/outstation.rs:332:42
[INFO] [stdout]     |
[INFO] [stdout] 332 |         if let (Some(ip), Some(port)) = (&Dnp3_outstation_ip, Dnp3_outstation_port) {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 332 |         if let (Some(ip), Some(port)) = (&raw const Dnp3_outstation_ip, Dnp3_outstation_port) {
[INFO] [stdout]     |                                           +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> dnp3/examples/outstation.rs:344:42
[INFO] [stdout]     |
[INFO] [stdout] 344 |         if let (Some(ip), Some(port)) = (&Endpoint_ip, Endpoint_port) {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 344 |         if let (Some(ip), Some(port)) = (&raw const Endpoint_ip, Endpoint_port) {
[INFO] [stdout]     |                                           +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> dnp3/examples/outstation.rs:497:31
[INFO] [stdout]     |
[INFO] [stdout] 497 |         if let Some(config) = &CONFIG {
[INFO] [stdout]     |                               ^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 497 |         if let Some(config) = &raw const CONFIG {
[INFO] [stdout]     |                                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> dnp3/src/app/attr.rs:1011:24
[INFO] [stdout]      |
[INFO] [stdout] 1011 |     pub(crate) fn view(&self) -> AttrValue {
[INFO] [stdout]      |                        ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                        |
[INFO] [stdout]      |                        the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]      = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1011 |     pub(crate) fn view(&self) -> AttrValue<'_> {
[INFO] [stdout]      |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> dnp3/src/app/attr.rs:1342:24
[INFO] [stdout]      |
[INFO] [stdout] 1342 |     pub(crate) fn view(&self) -> Attribute {
[INFO] [stdout]      |                        ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                        |
[INFO] [stdout]      |                        the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1342 |     pub(crate) fn view(&self) -> Attribute<'_> {
[INFO] [stdout]      |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> ffi/dnp3-ffi/src/outstation/mod.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Running(ServerHandle),
[INFO] [stdout]    |     ------- ^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[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] 24 -     Running(ServerHandle),
[INFO] [stdout] 24 +     Running(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> ffi/dnp3-ffi/src/handler.rs:28:53
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub(crate) unsafe fn attr_item_iter_next(iter: *mut crate::AttrItemIter) -> Option<&ffi::AttrItem> {
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^            ^^^^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     the lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub(crate) unsafe fn attr_item_iter_next(iter: *mut crate::AttrItemIter<'_>) -> Option<&ffi::AttrItem> {
[INFO] [stdout]    |                                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> ffi/dnp3-ffi/src/handler.rs:499:47
[INFO] [stdout]     |
[INFO] [stdout] 499 |           pub unsafe fn $ffi_func_name(it: *mut $it_name) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                 ^^^^^^^^            ^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 the lifetime is hidden here
[INFO] [stdout] ...
[INFO] [stdout] 510 | / implement_iterator!(
[INFO] [stdout] 511 | |     BinaryInputIterator,
[INFO] [stdout] 512 | |     binary_input_iterator_next,
[INFO] [stdout] 513 | |     BinaryInput,
[INFO] [stdout] 514 | |     ffi::BinaryInput
[INFO] [stdout] 515 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `implement_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 499 |         pub unsafe fn $ffi_func_name(it: *mut $it_name<'_>) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> ffi/dnp3-ffi/src/handler.rs:499:47
[INFO] [stdout]     |
[INFO] [stdout] 499 |           pub unsafe fn $ffi_func_name(it: *mut $it_name) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                 ^^^^^^^^            ^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 the lifetime is hidden here
[INFO] [stdout] ...
[INFO] [stdout] 516 | / implement_iterator!(
[INFO] [stdout] 517 | |     DoubleBitBinaryInputIterator,
[INFO] [stdout] 518 | |     double_bit_binary_input_iterator_next,
[INFO] [stdout] 519 | |     DoubleBitBinaryInput,
[INFO] [stdout] 520 | |     ffi::DoubleBitBinaryInput
[INFO] [stdout] 521 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `implement_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 499 |         pub unsafe fn $ffi_func_name(it: *mut $it_name<'_>) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> ffi/dnp3-ffi/src/handler.rs:499:47
[INFO] [stdout]     |
[INFO] [stdout] 499 |           pub unsafe fn $ffi_func_name(it: *mut $it_name) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                 ^^^^^^^^            ^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 the lifetime is hidden here
[INFO] [stdout] ...
[INFO] [stdout] 522 | / implement_iterator!(
[INFO] [stdout] 523 | |     BinaryOutputStatusIterator,
[INFO] [stdout] 524 | |     binary_output_status_iterator_next,
[INFO] [stdout] 525 | |     BinaryOutputStatus,
[INFO] [stdout] 526 | |     ffi::BinaryOutputStatus
[INFO] [stdout] 527 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `implement_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 499 |         pub unsafe fn $ffi_func_name(it: *mut $it_name<'_>) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> ffi/dnp3-ffi/src/handler.rs:499:47
[INFO] [stdout]     |
[INFO] [stdout] 499 |           pub unsafe fn $ffi_func_name(it: *mut $it_name) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                 ^^^^^^^^            ^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 the lifetime is hidden here
[INFO] [stdout] ...
[INFO] [stdout] 528 | / implement_iterator!(
[INFO] [stdout] 529 | |     CounterIterator,
[INFO] [stdout] 530 | |     counter_iterator_next,
[INFO] [stdout] 531 | |     Counter,
[INFO] [stdout] 532 | |     ffi::Counter
[INFO] [stdout] 533 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `implement_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 499 |         pub unsafe fn $ffi_func_name(it: *mut $it_name<'_>) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> ffi/dnp3-ffi/src/handler.rs:499:47
[INFO] [stdout]     |
[INFO] [stdout] 499 |           pub unsafe fn $ffi_func_name(it: *mut $it_name) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                 ^^^^^^^^            ^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 the lifetime is hidden here
[INFO] [stdout] ...
[INFO] [stdout] 534 | / implement_iterator!(
[INFO] [stdout] 535 | |     FrozenCounterIterator,
[INFO] [stdout] 536 | |     frozen_counter_iterator_next,
[INFO] [stdout] 537 | |     FrozenCounter,
[INFO] [stdout] 538 | |     ffi::FrozenCounter
[INFO] [stdout] 539 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `implement_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 499 |         pub unsafe fn $ffi_func_name(it: *mut $it_name<'_>) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> ffi/dnp3-ffi/src/handler.rs:499:47
[INFO] [stdout]     |
[INFO] [stdout] 499 |           pub unsafe fn $ffi_func_name(it: *mut $it_name) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                 ^^^^^^^^            ^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 the lifetime is hidden here
[INFO] [stdout] ...
[INFO] [stdout] 540 | / implement_iterator!(
[INFO] [stdout] 541 | |     AnalogInputIterator,
[INFO] [stdout] 542 | |     analog_input_iterator_next,
[INFO] [stdout] 543 | |     AnalogInput,
[INFO] [stdout] 544 | |     ffi::AnalogInput
[INFO] [stdout] 545 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `implement_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 499 |         pub unsafe fn $ffi_func_name(it: *mut $it_name<'_>) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> ffi/dnp3-ffi/src/handler.rs:499:47
[INFO] [stdout]     |
[INFO] [stdout] 499 |           pub unsafe fn $ffi_func_name(it: *mut $it_name) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                 ^^^^^^^^            ^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 the lifetime is hidden here
[INFO] [stdout] ...
[INFO] [stdout] 546 | / implement_iterator!(
[INFO] [stdout] 547 | |     FrozenAnalogInputIterator,
[INFO] [stdout] 548 | |     frozen_analog_input_iterator_next,
[INFO] [stdout] 549 | |     FrozenAnalogInput,
[INFO] [stdout] 550 | |     ffi::FrozenAnalogInput
[INFO] [stdout] 551 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `implement_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 499 |         pub unsafe fn $ffi_func_name(it: *mut $it_name<'_>) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> ffi/dnp3-ffi/src/handler.rs:499:47
[INFO] [stdout]     |
[INFO] [stdout] 499 |           pub unsafe fn $ffi_func_name(it: *mut $it_name) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                 ^^^^^^^^            ^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 the lifetime is hidden here
[INFO] [stdout] ...
[INFO] [stdout] 552 | / implement_iterator!(
[INFO] [stdout] 553 | |     AnalogOutputStatusIterator,
[INFO] [stdout] 554 | |     analog_output_status_iterator_next,
[INFO] [stdout] 555 | |     AnalogOutputStatus,
[INFO] [stdout] 556 | |     ffi::AnalogOutputStatus
[INFO] [stdout] 557 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `implement_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 499 |         pub unsafe fn $ffi_func_name(it: *mut $it_name<'_>) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> ffi/dnp3-ffi/src/handler.rs:681:14
[INFO] [stdout]     |
[INFO] [stdout] 681 |     it: *mut OctetStringIterator,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^ the lifetime is hidden here
[INFO] [stdout] 682 | ) -> Option<&ffi::OctetString> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             ||
[INFO] [stdout]     |             |the same lifetime is hidden here
[INFO] [stdout]     |             the same lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 681 ~     it: *mut OctetStringIterator<'_>,
[INFO] [stdout] 682 ~ ) -> Option<&ffi::OctetString<'_>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> dnp3/src/app/parse/parser.rs:374:25
[INFO] [stdout]     |
[INFO] [stdout] 374 |     pub(crate) fn count(&self) -> Option<&CountVariation> {
[INFO] [stdout]     |                         ^^^^^            ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |                ||
[INFO] [stdout]     |                         |                |the same lifetime is hidden here
[INFO] [stdout]     |                         |                the same lifetime is elided here
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 374 |     pub(crate) fn count(&self) -> Option<&CountVariation<'_>> {
[INFO] [stdout]     |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> dnp3/src/link/format.rs:42:35
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub(crate) fn to_link_display(&self, level: LinkDecodeLevel) -> LinkDisplay {
[INFO] [stdout]    |                                   ^^^^^ the lifetime is elided here ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub(crate) fn to_link_display(&self, level: LinkDecodeLevel) -> LinkDisplay<'_> {
[INFO] [stdout]    |                                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> dnp3/src/outstation/database/details/event/list.rs:124:24
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub(crate) fn iter(&self) -> ListIterator<T> {
[INFO] [stdout]     |                        ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub(crate) fn iter(&self) -> ListIterator<'_, T> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> dnp3/src/transport/mock/reader.rs:52:24
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub(crate) fn peek(&self) -> Option<TransportData> {
[INFO] [stdout]    |                        ^^^^^            ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub(crate) fn peek(&self) -> Option<TransportData<'_>> {
[INFO] [stdout]    |                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> dnp3/src/transport/mock/reader.rs:56:23
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub(crate) fn pop(&mut self) -> Option<TransportData> {
[INFO] [stdout]    |                       ^^^^^^^^^            ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub(crate) fn pop(&mut self) -> Option<TransportData<'_>> {
[INFO] [stdout]    |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> dnp3/src/transport/mock/reader.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn get(&self, count: usize) -> Option<Fragment> {
[INFO] [stdout]    |            ^^^^^                          ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn get(&self, count: usize) -> Option<Fragment<'_>> {
[INFO] [stdout]    |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> dnp3/src/transport/reader.rs:40:23
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub(crate) fn get(&mut self) -> Option<TransportRequest> {
[INFO] [stdout]    |                       ^^^^^^^^^            ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub(crate) fn get(&mut self) -> Option<TransportRequest<'_>> {
[INFO] [stdout]    |                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> dnp3/src/transport/reader.rs:118:32
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub(crate) fn pop_response(&mut self) -> Option<TransportResponse> {
[INFO] [stdout]     |                                ^^^^^^^^^            ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub(crate) fn pop_response(&mut self) -> Option<TransportResponse<'_>> {
[INFO] [stdout]     |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> dnp3/src/transport/reader.rs:147:21
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn peek_request(&mut self) -> Option<TransportRequest> {
[INFO] [stdout]     |                     ^^^^^^^^^            ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn peek_request(&mut self) -> Option<TransportRequest<'_>> {
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> dnp3/src/transport/reader.rs:161:14
[INFO] [stdout]     |
[INFO] [stdout] 161 |     fn parse(&mut self, peek: bool) -> Option<Result<ParsedTransportData, HeaderParseError>> {
[INFO] [stdout]     |              ^^^^^^^^^ the lifetime is elided here   ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 161 |     fn parse(&mut self, peek: bool) -> Option<Result<ParsedTransportData<'_>, HeaderParseError>> {
[INFO] [stdout]     |                                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> dnp3/src/util/buffer.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub(crate) fn write_cursor(&mut self) -> WriteCursor {
[INFO] [stdout]    |                                ^^^^^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub(crate) fn write_cursor(&mut self) -> WriteCursor<'_> {
[INFO] [stdout]    |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> ffi/dnp3-ffi/src/outstation/mod.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Running(ServerHandle),
[INFO] [stdout]    |     ------- ^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[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] 24 -     Running(ServerHandle),
[INFO] [stdout] 24 +     Running(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> ffi/dnp3-ffi/src/handler.rs:28:53
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub(crate) unsafe fn attr_item_iter_next(iter: *mut crate::AttrItemIter) -> Option<&ffi::AttrItem> {
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^            ^^^^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     the lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub(crate) unsafe fn attr_item_iter_next(iter: *mut crate::AttrItemIter<'_>) -> Option<&ffi::AttrItem> {
[INFO] [stdout]    |                                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> ffi/dnp3-ffi/src/handler.rs:499:47
[INFO] [stdout]     |
[INFO] [stdout] 499 |           pub unsafe fn $ffi_func_name(it: *mut $it_name) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                 ^^^^^^^^            ^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 the lifetime is hidden here
[INFO] [stdout] ...
[INFO] [stdout] 510 | / implement_iterator!(
[INFO] [stdout] 511 | |     BinaryInputIterator,
[INFO] [stdout] 512 | |     binary_input_iterator_next,
[INFO] [stdout] 513 | |     BinaryInput,
[INFO] [stdout] 514 | |     ffi::BinaryInput
[INFO] [stdout] 515 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `implement_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 499 |         pub unsafe fn $ffi_func_name(it: *mut $it_name<'_>) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> ffi/dnp3-ffi/src/handler.rs:499:47
[INFO] [stdout]     |
[INFO] [stdout] 499 |           pub unsafe fn $ffi_func_name(it: *mut $it_name) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                 ^^^^^^^^            ^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 the lifetime is hidden here
[INFO] [stdout] ...
[INFO] [stdout] 516 | / implement_iterator!(
[INFO] [stdout] 517 | |     DoubleBitBinaryInputIterator,
[INFO] [stdout] 518 | |     double_bit_binary_input_iterator_next,
[INFO] [stdout] 519 | |     DoubleBitBinaryInput,
[INFO] [stdout] 520 | |     ffi::DoubleBitBinaryInput
[INFO] [stdout] 521 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `implement_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 499 |         pub unsafe fn $ffi_func_name(it: *mut $it_name<'_>) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> ffi/dnp3-ffi/src/handler.rs:499:47
[INFO] [stdout]     |
[INFO] [stdout] 499 |           pub unsafe fn $ffi_func_name(it: *mut $it_name) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                 ^^^^^^^^            ^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 the lifetime is hidden here
[INFO] [stdout] ...
[INFO] [stdout] 522 | / implement_iterator!(
[INFO] [stdout] 523 | |     BinaryOutputStatusIterator,
[INFO] [stdout] 524 | |     binary_output_status_iterator_next,
[INFO] [stdout] 525 | |     BinaryOutputStatus,
[INFO] [stdout] 526 | |     ffi::BinaryOutputStatus
[INFO] [stdout] 527 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `implement_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 499 |         pub unsafe fn $ffi_func_name(it: *mut $it_name<'_>) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> ffi/dnp3-ffi/src/handler.rs:499:47
[INFO] [stdout]     |
[INFO] [stdout] 499 |           pub unsafe fn $ffi_func_name(it: *mut $it_name) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                 ^^^^^^^^            ^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 the lifetime is hidden here
[INFO] [stdout] ...
[INFO] [stdout] 528 | / implement_iterator!(
[INFO] [stdout] 529 | |     CounterIterator,
[INFO] [stdout] 530 | |     counter_iterator_next,
[INFO] [stdout] 531 | |     Counter,
[INFO] [stdout] 532 | |     ffi::Counter
[INFO] [stdout] 533 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `implement_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 499 |         pub unsafe fn $ffi_func_name(it: *mut $it_name<'_>) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> ffi/dnp3-ffi/src/handler.rs:499:47
[INFO] [stdout]     |
[INFO] [stdout] 499 |           pub unsafe fn $ffi_func_name(it: *mut $it_name) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                 ^^^^^^^^            ^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 the lifetime is hidden here
[INFO] [stdout] ...
[INFO] [stdout] 534 | / implement_iterator!(
[INFO] [stdout] 535 | |     FrozenCounterIterator,
[INFO] [stdout] 536 | |     frozen_counter_iterator_next,
[INFO] [stdout] 537 | |     FrozenCounter,
[INFO] [stdout] 538 | |     ffi::FrozenCounter
[INFO] [stdout] 539 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `implement_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 499 |         pub unsafe fn $ffi_func_name(it: *mut $it_name<'_>) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> ffi/dnp3-ffi/src/handler.rs:499:47
[INFO] [stdout]     |
[INFO] [stdout] 499 |           pub unsafe fn $ffi_func_name(it: *mut $it_name) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                 ^^^^^^^^            ^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 the lifetime is hidden here
[INFO] [stdout] ...
[INFO] [stdout] 540 | / implement_iterator!(
[INFO] [stdout] 541 | |     AnalogInputIterator,
[INFO] [stdout] 542 | |     analog_input_iterator_next,
[INFO] [stdout] 543 | |     AnalogInput,
[INFO] [stdout] 544 | |     ffi::AnalogInput
[INFO] [stdout] 545 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `implement_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 499 |         pub unsafe fn $ffi_func_name(it: *mut $it_name<'_>) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> ffi/dnp3-ffi/src/handler.rs:499:47
[INFO] [stdout]     |
[INFO] [stdout] 499 |           pub unsafe fn $ffi_func_name(it: *mut $it_name) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                 ^^^^^^^^            ^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 the lifetime is hidden here
[INFO] [stdout] ...
[INFO] [stdout] 546 | / implement_iterator!(
[INFO] [stdout] 547 | |     FrozenAnalogInputIterator,
[INFO] [stdout] 548 | |     frozen_analog_input_iterator_next,
[INFO] [stdout] 549 | |     FrozenAnalogInput,
[INFO] [stdout] 550 | |     ffi::FrozenAnalogInput
[INFO] [stdout] 551 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `implement_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 499 |         pub unsafe fn $ffi_func_name(it: *mut $it_name<'_>) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> ffi/dnp3-ffi/src/handler.rs:499:47
[INFO] [stdout]     |
[INFO] [stdout] 499 |           pub unsafe fn $ffi_func_name(it: *mut $it_name) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                 ^^^^^^^^            ^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 the lifetime is hidden here
[INFO] [stdout] ...
[INFO] [stdout] 552 | / implement_iterator!(
[INFO] [stdout] 553 | |     AnalogOutputStatusIterator,
[INFO] [stdout] 554 | |     analog_output_status_iterator_next,
[INFO] [stdout] 555 | |     AnalogOutputStatus,
[INFO] [stdout] 556 | |     ffi::AnalogOutputStatus
[INFO] [stdout] 557 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `implement_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 499 |         pub unsafe fn $ffi_func_name(it: *mut $it_name<'_>) -> Option<&$ffi_type> {
[INFO] [stdout]     |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> ffi/dnp3-ffi/src/handler.rs:681:14
[INFO] [stdout]     |
[INFO] [stdout] 681 |     it: *mut OctetStringIterator,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^ the lifetime is hidden here
[INFO] [stdout] 682 | ) -> Option<&ffi::OctetString> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             ||
[INFO] [stdout]     |             |the same lifetime is hidden here
[INFO] [stdout]     |             the same lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 681 ~     it: *mut OctetStringIterator<'_>,
[INFO] [stdout] 682 ~ ) -> Option<&ffi::OctetString<'_>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:48:14
[INFO] [stdout]    |
[INFO] [stdout] 48 |     unsafe { JCACHE.as_ref().unwrap() }
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:56:14
[INFO] [stdout]    |
[INFO] [stdout] 56 |     unsafe { JCACHE.replace(jcache) };
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:63:14
[INFO] [stdout]    |
[INFO] [stdout] 63 |     unsafe { JCACHE.take().unwrap(); }
[INFO] [stdout]    |              ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:48:14
[INFO] [stdout]    |
[INFO] [stdout] 48 |     unsafe { JCACHE.as_ref().unwrap() }
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:56:14
[INFO] [stdout]    |
[INFO] [stdout] 56 |     unsafe { JCACHE.replace(jcache) };
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:63:14
[INFO] [stdout]    |
[INFO] [stdout] 63 |     unsafe { JCACHE.take().unwrap(); }
[INFO] [stdout]    |              ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:11367:18
[INFO] [stdout]       |
[INFO] [stdout] 11367 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[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] 11367 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:11367:18
[INFO] [stdout]       |
[INFO] [stdout] 11367 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[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] 11367 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:11416:18
[INFO] [stdout]       |
[INFO] [stdout] 11416 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 11416 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:11416:18
[INFO] [stdout]       |
[INFO] [stdout] 11416 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 11416 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:11466:18
[INFO] [stdout]       |
[INFO] [stdout] 11466 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 11466 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:11466:18
[INFO] [stdout]       |
[INFO] [stdout] 11466 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 11466 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:11921:18
[INFO] [stdout]       |
[INFO] [stdout] 11921 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 11921 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:11921:18
[INFO] [stdout]       |
[INFO] [stdout] 11921 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 11921 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:11989:18
[INFO] [stdout]       |
[INFO] [stdout] 11989 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 11989 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:11989:18
[INFO] [stdout]       |
[INFO] [stdout] 11989 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 11989 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:12038:18
[INFO] [stdout]       |
[INFO] [stdout] 12038 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 12038 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:12038:18
[INFO] [stdout]       |
[INFO] [stdout] 12038 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 12038 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:12150:18
[INFO] [stdout]       |
[INFO] [stdout] 12150 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 12150 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:12218:18
[INFO] [stdout]       |
[INFO] [stdout] 12218 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 12218 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:12150:18
[INFO] [stdout]       |
[INFO] [stdout] 12150 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 12150 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:12218:18
[INFO] [stdout]       |
[INFO] [stdout] 12218 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 12218 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:12286:18
[INFO] [stdout]       |
[INFO] [stdout] 12286 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 12286 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:12286:18
[INFO] [stdout]       |
[INFO] [stdout] 12286 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 12286 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:12354:18
[INFO] [stdout]       |
[INFO] [stdout] 12354 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 12354 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:12354:18
[INFO] [stdout]       |
[INFO] [stdout] 12354 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 12354 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:12422:18
[INFO] [stdout]       |
[INFO] [stdout] 12422 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 12422 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:12422:18
[INFO] [stdout]       |
[INFO] [stdout] 12422 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 12422 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:12490:18
[INFO] [stdout]       |
[INFO] [stdout] 12490 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 12490 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:12490:18
[INFO] [stdout]       |
[INFO] [stdout] 12490 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 12490 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:12598:18
[INFO] [stdout]       |
[INFO] [stdout] 12598 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 12598 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:12666:18
[INFO] [stdout]       |
[INFO] [stdout] 12666 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 12666 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:12598:18
[INFO] [stdout]       |
[INFO] [stdout] 12598 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 12598 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:12734:18
[INFO] [stdout]       |
[INFO] [stdout] 12734 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 12734 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:12666:18
[INFO] [stdout]       |
[INFO] [stdout] 12666 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 12666 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:12783:18
[INFO] [stdout]       |
[INFO] [stdout] 12783 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 12783 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:12734:18
[INFO] [stdout]       |
[INFO] [stdout] 12734 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 12734 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:12783:18
[INFO] [stdout]       |
[INFO] [stdout] 12783 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 12783 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:13310:18
[INFO] [stdout]       |
[INFO] [stdout] 13310 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 13310 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:13310:18
[INFO] [stdout]       |
[INFO] [stdout] 13310 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 13310 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:13570:18
[INFO] [stdout]       |
[INFO] [stdout] 13570 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 13570 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:13570:18
[INFO] [stdout]       |
[INFO] [stdout] 13570 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 13570 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:13854:18
[INFO] [stdout]       |
[INFO] [stdout] 13854 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 13854 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:13903:18
[INFO] [stdout]       |
[INFO] [stdout] 13903 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 13903 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:13854:18
[INFO] [stdout]       |
[INFO] [stdout] 13854 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 13854 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/dnp3-ffi-java-fbee82fc3cb5d308/out/jni.rs:13903:18
[INFO] [stdout]       |
[INFO] [stdout] 13903 |         unsafe { Box::from_raw(ctx as *mut jni::objects::GlobalRef) };
[INFO] [stdout]       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]       |
[INFO] [stdout] 13903 |         unsafe { let _ = Box::from_raw(ctx as *mut jni::objects::GlobalRef); };
[INFO] [stdout]       |                  +++++++                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 14s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: openssl v0.10.55
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "6daa95187118c8245b6eb6b3e3d1a55a0406f5bf1e773f97cbea6b8fbad980e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6daa95187118c8245b6eb6b3e3d1a55a0406f5bf1e773f97cbea6b8fbad980e4", kill_on_drop: false }`
[INFO] [stdout] 6daa95187118c8245b6eb6b3e3d1a55a0406f5bf1e773f97cbea6b8fbad980e4
