[INFO] fetching crate snmp 0.2.2... [INFO] testing snmp-0.2.2 against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] extracting crate snmp 0.2.2 into /workspace/builds/worker-4-tc1/source [INFO] started tweaking crates.io crate snmp 0.2.2 [INFO] finished tweaking crates.io crate snmp 0.2.2 [INFO] tweaked toml for crates.io crate snmp 0.2.2 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate snmp 0.2.2 on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] cfdd57272427387065e4f65719cda46886387db6603e30ea872bb73f1ab926cd [INFO] running `Command { std: "docker" "start" "-a" "cfdd57272427387065e4f65719cda46886387db6603e30ea872bb73f1ab926cd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cfdd57272427387065e4f65719cda46886387db6603e30ea872bb73f1ab926cd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cfdd57272427387065e4f65719cda46886387db6603e30ea872bb73f1ab926cd", kill_on_drop: false }` [INFO] [stdout] cfdd57272427387065e4f65719cda46886387db6603e30ea872bb73f1ab926cd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 15e90e833825782dbd91831cafa476dc4a802e991cbac02e86e0d13bd3f12339 [INFO] running `Command { std: "docker" "start" "-a" "15e90e833825782dbd91831cafa476dc4a802e991cbac02e86e0d13bd3f12339", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling snmp v0.2.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: unexpected `cfg` condition value: `private-tests` [INFO] [stdout] --> src/lib.rs:95:13 [INFO] [stdout] | [INFO] [stdout] 95 | #![cfg_attr(feature = "private-tests", feature(test))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `private-tests` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/lib.rs:573:47 [INFO] [stdout] | [INFO] [stdout] 573 | let mut buf: ObjIdBuf = unsafe { mem::uninitialized() }; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/lib.rs:594:47 [INFO] [stdout] | [INFO] [stdout] 594 | let mut buf: ObjIdBuf = unsafe { mem::uninitialized() }; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/lib.rs:222:36 [INFO] [stdout] | [INFO] [stdout] 222 | buf: unsafe { mem::uninitialized() }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:348:21 [INFO] [stdout] | [INFO] [stdout] 348 | let mut wbuf = self.available(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `version` is never read [INFO] [stdout] --> src/lib.rs:1169:5 [INFO] [stdout] | [INFO] [stdout] 1168 | pub struct SnmpPdu<'a> { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 1169 | version: i64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SnmpPdu` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:548:28 [INFO] [stdout] | [INFO] [stdout] 548 | let mut ret = unsafe { mem::transmute::<[u8; 8], i64>(bytes).to_be()}; [INFO] [stdout] | ------------------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i64::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `[u32; 128]` does not permit being left uninitialized [INFO] [stdout] --> src/lib.rs:573:42 [INFO] [stdout] | [INFO] [stdout] 573 | let mut buf: ObjIdBuf = unsafe { mem::uninitialized() }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] = note: `#[warn(invalid_value)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `[u32; 128]` does not permit being left uninitialized [INFO] [stdout] --> src/lib.rs:594:42 [INFO] [stdout] | [INFO] [stdout] 594 | let mut buf: ObjIdBuf = unsafe { mem::uninitialized() }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:610:26 [INFO] [stdout] | [INFO] [stdout] 610 | fn from_bytes(bytes: &[u8]) -> ObjectIdentifier { [INFO] [stdout] | ^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 610 | fn from_bytes(bytes: &[u8]) -> ObjectIdentifier<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:688:30 [INFO] [stdout] | [INFO] [stdout] 688 | pub fn from_bytes(bytes: &[u8]) -> AsnReader { [INFO] [stdout] | ^^^^^ --------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 688 | pub fn from_bytes(bytes: &[u8]) -> AsnReader<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:732:30 [INFO] [stdout] | [INFO] [stdout] 732 | o = unsafe { mem::transmute::<[u8; USIZE_LEN], usize>(bytes).to_be()}; [INFO] [stdout] | ----------------------------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `usize::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:1078:16 [INFO] [stdout] | [INFO] [stdout] 1078 | pub fn get(&mut self, name: &[u32]) -> SnmpResult { [INFO] [stdout] | ^^^^^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1078 | pub fn get(&mut self, name: &[u32]) -> SnmpResult> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:1097:20 [INFO] [stdout] | [INFO] [stdout] 1097 | pub fn getnext(&mut self, name: &[u32]) -> SnmpResult { [INFO] [stdout] | ^^^^^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1097 | pub fn getnext(&mut self, name: &[u32]) -> SnmpResult> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:1116:20 [INFO] [stdout] | [INFO] [stdout] 1116 | pub fn getbulk(&mut self, names: &[&[u32]], non_repeaters: u32, max_repetitions: u32) -> SnmpResult { [INFO] [stdout] | ^^^^^^^^^ this lifetime flows to the output ------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1116 | pub fn getbulk(&mut self, names: &[&[u32]], non_repeaters: u32, max_repetitions: u32) -> SnmpResult> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:1147:16 [INFO] [stdout] | [INFO] [stdout] 1147 | pub fn set(&mut self, values: &[(&[u32], Value)]) -> SnmpResult { [INFO] [stdout] | ^^^^^^^^^ this lifetime flows to the output ------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1147 | pub fn set(&mut self, values: &[(&[u32], Value)]) -> SnmpResult> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `[u8; 4096]` does not permit being left uninitialized [INFO] [stdout] --> src/lib.rs:222:31 [INFO] [stdout] | [INFO] [stdout] 222 | buf: unsafe { mem::uninitialized() }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:295:42 [INFO] [stdout] | [INFO] [stdout] 295 | let bytes = unsafe { mem::transmute::(len.to_be()) }; [INFO] [stdout] | ----------------------------------------^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `usize::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.47s [INFO] running `Command { std: "docker" "inspect" "15e90e833825782dbd91831cafa476dc4a802e991cbac02e86e0d13bd3f12339", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "15e90e833825782dbd91831cafa476dc4a802e991cbac02e86e0d13bd3f12339", kill_on_drop: false }` [INFO] [stdout] 15e90e833825782dbd91831cafa476dc4a802e991cbac02e86e0d13bd3f12339 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 50d8bceaeb88ad0a58443685ddf62f8188ed3ec9b28084e3b73475d5e9af324d [INFO] running `Command { std: "docker" "start" "-a" "50d8bceaeb88ad0a58443685ddf62f8188ed3ec9b28084e3b73475d5e9af324d", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stdout] warning: unexpected `cfg` condition value: `private-tests` [INFO] [stdout] --> src/lib.rs:95:13 [INFO] [stdout] | [INFO] [stdout] 95 | #![cfg_attr(feature = "private-tests", feature(test))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `private-tests` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/lib.rs:573:47 [INFO] [stdout] | [INFO] [stdout] 573 | let mut buf: ObjIdBuf = unsafe { mem::uninitialized() }; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/lib.rs:594:47 [INFO] [stdout] | [INFO] [stdout] 594 | let mut buf: ObjIdBuf = unsafe { mem::uninitialized() }; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/lib.rs:222:36 [INFO] [stdout] | [INFO] [stdout] 222 | buf: unsafe { mem::uninitialized() }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:348:21 [INFO] [stdout] | [INFO] [stdout] 348 | let mut wbuf = self.available(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `version` is never read [INFO] [stdout] --> src/lib.rs:1169:5 [INFO] [stdout] | [INFO] [stdout] 1168 | pub struct SnmpPdu<'a> { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 1169 | version: i64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SnmpPdu` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:548:28 [INFO] [stdout] | [INFO] [stdout] 548 | let mut ret = unsafe { mem::transmute::<[u8; 8], i64>(bytes).to_be()}; [INFO] [stdout] | ------------------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i64::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `[u32; 128]` does not permit being left uninitialized [INFO] [stdout] --> src/lib.rs:573:42 [INFO] [stdout] | [INFO] [stdout] 573 | let mut buf: ObjIdBuf = unsafe { mem::uninitialized() }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] = note: `#[warn(invalid_value)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `[u32; 128]` does not permit being left uninitialized [INFO] [stdout] --> src/lib.rs:594:42 [INFO] [stdout] | [INFO] [stdout] 594 | let mut buf: ObjIdBuf = unsafe { mem::uninitialized() }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:610:26 [INFO] [stdout] | [INFO] [stdout] 610 | fn from_bytes(bytes: &[u8]) -> ObjectIdentifier { [INFO] [stdout] | ^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 610 | fn from_bytes(bytes: &[u8]) -> ObjectIdentifier<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling snmp v0.2.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:688:30 [INFO] [stdout] | [INFO] [stdout] 688 | pub fn from_bytes(bytes: &[u8]) -> AsnReader { [INFO] [stdout] | ^^^^^ --------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 688 | pub fn from_bytes(bytes: &[u8]) -> AsnReader<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:732:30 [INFO] [stdout] | [INFO] [stdout] 732 | o = unsafe { mem::transmute::<[u8; USIZE_LEN], usize>(bytes).to_be()}; [INFO] [stdout] | ----------------------------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `usize::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:1078:16 [INFO] [stdout] | [INFO] [stdout] 1078 | pub fn get(&mut self, name: &[u32]) -> SnmpResult { [INFO] [stdout] | ^^^^^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1078 | pub fn get(&mut self, name: &[u32]) -> SnmpResult> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:1097:20 [INFO] [stdout] | [INFO] [stdout] 1097 | pub fn getnext(&mut self, name: &[u32]) -> SnmpResult { [INFO] [stdout] | ^^^^^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1097 | pub fn getnext(&mut self, name: &[u32]) -> SnmpResult> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:1116:20 [INFO] [stdout] | [INFO] [stdout] 1116 | pub fn getbulk(&mut self, names: &[&[u32]], non_repeaters: u32, max_repetitions: u32) -> SnmpResult { [INFO] [stdout] | ^^^^^^^^^ this lifetime flows to the output ------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1116 | pub fn getbulk(&mut self, names: &[&[u32]], non_repeaters: u32, max_repetitions: u32) -> SnmpResult> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:1147:16 [INFO] [stdout] | [INFO] [stdout] 1147 | pub fn set(&mut self, values: &[(&[u32], Value)]) -> SnmpResult { [INFO] [stdout] | ^^^^^^^^^ this lifetime flows to the output ------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1147 | pub fn set(&mut self, values: &[(&[u32], Value)]) -> SnmpResult> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `[u8; 4096]` does not permit being left uninitialized [INFO] [stdout] --> src/lib.rs:222:31 [INFO] [stdout] | [INFO] [stdout] 222 | buf: unsafe { mem::uninitialized() }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:295:42 [INFO] [stdout] | [INFO] [stdout] 295 | let bytes = unsafe { mem::transmute::(len.to_be()) }; [INFO] [stdout] | ----------------------------------------^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `usize::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `private-tests` [INFO] [stdout] --> src/lib.rs:95:13 [INFO] [stdout] | [INFO] [stdout] 95 | #![cfg_attr(feature = "private-tests", feature(test))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `private-tests` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/lib.rs:573:47 [INFO] [stdout] | [INFO] [stdout] 573 | let mut buf: ObjIdBuf = unsafe { mem::uninitialized() }; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/lib.rs:594:47 [INFO] [stdout] | [INFO] [stdout] 594 | let mut buf: ObjIdBuf = unsafe { mem::uninitialized() }; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/lib.rs:222:36 [INFO] [stdout] | [INFO] [stdout] 222 | buf: unsafe { mem::uninitialized() }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:348:21 [INFO] [stdout] | [INFO] [stdout] 348 | let mut wbuf = self.available(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `version` is never read [INFO] [stdout] --> src/lib.rs:1169:5 [INFO] [stdout] | [INFO] [stdout] 1168 | pub struct SnmpPdu<'a> { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 1169 | version: i64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SnmpPdu` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:548:28 [INFO] [stdout] | [INFO] [stdout] 548 | let mut ret = unsafe { mem::transmute::<[u8; 8], i64>(bytes).to_be()}; [INFO] [stdout] | ------------------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i64::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `[u32; 128]` does not permit being left uninitialized [INFO] [stdout] --> src/lib.rs:573:42 [INFO] [stdout] | [INFO] [stdout] 573 | let mut buf: ObjIdBuf = unsafe { mem::uninitialized() }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] = note: `#[warn(invalid_value)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `[u32; 128]` does not permit being left uninitialized [INFO] [stdout] --> src/lib.rs:594:42 [INFO] [stdout] | [INFO] [stdout] 594 | let mut buf: ObjIdBuf = unsafe { mem::uninitialized() }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:610:26 [INFO] [stdout] | [INFO] [stdout] 610 | fn from_bytes(bytes: &[u8]) -> ObjectIdentifier { [INFO] [stdout] | ^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 610 | fn from_bytes(bytes: &[u8]) -> ObjectIdentifier<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:688:30 [INFO] [stdout] | [INFO] [stdout] 688 | pub fn from_bytes(bytes: &[u8]) -> AsnReader { [INFO] [stdout] | ^^^^^ --------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 688 | pub fn from_bytes(bytes: &[u8]) -> AsnReader<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:732:30 [INFO] [stdout] | [INFO] [stdout] 732 | o = unsafe { mem::transmute::<[u8; USIZE_LEN], usize>(bytes).to_be()}; [INFO] [stdout] | ----------------------------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `usize::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:1078:16 [INFO] [stdout] | [INFO] [stdout] 1078 | pub fn get(&mut self, name: &[u32]) -> SnmpResult { [INFO] [stdout] | ^^^^^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1078 | pub fn get(&mut self, name: &[u32]) -> SnmpResult> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:1097:20 [INFO] [stdout] | [INFO] [stdout] 1097 | pub fn getnext(&mut self, name: &[u32]) -> SnmpResult { [INFO] [stdout] | ^^^^^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1097 | pub fn getnext(&mut self, name: &[u32]) -> SnmpResult> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:1116:20 [INFO] [stdout] | [INFO] [stdout] 1116 | pub fn getbulk(&mut self, names: &[&[u32]], non_repeaters: u32, max_repetitions: u32) -> SnmpResult { [INFO] [stdout] | ^^^^^^^^^ this lifetime flows to the output ------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1116 | pub fn getbulk(&mut self, names: &[&[u32]], non_repeaters: u32, max_repetitions: u32) -> SnmpResult> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:1147:16 [INFO] [stdout] | [INFO] [stdout] 1147 | pub fn set(&mut self, values: &[(&[u32], Value)]) -> SnmpResult { [INFO] [stdout] | ^^^^^^^^^ this lifetime flows to the output ------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1147 | pub fn set(&mut self, values: &[(&[u32], Value)]) -> SnmpResult> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `[u8; 4096]` does not permit being left uninitialized [INFO] [stdout] --> src/lib.rs:222:31 [INFO] [stdout] | [INFO] [stdout] 222 | buf: unsafe { mem::uninitialized() }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:295:42 [INFO] [stdout] | [INFO] [stdout] 295 | let bytes = unsafe { mem::transmute::(len.to_be()) }; [INFO] [stdout] | ----------------------------------------^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `usize::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.72s [INFO] running `Command { std: "docker" "inspect" "50d8bceaeb88ad0a58443685ddf62f8188ed3ec9b28084e3b73475d5e9af324d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "50d8bceaeb88ad0a58443685ddf62f8188ed3ec9b28084e3b73475d5e9af324d", kill_on_drop: false }` [INFO] [stdout] 50d8bceaeb88ad0a58443685ddf62f8188ed3ec9b28084e3b73475d5e9af324d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 97d5c00d234463afdd770456327a0abc9101285fdf4c6d797c5c5a523c925155 [INFO] running `Command { std: "docker" "start" "-a" "97d5c00d234463afdd770456327a0abc9101285fdf4c6d797c5c5a523c925155", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] warning: unexpected `cfg` condition value: `private-tests` [INFO] [stderr] --> src/lib.rs:95:13 [INFO] [stderr] | [INFO] [stderr] 95 | #![cfg_attr(feature = "private-tests", feature(test))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stderr] | [INFO] [stderr] = note: no expected values for `feature` [INFO] [stderr] = help: consider adding `private-tests` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stderr] --> src/lib.rs:573:47 [INFO] [stderr] | [INFO] [stderr] 573 | let mut buf: ObjIdBuf = unsafe { mem::uninitialized() }; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stderr] --> src/lib.rs:594:47 [INFO] [stderr] | [INFO] [stderr] 594 | let mut buf: ObjIdBuf = unsafe { mem::uninitialized() }; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stderr] --> src/lib.rs:222:36 [INFO] [stderr] | [INFO] [stderr] 222 | buf: unsafe { mem::uninitialized() }, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lib.rs:348:21 [INFO] [stderr] | [INFO] [stderr] 348 | let mut wbuf = self.available(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field `version` is never read [INFO] [stderr] --> src/lib.rs:1169:5 [INFO] [stderr] | [INFO] [stderr] 1168 | pub struct SnmpPdu<'a> { [INFO] [stderr] | ------- field in this struct [INFO] [stderr] 1169 | version: i64, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `SnmpPdu` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/lib.rs:548:28 [INFO] [stderr] | [INFO] [stderr] 548 | let mut ret = unsafe { mem::transmute::<[u8; 8], i64>(bytes).to_be()}; [INFO] [stderr] | ------------------------------^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `i64::from_ne_bytes` [INFO] [stderr] | [INFO] [stderr] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stderr] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stderr] [INFO] [stderr] warning: the type `[u32; 128]` does not permit being left uninitialized [INFO] [stderr] --> src/lib.rs:573:42 [INFO] [stderr] | [INFO] [stderr] 573 | let mut buf: ObjIdBuf = unsafe { mem::uninitialized() }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this code causes undefined behavior when executed [INFO] [stderr] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stderr] | [INFO] [stderr] = note: integers must be initialized [INFO] [stderr] = note: `#[warn(invalid_value)]` on by default [INFO] [stderr] [INFO] [stderr] warning: the type `[u32; 128]` does not permit being left uninitialized [INFO] [stderr] --> src/lib.rs:594:42 [INFO] [stderr] | [INFO] [stderr] 594 | let mut buf: ObjIdBuf = unsafe { mem::uninitialized() }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this code causes undefined behavior when executed [INFO] [stderr] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stderr] | [INFO] [stderr] = note: integers must be initialized [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lib.rs:610:26 [INFO] [stderr] | [INFO] [stderr] 610 | fn from_bytes(bytes: &[u8]) -> ObjectIdentifier { [INFO] [stderr] | ^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 610 | fn from_bytes(bytes: &[u8]) -> ObjectIdentifier<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lib.rs:688:30 [INFO] [stderr] | [INFO] [stderr] 688 | pub fn from_bytes(bytes: &[u8]) -> AsnReader { [INFO] [stderr] | ^^^^^ --------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 688 | pub fn from_bytes(bytes: &[u8]) -> AsnReader<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/lib.rs:732:30 [INFO] [stderr] | [INFO] [stderr] 732 | o = unsafe { mem::transmute::<[u8; USIZE_LEN], usize>(bytes).to_be()}; [INFO] [stderr] | ----------------------------------------^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `usize::from_ne_bytes` [INFO] [stderr] | [INFO] [stderr] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lib.rs:1078:16 [INFO] [stderr] | [INFO] [stderr] 1078 | pub fn get(&mut self, name: &[u32]) -> SnmpResult { [INFO] [stderr] | ^^^^^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 1078 | pub fn get(&mut self, name: &[u32]) -> SnmpResult> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lib.rs:1097:20 [INFO] [stderr] | [INFO] [stderr] 1097 | pub fn getnext(&mut self, name: &[u32]) -> SnmpResult { [INFO] [stderr] | ^^^^^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 1097 | pub fn getnext(&mut self, name: &[u32]) -> SnmpResult> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lib.rs:1116:20 [INFO] [stderr] | [INFO] [stderr] 1116 | pub fn getbulk(&mut self, names: &[&[u32]], non_repeaters: u32, max_repetitions: u32) -> SnmpResult { [INFO] [stderr] | ^^^^^^^^^ this lifetime flows to the output ------- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 1116 | pub fn getbulk(&mut self, names: &[&[u32]], non_repeaters: u32, max_repetitions: u32) -> SnmpResult> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lib.rs:1147:16 [INFO] [stderr] | [INFO] [stderr] 1147 | pub fn set(&mut self, values: &[(&[u32], Value)]) -> SnmpResult { [INFO] [stderr] | ^^^^^^^^^ this lifetime flows to the output ------- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 1147 | pub fn set(&mut self, values: &[(&[u32], Value)]) -> SnmpResult> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: the type `[u8; 4096]` does not permit being left uninitialized [INFO] [stderr] --> src/lib.rs:222:31 [INFO] [stderr] | [INFO] [stderr] 222 | buf: unsafe { mem::uninitialized() }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this code causes undefined behavior when executed [INFO] [stderr] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stderr] | [INFO] [stderr] = note: integers must be initialized [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/lib.rs:295:42 [INFO] [stderr] | [INFO] [stderr] 295 | let bytes = unsafe { mem::transmute::(len.to_be()) }; [INFO] [stderr] | ----------------------------------------^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `usize::to_ne_bytes` [INFO] [stderr] | [INFO] [stderr] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stderr] [INFO] [stderr] warning: `snmp` (lib) generated 18 warnings (run `cargo fix --lib -p snmp` to apply 10 suggestions) [INFO] [stderr] warning: `snmp` (lib test) generated 18 warnings (18 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/snmp-ce93c47ca32b31d7) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test tests::asn_parse_getnext_pdu ... ok [INFO] [stdout] test tests::build_getnext_pdu ... ok [INFO] [stdout] test tests::asn_read_byte ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "97d5c00d234463afdd770456327a0abc9101285fdf4c6d797c5c5a523c925155", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "97d5c00d234463afdd770456327a0abc9101285fdf4c6d797c5c5a523c925155", kill_on_drop: false }` [INFO] [stdout] 97d5c00d234463afdd770456327a0abc9101285fdf4c6d797c5c5a523c925155