[INFO] cloning repository https://github.com/maplestarplayl/snmp-v1-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/maplestarplayl/snmp-v1-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmaplestarplayl%2Fsnmp-v1-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmaplestarplayl%2Fsnmp-v1-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3f6eec701f15635e5064e7888250905bf5ed0d05 [INFO] testing maplestarplayl/snmp-v1-rs against master#d98a5da813da67eb189387b8ccfb73cf481275d8+rustflags=-Copt-level=3 for pr-138759-retry [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmaplestarplayl%2Fsnmp-v1-rs" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/maplestarplayl/snmp-v1-rs [INFO] finished tweaking git repo https://github.com/maplestarplayl/snmp-v1-rs [INFO] tweaked toml for git repo https://github.com/maplestarplayl/snmp-v1-rs written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/maplestarplayl/snmp-v1-rs on toolchain d98a5da813da67eb189387b8ccfb73cf481275d8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/maplestarplayl/snmp-v1-rs 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" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 730891df5995744a6c7937327bdf672b855c51b6865c80b028b82281fd0b06b5 [INFO] running `Command { std: "docker" "start" "-a" "730891df5995744a6c7937327bdf672b855c51b6865c80b028b82281fd0b06b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "730891df5995744a6c7937327bdf672b855c51b6865c80b028b82281fd0b06b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "730891df5995744a6c7937327bdf672b855c51b6865c80b028b82281fd0b06b5", kill_on_drop: false }` [INFO] [stdout] 730891df5995744a6c7937327bdf672b855c51b6865c80b028b82281fd0b06b5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 85b68e736fc5a0a5b2f31eb8140fd1aa2283b88cf387d3bd937253537d0ba4e5 [INFO] running `Command { std: "docker" "start" "-a" "85b68e736fc5a0a5b2f31eb8140fd1aa2283b88cf387d3bd937253537d0ba4e5", kill_on_drop: false }` [INFO] [stderr] Compiling anyhow v1.0.96 [INFO] [stderr] Compiling bytes v1.10.0 [INFO] [stderr] Compiling snmp_t v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> src/asn1/decode.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | use anyhow::{Context, Result, anyhow}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BytesMut` [INFO] [stdout] --> src/asn1/decode.rs:3:25 [INFO] [stdout] | [INFO] [stdout] 3 | use bytes::{Buf, Bytes, BytesMut}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Read` [INFO] [stdout] --> src/asn1/decode.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::Read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Index` [INFO] [stdout] --> src/asn1/decode.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::ops::Index; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> src/snmp.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | use anyhow::{Context, Result, anyhow}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/snmp.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::SocketAddr` [INFO] [stdout] --> src/snmp.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::net::SocketAddr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GET_REQUEST` should have an upper camel case name [INFO] [stdout] --> src/snmp.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | GET_REQUEST, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetRequest` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GET_RESPONSE` should have an upper camel case name [INFO] [stdout] --> src/snmp.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | GET_RESPONSE, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetResponse` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GET_NEXT_REQUEST` should have an upper camel case name [INFO] [stdout] --> src/snmp.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | GET_NEXT_REQUEST, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetNextRequest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SET_REQUEST` should have an upper camel case name [INFO] [stdout] --> src/snmp.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | SET_REQUEST, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `SetRequest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::format` [INFO] [stdout] --> src/client.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fmt::format; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/agent.rs:178:14 [INFO] [stdout] | [INFO] [stdout] 178 | for (i, varbind) in request.pdu.varbinds.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/agent.rs:174:13 [INFO] [stdout] | [INFO] [stdout] 174 | let mut error_status = 0; [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: variable does not need to be mutable [INFO] [stdout] --> src/agent.rs:175:13 [INFO] [stdout] | [INFO] [stdout] 175 | let mut error_index = 0; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `timeout` is never read [INFO] [stdout] --> src/client.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct SnmpClient { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 11 | socket: UdpSocket, [INFO] [stdout] 12 | timeout: Duration, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufMut` [INFO] [stdout] --> src/bin/client.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use bytes::{BufMut, BytesMut}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> src/asn1/decode.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | use anyhow::{Context, Result, anyhow}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BytesMut` [INFO] [stdout] --> src/asn1/decode.rs:3:25 [INFO] [stdout] | [INFO] [stdout] 3 | use bytes::{Buf, Bytes, BytesMut}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Read` [INFO] [stdout] --> src/asn1/decode.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::Read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Index` [INFO] [stdout] --> src/asn1/decode.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::ops::Index; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::format` [INFO] [stdout] --> src/client.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fmt::format; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> src/snmp.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | use anyhow::{Context, Result, anyhow}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/snmp.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::SocketAddr` [INFO] [stdout] --> src/snmp.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::net::SocketAddr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GET_REQUEST` should have an upper camel case name [INFO] [stdout] --> src/snmp.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | GET_REQUEST, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetRequest` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GET_RESPONSE` should have an upper camel case name [INFO] [stdout] --> src/snmp.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | GET_RESPONSE, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetResponse` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GET_NEXT_REQUEST` should have an upper camel case name [INFO] [stdout] --> src/snmp.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | GET_NEXT_REQUEST, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetNextRequest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SET_REQUEST` should have an upper camel case name [INFO] [stdout] --> src/snmp.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | SET_REQUEST, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `SetRequest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bytes` [INFO] [stdout] --> src/bin/client.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | let mut bytes = BytesMut::new(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/client.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | let mut bytes = BytesMut::new(); [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: unused variable: `agent_thread` [INFO] [stdout] --> src/bin/server.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | let agent_thread = agent.run_in_thread(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_thread` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/bin/client.rs:52:37 [INFO] [stdout] | [INFO] [stdout] 52 | SnmpValue::ObjectIdentifier(val) => "TODO".to_string(), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/agent.rs:178:14 [INFO] [stdout] | [INFO] [stdout] 178 | for (i, varbind) in request.pdu.varbinds.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/agent.rs:174:13 [INFO] [stdout] | [INFO] [stdout] 174 | let mut error_status = 0; [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: variable does not need to be mutable [INFO] [stdout] --> src/agent.rs:175:13 [INFO] [stdout] | [INFO] [stdout] 175 | let mut error_index = 0; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `MibDB` is never used [INFO] [stdout] --> src/agent.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | type MibDB = HashMap, SnmpValue>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SnmpAgent` is never constructed [INFO] [stdout] --> src/agent.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct SnmpAgent { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/agent.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl SnmpAgent { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 18 | pub fn new(addr: &str, communities: Vec) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn register_oid(&self, oid: Vec, value: SnmpValue) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | fn process_message(&self, data: &[u8], src_addr: SocketAddr) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | fn handle_get_request(&self, request: &SnmpMessage, src_addr: SocketAddr) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | fn handle_get_next_request(&self, request: &SnmpMessage, src_addr: SocketAddr) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | fn handle_set_request(&self, request: &SnmpMessage, src_addr: SocketAddr) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn run(&self) -> Result<()> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn run_in_thread(self) -> thread::JoinHandle> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Asn1Error` is never used [INFO] [stdout] --> src/asn1/decode.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum Asn1Error { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `peek_tag` is never used [INFO] [stdout] --> src/asn1/decode.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn peek_tag(buf: &Bytes) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_tag` is never used [INFO] [stdout] --> src/asn1/decode.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn decode_tag(buf: &mut Bytes) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_length` is never used [INFO] [stdout] --> src/asn1/decode.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn decode_length(buf: &mut Bytes) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_sequence` is never used [INFO] [stdout] --> src/asn1/decode.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn decode_sequence(buf: &mut Bytes) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_integer` is never used [INFO] [stdout] --> src/asn1/decode.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn decode_integer(buf: &mut Bytes) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_octet_string` is never used [INFO] [stdout] --> src/asn1/decode.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn decode_octet_string(buf: &mut Bytes) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_null` is never used [INFO] [stdout] --> src/asn1/decode.rs:150:8 [INFO] [stdout] | [INFO] [stdout] 150 | pub fn decode_null(buf: &mut Bytes) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_oid` is never used [INFO] [stdout] --> src/asn1/decode.rs:165:8 [INFO] [stdout] | [INFO] [stdout] 165 | pub fn decode_oid(buf: &mut Bytes) -> Result> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INTEGER_TAG` is never used [INFO] [stdout] --> src/asn1/encode.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | pub const INTEGER_TAG: u8 = 0x02; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OCTET_STRING_TAG` is never used [INFO] [stdout] --> src/asn1/encode.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub const OCTET_STRING_TAG: u8 = 0x04; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NULL_TAG` is never used [INFO] [stdout] --> src/asn1/encode.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const NULL_TAG: u8 = 0x05; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OBJECT_IDENTIFIER_TAG` is never used [INFO] [stdout] --> src/asn1/encode.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub const OBJECT_IDENTIFIER_TAG: u8 = 0x06; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SEQUENCE_TAG` is never used [INFO] [stdout] --> src/asn1/encode.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const SEQUENCE_TAG: u8 = 0x33; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GET_REQUEST_TAG` is never used [INFO] [stdout] --> src/asn1/encode.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const GET_REQUEST_TAG: u8 = 0xA0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GET_RESPONSE_TAG` is never used [INFO] [stdout] --> src/asn1/encode.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const GET_RESPONSE_TAG: u8 = 0xA2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GET_NEXT_REQUEST_TAG` is never used [INFO] [stdout] --> src/asn1/encode.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const GET_NEXT_REQUEST_TAG: u8 = 0xA1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SET_REQUEST_TAG` is never used [INFO] [stdout] --> src/asn1/encode.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | pub const SET_REQUEST_TAG: u8 = 0xA3; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encode_length` is never used [INFO] [stdout] --> src/asn1/encode.rs:14:4 [INFO] [stdout] | [INFO] [stdout] 14 | fn encode_length(len: usize, buf: &mut BytesMut) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encode_integer` is never used [INFO] [stdout] --> src/asn1/encode.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn encode_integer(value: i32, buf: &mut BytesMut) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encode_octet_string` is never used [INFO] [stdout] --> src/asn1/encode.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn encode_octet_string(data: &[u8], buf: &mut BytesMut) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encode_null` is never used [INFO] [stdout] --> src/asn1/encode.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn encode_null(buf: &mut BytesMut) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encode_sequence` is never used [INFO] [stdout] --> src/asn1/encode.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn encode_sequence(content: &[u8], tag: u8, buf: &mut BytesMut) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encode_oid` is never used [INFO] [stdout] --> src/asn1/encode.rs:87:8 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn encode_oid(oid: &[u32], buf: &mut BytesMut) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SnmpClient` is never constructed [INFO] [stdout] --> src/client.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct SnmpClient { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get` are never used [INFO] [stdout] --> src/client.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl SnmpClient { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn get( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SNMP_VERSION_1` is never used [INFO] [stdout] --> src/snmp.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const SNMP_VERSION_1: u8 = 0x00; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PduType` is never used [INFO] [stdout] --> src/snmp.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum PduType { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SnmpError` is never used [INFO] [stdout] --> src/snmp.rs:19:10 [INFO] [stdout] | [INFO] [stdout] 19 | pub enum SnmpError { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_tag` is never used [INFO] [stdout] --> src/snmp.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl PduType { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 44 | pub fn to_tag(&self) -> u8 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_varbind` is never used [INFO] [stdout] --> src/snmp.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn build_varbind(oid: &[u32], buf: &mut BytesMut) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_varbind_list` is never used [INFO] [stdout] --> src/snmp.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn build_varbind_list(oids: &[&[u32]], buf: &mut BytesMut) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_pdu` is never used [INFO] [stdout] --> src/snmp.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn build_pdu( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_snmp_msg` is never used [INFO] [stdout] --> src/snmp.rs:94:8 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn build_snmp_msg(community: &str, pdu: &[u8], buf: &mut BytesMut) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SnmpValue` is never used [INFO] [stdout] --> src/snmp.rs:107:10 [INFO] [stdout] | [INFO] [stdout] 107 | pub enum SnmpValue { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Varbind` is never constructed [INFO] [stdout] --> src/snmp.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 115 | pub struct Varbind { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SnmpPdu` is never constructed [INFO] [stdout] --> src/snmp.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 121 | pub struct SnmpPdu { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SnmpMessage` is never constructed [INFO] [stdout] --> src/snmp.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 130 | pub struct SnmpMessage { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_varbind` is never used [INFO] [stdout] --> src/snmp.rs:136:8 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn decode_varbind(buf: &mut Bytes) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_varbind_list` is never used [INFO] [stdout] --> src/snmp.rs:169:8 [INFO] [stdout] | [INFO] [stdout] 169 | pub fn decode_varbind_list(buf: &mut Bytes) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_pdu` is never used [INFO] [stdout] --> src/snmp.rs:181:8 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn decode_pdu(buf: &mut Bytes) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_snmp_message` is never used [INFO] [stdout] --> src/snmp.rs:214:8 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn decode_snmp_message(data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_response_pdu` is never used [INFO] [stdout] --> src/snmp.rs:239:8 [INFO] [stdout] | [INFO] [stdout] 239 | pub fn build_response_pdu( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_response_varbind_list` is never used [INFO] [stdout] --> src/snmp.rs:261:4 [INFO] [stdout] | [INFO] [stdout] 261 | fn build_response_varbind_list(varbinds: &[Varbind], buf: &mut BytesMut) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_response_varbind` is never used [INFO] [stdout] --> src/snmp.rs:271:4 [INFO] [stdout] | [INFO] [stdout] 271 | fn build_response_varbind(varbind: &Varbind, buf: &mut BytesMut) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_response_message` is never used [INFO] [stdout] --> src/snmp.rs:294:8 [INFO] [stdout] | [INFO] [stdout] 294 | pub fn build_response_message( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.01s [INFO] running `Command { std: "docker" "inspect" "85b68e736fc5a0a5b2f31eb8140fd1aa2283b88cf387d3bd937253537d0ba4e5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "85b68e736fc5a0a5b2f31eb8140fd1aa2283b88cf387d3bd937253537d0ba4e5", kill_on_drop: false }` [INFO] [stdout] 85b68e736fc5a0a5b2f31eb8140fd1aa2283b88cf387d3bd937253537d0ba4e5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 89d785badc1b24cc0980abfed8a4b2862e3aa79f76eb4533e832018154fbaca6 [INFO] running `Command { std: "docker" "start" "-a" "89d785badc1b24cc0980abfed8a4b2862e3aa79f76eb4533e832018154fbaca6", kill_on_drop: false }` [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> src/asn1/decode.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | use anyhow::{Context, Result, anyhow}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BytesMut` [INFO] [stdout] --> src/asn1/decode.rs:3:25 [INFO] [stdout] | [INFO] [stdout] 3 | use bytes::{Buf, Bytes, BytesMut}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Read` [INFO] [stdout] --> src/asn1/decode.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::Read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Index` [INFO] [stdout] --> src/asn1/decode.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::ops::Index; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> src/snmp.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | use anyhow::{Context, Result, anyhow}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/snmp.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::SocketAddr` [INFO] [stdout] --> src/snmp.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::net::SocketAddr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GET_REQUEST` should have an upper camel case name [INFO] [stdout] --> src/snmp.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | GET_REQUEST, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetRequest` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GET_RESPONSE` should have an upper camel case name [INFO] [stdout] --> src/snmp.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | GET_RESPONSE, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetResponse` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GET_NEXT_REQUEST` should have an upper camel case name [INFO] [stdout] --> src/snmp.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | GET_NEXT_REQUEST, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetNextRequest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SET_REQUEST` should have an upper camel case name [INFO] [stdout] --> src/snmp.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | SET_REQUEST, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `SetRequest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::format` [INFO] [stdout] --> src/client.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fmt::format; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/agent.rs:178:14 [INFO] [stdout] | [INFO] [stdout] 178 | for (i, varbind) in request.pdu.varbinds.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/agent.rs:174:13 [INFO] [stdout] | [INFO] [stdout] 174 | let mut error_status = 0; [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: variable does not need to be mutable [INFO] [stdout] --> src/agent.rs:175:13 [INFO] [stdout] | [INFO] [stdout] 175 | let mut error_index = 0; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `timeout` is never read [INFO] [stdout] --> src/client.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct SnmpClient { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 11 | socket: UdpSocket, [INFO] [stdout] 12 | timeout: Duration, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling snmp_t v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> src/asn1/decode.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | use anyhow::{Context, Result, anyhow}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BytesMut` [INFO] [stdout] --> src/asn1/decode.rs:3:25 [INFO] [stdout] | [INFO] [stdout] 3 | use bytes::{Buf, Bytes, BytesMut}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Read` [INFO] [stdout] --> src/asn1/decode.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::Read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Index` [INFO] [stdout] --> src/asn1/decode.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::ops::Index; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::format` [INFO] [stdout] --> src/client.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fmt::format; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> src/snmp.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | use anyhow::{Context, Result, anyhow}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/snmp.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::SocketAddr` [INFO] [stdout] --> src/snmp.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::net::SocketAddr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GET_REQUEST` should have an upper camel case name [INFO] [stdout] --> src/snmp.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | GET_REQUEST, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetRequest` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GET_RESPONSE` should have an upper camel case name [INFO] [stdout] --> src/snmp.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | GET_RESPONSE, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetResponse` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GET_NEXT_REQUEST` should have an upper camel case name [INFO] [stdout] --> src/snmp.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | GET_NEXT_REQUEST, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetNextRequest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SET_REQUEST` should have an upper camel case name [INFO] [stdout] --> src/snmp.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | SET_REQUEST, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `SetRequest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufMut` [INFO] [stdout] --> src/bin/client.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use bytes::{BufMut, BytesMut}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bytes` [INFO] [stdout] --> src/bin/client.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | let mut bytes = BytesMut::new(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/client.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | let mut bytes = BytesMut::new(); [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: unused variable: `val` [INFO] [stdout] --> src/bin/client.rs:52:37 [INFO] [stdout] | [INFO] [stdout] 52 | SnmpValue::ObjectIdentifier(val) => "TODO".to_string(), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `agent_thread` [INFO] [stdout] --> src/bin/server.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | let agent_thread = agent.run_in_thread(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_thread` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> src/asn1/decode.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | use anyhow::{Context, Result, anyhow}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BytesMut` [INFO] [stdout] --> src/asn1/decode.rs:3:25 [INFO] [stdout] | [INFO] [stdout] 3 | use bytes::{Buf, Bytes, BytesMut}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Read` [INFO] [stdout] --> src/asn1/decode.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::Read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Index` [INFO] [stdout] --> src/asn1/decode.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::ops::Index; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> src/snmp.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | use anyhow::{Context, Result, anyhow}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/snmp.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::SocketAddr` [INFO] [stdout] --> src/snmp.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::net::SocketAddr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GET_REQUEST` should have an upper camel case name [INFO] [stdout] --> src/snmp.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | GET_REQUEST, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetRequest` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GET_RESPONSE` should have an upper camel case name [INFO] [stdout] --> src/snmp.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | GET_RESPONSE, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetResponse` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GET_NEXT_REQUEST` should have an upper camel case name [INFO] [stdout] --> src/snmp.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | GET_NEXT_REQUEST, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetNextRequest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SET_REQUEST` should have an upper camel case name [INFO] [stdout] --> src/snmp.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | SET_REQUEST, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `SetRequest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::format` [INFO] [stdout] --> src/client.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fmt::format; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/agent.rs:178:14 [INFO] [stdout] | [INFO] [stdout] 178 | for (i, varbind) in request.pdu.varbinds.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/agent.rs:174:13 [INFO] [stdout] | [INFO] [stdout] 174 | let mut error_status = 0; [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: variable does not need to be mutable [INFO] [stdout] --> src/agent.rs:175:13 [INFO] [stdout] | [INFO] [stdout] 175 | let mut error_index = 0; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `MibDB` is never used [INFO] [stdout] --> src/agent.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | type MibDB = HashMap, SnmpValue>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SnmpAgent` is never constructed [INFO] [stdout] --> src/agent.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct SnmpAgent { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/agent.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl SnmpAgent { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 18 | pub fn new(addr: &str, communities: Vec) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn register_oid(&self, oid: Vec, value: SnmpValue) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | fn process_message(&self, data: &[u8], src_addr: SocketAddr) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | fn handle_get_request(&self, request: &SnmpMessage, src_addr: SocketAddr) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | fn handle_get_next_request(&self, request: &SnmpMessage, src_addr: SocketAddr) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | fn handle_set_request(&self, request: &SnmpMessage, src_addr: SocketAddr) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn run(&self) -> Result<()> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn run_in_thread(self) -> thread::JoinHandle> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Asn1Error` is never used [INFO] [stdout] --> src/asn1/decode.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum Asn1Error { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `peek_tag` is never used [INFO] [stdout] --> src/asn1/decode.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn peek_tag(buf: &Bytes) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_tag` is never used [INFO] [stdout] --> src/asn1/decode.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn decode_tag(buf: &mut Bytes) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_length` is never used [INFO] [stdout] --> src/asn1/decode.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn decode_length(buf: &mut Bytes) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_sequence` is never used [INFO] [stdout] --> src/asn1/decode.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn decode_sequence(buf: &mut Bytes) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_integer` is never used [INFO] [stdout] --> src/asn1/decode.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn decode_integer(buf: &mut Bytes) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_octet_string` is never used [INFO] [stdout] --> src/asn1/decode.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn decode_octet_string(buf: &mut Bytes) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_null` is never used [INFO] [stdout] --> src/asn1/decode.rs:150:8 [INFO] [stdout] | [INFO] [stdout] 150 | pub fn decode_null(buf: &mut Bytes) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_oid` is never used [INFO] [stdout] --> src/asn1/decode.rs:165:8 [INFO] [stdout] | [INFO] [stdout] 165 | pub fn decode_oid(buf: &mut Bytes) -> Result> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INTEGER_TAG` is never used [INFO] [stdout] --> src/asn1/encode.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | pub const INTEGER_TAG: u8 = 0x02; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OCTET_STRING_TAG` is never used [INFO] [stdout] --> src/asn1/encode.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub const OCTET_STRING_TAG: u8 = 0x04; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NULL_TAG` is never used [INFO] [stdout] --> src/asn1/encode.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const NULL_TAG: u8 = 0x05; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OBJECT_IDENTIFIER_TAG` is never used [INFO] [stdout] --> src/asn1/encode.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub const OBJECT_IDENTIFIER_TAG: u8 = 0x06; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SEQUENCE_TAG` is never used [INFO] [stdout] --> src/asn1/encode.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const SEQUENCE_TAG: u8 = 0x33; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GET_REQUEST_TAG` is never used [INFO] [stdout] --> src/asn1/encode.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const GET_REQUEST_TAG: u8 = 0xA0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GET_RESPONSE_TAG` is never used [INFO] [stdout] --> src/asn1/encode.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const GET_RESPONSE_TAG: u8 = 0xA2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GET_NEXT_REQUEST_TAG` is never used [INFO] [stdout] --> src/asn1/encode.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const GET_NEXT_REQUEST_TAG: u8 = 0xA1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SET_REQUEST_TAG` is never used [INFO] [stdout] --> src/asn1/encode.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | pub const SET_REQUEST_TAG: u8 = 0xA3; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encode_length` is never used [INFO] [stdout] --> src/asn1/encode.rs:14:4 [INFO] [stdout] | [INFO] [stdout] 14 | fn encode_length(len: usize, buf: &mut BytesMut) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encode_integer` is never used [INFO] [stdout] --> src/asn1/encode.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn encode_integer(value: i32, buf: &mut BytesMut) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encode_octet_string` is never used [INFO] [stdout] --> src/asn1/encode.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn encode_octet_string(data: &[u8], buf: &mut BytesMut) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encode_null` is never used [INFO] [stdout] --> src/asn1/encode.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn encode_null(buf: &mut BytesMut) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encode_sequence` is never used [INFO] [stdout] --> src/asn1/encode.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn encode_sequence(content: &[u8], tag: u8, buf: &mut BytesMut) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encode_oid` is never used [INFO] [stdout] --> src/asn1/encode.rs:87:8 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn encode_oid(oid: &[u32], buf: &mut BytesMut) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SnmpClient` is never constructed [INFO] [stdout] --> src/client.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct SnmpClient { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get` are never used [INFO] [stdout] --> src/client.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl SnmpClient { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn get( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SNMP_VERSION_1` is never used [INFO] [stdout] --> src/snmp.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const SNMP_VERSION_1: u8 = 0x00; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PduType` is never used [INFO] [stdout] --> src/snmp.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum PduType { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SnmpError` is never used [INFO] [stdout] --> src/snmp.rs:19:10 [INFO] [stdout] | [INFO] [stdout] 19 | pub enum SnmpError { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_tag` is never used [INFO] [stdout] --> src/snmp.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl PduType { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 44 | pub fn to_tag(&self) -> u8 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_varbind` is never used [INFO] [stdout] --> src/snmp.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn build_varbind(oid: &[u32], buf: &mut BytesMut) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_varbind_list` is never used [INFO] [stdout] --> src/snmp.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn build_varbind_list(oids: &[&[u32]], buf: &mut BytesMut) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_pdu` is never used [INFO] [stdout] --> src/snmp.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn build_pdu( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_snmp_msg` is never used [INFO] [stdout] --> src/snmp.rs:94:8 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn build_snmp_msg(community: &str, pdu: &[u8], buf: &mut BytesMut) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SnmpValue` is never used [INFO] [stdout] --> src/snmp.rs:107:10 [INFO] [stdout] | [INFO] [stdout] 107 | pub enum SnmpValue { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Varbind` is never constructed [INFO] [stdout] --> src/snmp.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 115 | pub struct Varbind { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SnmpPdu` is never constructed [INFO] [stdout] --> src/snmp.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 121 | pub struct SnmpPdu { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SnmpMessage` is never constructed [INFO] [stdout] --> src/snmp.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 130 | pub struct SnmpMessage { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_varbind` is never used [INFO] [stdout] --> src/snmp.rs:136:8 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn decode_varbind(buf: &mut Bytes) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_varbind_list` is never used [INFO] [stdout] --> src/snmp.rs:169:8 [INFO] [stdout] | [INFO] [stdout] 169 | pub fn decode_varbind_list(buf: &mut Bytes) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_pdu` is never used [INFO] [stdout] --> src/snmp.rs:181:8 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn decode_pdu(buf: &mut Bytes) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_snmp_message` is never used [INFO] [stdout] --> src/snmp.rs:214:8 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn decode_snmp_message(data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_response_pdu` is never used [INFO] [stdout] --> src/snmp.rs:239:8 [INFO] [stdout] | [INFO] [stdout] 239 | pub fn build_response_pdu( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_response_varbind_list` is never used [INFO] [stdout] --> src/snmp.rs:261:4 [INFO] [stdout] | [INFO] [stdout] 261 | fn build_response_varbind_list(varbinds: &[Varbind], buf: &mut BytesMut) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_response_varbind` is never used [INFO] [stdout] --> src/snmp.rs:271:4 [INFO] [stdout] | [INFO] [stdout] 271 | fn build_response_varbind(varbind: &Varbind, buf: &mut BytesMut) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_response_message` is never used [INFO] [stdout] --> src/snmp.rs:294:8 [INFO] [stdout] | [INFO] [stdout] 294 | pub fn build_response_message( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/agent.rs:178:14 [INFO] [stdout] | [INFO] [stdout] 178 | for (i, varbind) in request.pdu.varbinds.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/agent.rs:174:13 [INFO] [stdout] | [INFO] [stdout] 174 | let mut error_status = 0; [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: variable does not need to be mutable [INFO] [stdout] --> src/agent.rs:175:13 [INFO] [stdout] | [INFO] [stdout] 175 | let mut error_index = 0; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `timeout` is never read [INFO] [stdout] --> src/client.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct SnmpClient { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 11 | socket: UdpSocket, [INFO] [stdout] 12 | timeout: Duration, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.74s [INFO] running `Command { std: "docker" "inspect" "89d785badc1b24cc0980abfed8a4b2862e3aa79f76eb4533e832018154fbaca6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "89d785badc1b24cc0980abfed8a4b2862e3aa79f76eb4533e832018154fbaca6", kill_on_drop: false }` [INFO] [stdout] 89d785badc1b24cc0980abfed8a4b2862e3aa79f76eb4533e832018154fbaca6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] c04a9aa9775903c54dd3f463de618999d910f0b38326521e4f084b5b1bdacf75 [INFO] running `Command { std: "docker" "start" "-a" "c04a9aa9775903c54dd3f463de618999d910f0b38326521e4f084b5b1bdacf75", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `Context` [INFO] [stderr] --> src/asn1/decode.rs:2:14 [INFO] [stderr] | [INFO] [stderr] 2 | use anyhow::{Context, Result, anyhow}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `BytesMut` [INFO] [stderr] --> src/asn1/decode.rs:3:25 [INFO] [stderr] | [INFO] [stderr] 3 | use bytes::{Buf, Bytes, BytesMut}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Read` [INFO] [stderr] --> src/asn1/decode.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::io::Read; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Index` [INFO] [stderr] --> src/asn1/decode.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::ops::Index; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Context` [INFO] [stderr] --> src/snmp.rs:2:14 [INFO] [stderr] | [INFO] [stderr] 2 | use anyhow::{Context, Result, anyhow}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/snmp.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::net::SocketAddr` [INFO] [stderr] --> src/snmp.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::net::SocketAddr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `GET_REQUEST` should have an upper camel case name [INFO] [stderr] --> src/snmp.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | GET_REQUEST, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetRequest` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant `GET_RESPONSE` should have an upper camel case name [INFO] [stderr] --> src/snmp.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | GET_RESPONSE, [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetResponse` [INFO] [stderr] [INFO] [stderr] warning: variant `GET_NEXT_REQUEST` should have an upper camel case name [INFO] [stderr] --> src/snmp.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | GET_NEXT_REQUEST, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetNextRequest` [INFO] [stderr] [INFO] [stderr] warning: variant `SET_REQUEST` should have an upper camel case name [INFO] [stderr] --> src/snmp.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | SET_REQUEST, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `SetRequest` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt::format` [INFO] [stderr] --> src/client.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::fmt::format; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/agent.rs:178:14 [INFO] [stderr] | [INFO] [stderr] 178 | for (i, varbind) in request.pdu.varbinds.iter().enumerate() { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/agent.rs:174:13 [INFO] [stderr] | [INFO] [stderr] 174 | let mut error_status = 0; [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: variable does not need to be mutable [INFO] [stderr] --> src/agent.rs:175:13 [INFO] [stderr] | [INFO] [stderr] 175 | let mut error_index = 0; [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field `timeout` is never read [INFO] [stderr] --> src/client.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 10 | pub struct SnmpClient { [INFO] [stderr] | ---------- field in this struct [INFO] [stderr] 11 | socket: UdpSocket, [INFO] [stderr] 12 | timeout: Duration, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `snmp_t` (lib) generated 16 warnings (run `cargo fix --lib -p snmp_t` to apply 10 suggestions) [INFO] [stderr] warning: type alias `MibDB` is never used [INFO] [stderr] --> src/agent.rs:9:6 [INFO] [stderr] | [INFO] [stderr] 9 | type MibDB = HashMap, SnmpValue>; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: struct `SnmpAgent` is never constructed [INFO] [stderr] --> src/agent.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct SnmpAgent { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/agent.rs:18:12 [INFO] [stderr] | [INFO] [stderr] 17 | impl SnmpAgent { [INFO] [stderr] | -------------- associated items in this implementation [INFO] [stderr] 18 | pub fn new(addr: &str, communities: Vec) -> Result { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 31 | pub fn register_oid(&self, oid: Vec, value: SnmpValue) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 37 | fn process_message(&self, data: &[u8], src_addr: SocketAddr) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 73 | fn handle_get_request(&self, request: &SnmpMessage, src_addr: SocketAddr) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 118 | fn handle_get_next_request(&self, request: &SnmpMessage, src_addr: SocketAddr) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 171 | fn handle_set_request(&self, request: &SnmpMessage, src_addr: SocketAddr) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 204 | pub fn run(&self) -> Result<()> { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 236 | pub fn run_in_thread(self) -> thread::JoinHandle> { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `Asn1Error` is never used [INFO] [stderr] --> src/asn1/decode.rs:10:10 [INFO] [stderr] | [INFO] [stderr] 10 | pub enum Asn1Error { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `peek_tag` is never used [INFO] [stderr] --> src/asn1/decode.rs:32:8 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn peek_tag(buf: &Bytes) -> Result { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `decode_tag` is never used [INFO] [stderr] --> src/asn1/decode.rs:39:8 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn decode_tag(buf: &mut Bytes) -> Result { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `decode_length` is never used [INFO] [stderr] --> src/asn1/decode.rs:46:8 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn decode_length(buf: &mut Bytes) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `decode_sequence` is never used [INFO] [stderr] --> src/asn1/decode.rs:76:8 [INFO] [stderr] | [INFO] [stderr] 76 | pub fn decode_sequence(buf: &mut Bytes) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `decode_integer` is never used [INFO] [stderr] --> src/asn1/decode.rs:96:8 [INFO] [stderr] | [INFO] [stderr] 96 | pub fn decode_integer(buf: &mut Bytes) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `decode_octet_string` is never used [INFO] [stderr] --> src/asn1/decode.rs:130:8 [INFO] [stderr] | [INFO] [stderr] 130 | pub fn decode_octet_string(buf: &mut Bytes) -> Result> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `decode_null` is never used [INFO] [stderr] --> src/asn1/decode.rs:150:8 [INFO] [stderr] | [INFO] [stderr] 150 | pub fn decode_null(buf: &mut Bytes) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `decode_oid` is never used [INFO] [stderr] --> src/asn1/decode.rs:165:8 [INFO] [stderr] | [INFO] [stderr] 165 | pub fn decode_oid(buf: &mut Bytes) -> Result> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `INTEGER_TAG` is never used [INFO] [stderr] --> src/asn1/encode.rs:4:11 [INFO] [stderr] | [INFO] [stderr] 4 | pub const INTEGER_TAG: u8 = 0x02; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `OCTET_STRING_TAG` is never used [INFO] [stderr] --> src/asn1/encode.rs:5:11 [INFO] [stderr] | [INFO] [stderr] 5 | pub const OCTET_STRING_TAG: u8 = 0x04; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `NULL_TAG` is never used [INFO] [stderr] --> src/asn1/encode.rs:6:11 [INFO] [stderr] | [INFO] [stderr] 6 | pub const NULL_TAG: u8 = 0x05; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `OBJECT_IDENTIFIER_TAG` is never used [INFO] [stderr] --> src/asn1/encode.rs:7:11 [INFO] [stderr] | [INFO] [stderr] 7 | pub const OBJECT_IDENTIFIER_TAG: u8 = 0x06; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SEQUENCE_TAG` is never used [INFO] [stderr] --> src/asn1/encode.rs:8:11 [INFO] [stderr] | [INFO] [stderr] 8 | pub const SEQUENCE_TAG: u8 = 0x33; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `GET_REQUEST_TAG` is never used [INFO] [stderr] --> src/asn1/encode.rs:9:11 [INFO] [stderr] | [INFO] [stderr] 9 | pub const GET_REQUEST_TAG: u8 = 0xA0; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `GET_RESPONSE_TAG` is never used [INFO] [stderr] --> src/asn1/encode.rs:10:11 [INFO] [stderr] | [INFO] [stderr] 10 | pub const GET_RESPONSE_TAG: u8 = 0xA2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `GET_NEXT_REQUEST_TAG` is never used [INFO] [stderr] --> src/asn1/encode.rs:11:11 [INFO] [stderr] | [INFO] [stderr] 11 | pub const GET_NEXT_REQUEST_TAG: u8 = 0xA1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SET_REQUEST_TAG` is never used [INFO] [stderr] --> src/asn1/encode.rs:12:11 [INFO] [stderr] | [INFO] [stderr] 12 | pub const SET_REQUEST_TAG: u8 = 0xA3; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `encode_length` is never used [INFO] [stderr] --> src/asn1/encode.rs:14:4 [INFO] [stderr] | [INFO] [stderr] 14 | fn encode_length(len: usize, buf: &mut BytesMut) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `encode_integer` is never used [INFO] [stderr] --> src/asn1/encode.rs:36:8 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn encode_integer(value: i32, buf: &mut BytesMut) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `encode_octet_string` is never used [INFO] [stderr] --> src/asn1/encode.rs:55:8 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn encode_octet_string(data: &[u8], buf: &mut BytesMut) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `encode_null` is never used [INFO] [stderr] --> src/asn1/encode.rs:61:8 [INFO] [stderr] | [INFO] [stderr] 61 | pub fn encode_null(buf: &mut BytesMut) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `encode_sequence` is never used [INFO] [stderr] --> src/asn1/encode.rs:79:8 [INFO] [stderr] | [INFO] [stderr] 79 | pub fn encode_sequence(content: &[u8], tag: u8, buf: &mut BytesMut) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `encode_oid` is never used [INFO] [stderr] --> src/asn1/encode.rs:87:8 [INFO] [stderr] | [INFO] [stderr] 87 | pub fn encode_oid(oid: &[u32], buf: &mut BytesMut) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `SnmpClient` is never constructed [INFO] [stderr] --> src/client.rs:10:12 [INFO] [stderr] | [INFO] [stderr] 10 | pub struct SnmpClient { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new` and `get` are never used [INFO] [stderr] --> src/client.rs:17:12 [INFO] [stderr] | [INFO] [stderr] 16 | impl SnmpClient { [INFO] [stderr] | --------------- associated items in this implementation [INFO] [stderr] 17 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 27 | pub fn get( [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SNMP_VERSION_1` is never used [INFO] [stderr] --> src/snmp.rs:8:11 [INFO] [stderr] | [INFO] [stderr] 8 | pub const SNMP_VERSION_1: u8 = 0x00; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `PduType` is never used [INFO] [stderr] --> src/snmp.rs:11:10 [INFO] [stderr] | [INFO] [stderr] 11 | pub enum PduType { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `SnmpError` is never used [INFO] [stderr] --> src/snmp.rs:19:10 [INFO] [stderr] | [INFO] [stderr] 19 | pub enum SnmpError { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `to_tag` is never used [INFO] [stderr] --> src/snmp.rs:44:12 [INFO] [stderr] | [INFO] [stderr] 43 | impl PduType { [INFO] [stderr] | ------------ method in this implementation [INFO] [stderr] 44 | pub fn to_tag(&self) -> u8 { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `build_varbind` is never used [INFO] [stderr] --> src/snmp.rs:54:8 [INFO] [stderr] | [INFO] [stderr] 54 | pub fn build_varbind(oid: &[u32], buf: &mut BytesMut) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `build_varbind_list` is never used [INFO] [stderr] --> src/snmp.rs:64:8 [INFO] [stderr] | [INFO] [stderr] 64 | pub fn build_varbind_list(oids: &[&[u32]], buf: &mut BytesMut) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `build_pdu` is never used [INFO] [stderr] --> src/snmp.rs:73:8 [INFO] [stderr] | [INFO] [stderr] 73 | pub fn build_pdu( [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `build_snmp_msg` is never used [INFO] [stderr] --> src/snmp.rs:94:8 [INFO] [stderr] | [INFO] [stderr] 94 | pub fn build_snmp_msg(community: &str, pdu: &[u8], buf: &mut BytesMut) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `SnmpValue` is never used [INFO] [stderr] --> src/snmp.rs:107:10 [INFO] [stderr] | [INFO] [stderr] 107 | pub enum SnmpValue { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Varbind` is never constructed [INFO] [stderr] --> src/snmp.rs:115:12 [INFO] [stderr] | [INFO] [stderr] 115 | pub struct Varbind { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `SnmpPdu` is never constructed [INFO] [stderr] --> src/snmp.rs:121:12 [INFO] [stderr] | [INFO] [stderr] 121 | pub struct SnmpPdu { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `SnmpMessage` is never constructed [INFO] [stderr] --> src/snmp.rs:130:12 [INFO] [stderr] | [INFO] [stderr] 130 | pub struct SnmpMessage { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `decode_varbind` is never used [INFO] [stderr] --> src/snmp.rs:136:8 [INFO] [stderr] | [INFO] [stderr] 136 | pub fn decode_varbind(buf: &mut Bytes) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `decode_varbind_list` is never used [INFO] [stderr] --> src/snmp.rs:169:8 [INFO] [stderr] | [INFO] [stderr] 169 | pub fn decode_varbind_list(buf: &mut Bytes) -> Result> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `decode_pdu` is never used [INFO] [stderr] --> src/snmp.rs:181:8 [INFO] [stderr] | [INFO] [stderr] 181 | pub fn decode_pdu(buf: &mut Bytes) -> Result { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `decode_snmp_message` is never used [INFO] [stderr] --> src/snmp.rs:214:8 [INFO] [stderr] | [INFO] [stderr] 214 | pub fn decode_snmp_message(data: &[u8]) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `build_response_pdu` is never used [INFO] [stderr] --> src/snmp.rs:239:8 [INFO] [stderr] | [INFO] [stderr] 239 | pub fn build_response_pdu( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `build_response_varbind_list` is never used [INFO] [stderr] --> src/snmp.rs:261:4 [INFO] [stderr] | [INFO] [stderr] 261 | fn build_response_varbind_list(varbinds: &[Varbind], buf: &mut BytesMut) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `build_response_varbind` is never used [INFO] [stderr] --> src/snmp.rs:271:4 [INFO] [stderr] | [INFO] [stderr] 271 | fn build_response_varbind(varbind: &Varbind, buf: &mut BytesMut) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `build_response_message` is never used [INFO] [stderr] --> src/snmp.rs:294:8 [INFO] [stderr] | [INFO] [stderr] 294 | pub fn build_response_message( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `snmp_t` (bin "snmp_t" test) generated 64 warnings (15 duplicates) [INFO] [stderr] warning: unused import: `BufMut` [INFO] [stderr] --> src/bin/client.rs:1:13 [INFO] [stderr] | [INFO] [stderr] 1 | use bytes::{BufMut, BytesMut}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytes` [INFO] [stderr] --> src/bin/client.rs:20:13 [INFO] [stderr] | [INFO] [stderr] 20 | let mut bytes = BytesMut::new(); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/bin/client.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | let mut bytes = BytesMut::new(); [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: unused variable: `val` [INFO] [stderr] --> src/bin/client.rs:52:37 [INFO] [stderr] | [INFO] [stderr] 52 | SnmpValue::ObjectIdentifier(val) => "TODO".to_string(), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stderr] [INFO] [stderr] warning: `snmp_t` (bin "client" test) generated 4 warnings (run `cargo fix --bin "client" --tests` to apply 2 suggestions) [INFO] [stderr] warning: unused variable: `agent_thread` [INFO] [stderr] --> src/bin/server.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | let agent_thread = agent.run_in_thread(); [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_thread` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `snmp_t` (bin "server" test) generated 1 warning [INFO] [stderr] warning: `snmp_t` (lib test) generated 16 warnings (16 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/snmp_t-d82b7c43c803023c) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/client.rs (/opt/rustwide/target/debug/deps/client-273986e669d2b8f5) [INFO] [stderr] Running unittests src/bin/server.rs (/opt/rustwide/target/debug/deps/server-178053193d0053c0) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/snmp_t-0d523cd4aab954b5) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests snmp_t [INFO] [stderr] warning: variant `GET_REQUEST` should have an upper camel case name [INFO] [stderr] --> src/snmp.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | GET_REQUEST, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetRequest` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant `GET_RESPONSE` should have an upper camel case name [INFO] [stderr] --> src/snmp.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | GET_RESPONSE, [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetResponse` [INFO] [stderr] [INFO] [stderr] warning: variant `GET_NEXT_REQUEST` should have an upper camel case name [INFO] [stderr] --> src/snmp.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | GET_NEXT_REQUEST, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetNextRequest` [INFO] [stderr] [INFO] [stderr] warning: variant `SET_REQUEST` should have an upper camel case name [INFO] [stderr] --> src/snmp.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | SET_REQUEST, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `SetRequest` [INFO] [stderr] [INFO] [stderr] warning: 4 warnings emitted [INFO] [stderr] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "c04a9aa9775903c54dd3f463de618999d910f0b38326521e4f084b5b1bdacf75", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c04a9aa9775903c54dd3f463de618999d910f0b38326521e4f084b5b1bdacf75", kill_on_drop: false }` [INFO] [stdout] c04a9aa9775903c54dd3f463de618999d910f0b38326521e4f084b5b1bdacf75