[INFO] cloning repository https://github.com/applied-cyber/wallball_proxy [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/applied-cyber/wallball_proxy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fapplied-cyber%2Fwallball_proxy", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fapplied-cyber%2Fwallball_proxy'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7979278f86686fb36f733a4f82587813a0a905dc [INFO] testing applied-cyber/wallball_proxy against 1.75.0 for beta-1.76-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fapplied-cyber%2Fwallball_proxy" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/applied-cyber/wallball_proxy on toolchain 1.75.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/applied-cyber/wallball_proxy [INFO] finished tweaking git repo https://github.com/applied-cyber/wallball_proxy [INFO] tweaked toml for git repo https://github.com/applied-cyber/wallball_proxy written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/applied-cyber/wallball_proxy already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded cfg-if v0.1.4 [INFO] [stderr] Downloaded log v0.4.3 [INFO] [stderr] Downloaded aho-corasick v0.6.5 [INFO] [stderr] Downloaded libc v0.2.42 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b3c0b34656284ebc6ce4d6365084b64cf8acda3dee4e70d7ac293aa5958c6896 [INFO] running `Command { std: "docker" "start" "-a" "b3c0b34656284ebc6ce4d6365084b64cf8acda3dee4e70d7ac293aa5958c6896", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b3c0b34656284ebc6ce4d6365084b64cf8acda3dee4e70d7ac293aa5958c6896", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b3c0b34656284ebc6ce4d6365084b64cf8acda3dee4e70d7ac293aa5958c6896", kill_on_drop: false }` [INFO] [stdout] b3c0b34656284ebc6ce4d6365084b64cf8acda3dee4e70d7ac293aa5958c6896 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2d713e5a56c2fd6592aecc7e5c6104e085d7e1c1ca62ef03250d0e6b541f23a5 [INFO] running `Command { std: "docker" "start" "-a" "2d713e5a56c2fd6592aecc7e5c6104e085d7e1c1ca62ef03250d0e6b541f23a5", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.42 [INFO] [stderr] Compiling cfg-if v0.1.4 [INFO] [stderr] Compiling rustc-serialize v0.3.24 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Compiling unicode-xid v0.0.3 [INFO] [stderr] Compiling term v0.4.6 [INFO] [stderr] Compiling ucd-util v0.1.1 [INFO] [stderr] Compiling bitflags v0.5.0 [INFO] [stderr] Compiling log v0.4.3 [INFO] [stderr] Compiling unreachable v1.0.0 [INFO] [stderr] Compiling regex v0.2.11 [INFO] [stderr] Compiling lazy_static v1.0.1 [INFO] [stderr] Compiling utf8-ranges v1.0.0 [INFO] [stderr] Compiling thread_local v0.3.5 [INFO] [stderr] Compiling log v0.3.9 [INFO] [stderr] Compiling regex-syntax v0.5.6 [INFO] [stderr] Compiling glob v0.2.11 [INFO] [stderr] Compiling pnet_base v0.21.0 [INFO] [stderr] Compiling pnet v0.21.0 [INFO] [stderr] Compiling memchr v2.0.1 [INFO] [stderr] Compiling pnet_macros_support v0.21.0 [INFO] [stderr] Compiling pnet_sys v0.21.0 [INFO] [stderr] Compiling aho-corasick v0.6.5 [INFO] [stderr] Compiling ipnetwork v0.12.8 [INFO] [stderr] Compiling pnet_datalink v0.21.0 [INFO] [stderr] Compiling syntex_pos v0.42.0 [INFO] [stderr] Compiling syntex_errors v0.42.0 [INFO] [stderr] Compiling syntex_syntax v0.42.0 [INFO] [stderr] Compiling syntex v0.42.2 [INFO] [stderr] Compiling pnet_macros v0.21.0 [INFO] [stderr] Compiling pnet_packet v0.21.0 [INFO] [stderr] Compiling pnet_transport v0.21.0 [INFO] [stderr] Compiling wallball_proxy v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `MutablePacket` [INFO] [stdout] --> src/frag.rs:5:28 [INFO] [stdout] | [INFO] [stdout] 5 | use pnet::packet::{Packet, MutablePacket}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `frag::ProxyFragmenter` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use frag::ProxyFragmenter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PacketSize` [INFO] [stdout] --> src/proxy_tx.rs:9:43 [INFO] [stdout] | [INFO] [stdout] 9 | use pnet::packet::{Packet, MutablePacket, PacketSize}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pnet::packet::ip::IpNextHeaderProtocols` [INFO] [stdout] --> src/proxy_tx.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use pnet::packet::ip::IpNextHeaderProtocols; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pnet::datalink` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use pnet::datalink; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DataLinkReceiver`, `DataLinkSender`, `NetworkInterface` [INFO] [stdout] --> src/main.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | use pnet::datalink::{NetworkInterface, EtherType, DataLinkSender, DataLinkReceiver, MacAddr}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pnet::datalink::Channel::Ethernet` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use pnet::datalink::Channel::Ethernet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MutablePacket`, `Packet` [INFO] [stdout] --> src/main.rs:12:20 [INFO] [stdout] | [INFO] [stdout] 12 | use pnet::packet::{Packet, MutablePacket}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EtherTypes`, `EthernetPacket`, `MutableEthernetPacket` [INFO] [stdout] --> src/main.rs:13:30 [INFO] [stdout] | [INFO] [stdout] 13 | use pnet::packet::ethernet::{EthernetPacket, MutableEthernetPacket, EtherTypes}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pnet::packet::ip::IpNextHeaderProtocols` [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use pnet::packet::ip::IpNextHeaderProtocols; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pnet::packet::ipv4::MutableIpv4Packet` [INFO] [stdout] --> src/main.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use pnet::packet::ipv4::MutableIpv4Packet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TransportReceiver`, `TransportSender`, `transport_channel` [INFO] [stdout] --> src/main.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | use pnet::transport::{transport_channel, TransportReceiver, TransportSender}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pnet::transport::TransportChannelType` [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use pnet::transport::TransportChannelType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Layer3`, `Layer4` [INFO] [stdout] --> src/main.rs:18:45 [INFO] [stdout] | [INFO] [stdout] 18 | use pnet::transport::TransportChannelType::{Layer3, Layer4}; [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pnet::transport::TransportProtocol::Ipv4` [INFO] [stdout] --> src/main.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use pnet::transport::TransportProtocol::Ipv4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `icmp_packet_iter`, `udp_packet_iter` [INFO] [stdout] --> src/main.rs:20:23 [INFO] [stdout] | [INFO] [stdout] 20 | use pnet::transport::{icmp_packet_iter, udp_packet_iter}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/main.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::env` [INFO] [stdout] --> src/main.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | use std::env; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/frag.rs:15:17 [INFO] [stdout] | [INFO] [stdout] 15 | packet: Box, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 15 | packet: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/proxy_tx.rs:26:27 [INFO] [stdout] | [INFO] [stdout] 26 | in_iface_channel: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 | in_iface_channel: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/proxy_tx.rs:28:28 [INFO] [stdout] | [INFO] [stdout] 28 | out_iface_channel: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 28 | out_iface_channel: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/frag.rs:8:36 [INFO] [stdout] | [INFO] [stdout] 8 | fn init(&mut self, packet: Box, size: usize) -> Result<(), &str>; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 8 | fn init(&mut self, packet: Box, size: usize) -> Result<(), &str>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/frag.rs:9:45 [INFO] [stdout] | [INFO] [stdout] 9 | fn next(&mut self) -> Result>, &str>; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 9 | fn next(&mut self) -> Result>, &str>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/frag.rs:23:36 [INFO] [stdout] | [INFO] [stdout] 23 | fn init(&mut self, packet: Box, size: usize) -> Result<(), &str> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 | fn init(&mut self, packet: Box, size: usize) -> Result<(), &str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/frag.rs:28:45 [INFO] [stdout] | [INFO] [stdout] 28 | fn next(&mut self) -> Result>, &str> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 28 | fn next(&mut self) -> Result>, &str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/proxy_tx.rs:150:17 [INFO] [stdout] | [INFO] [stdout] 150 | -> (Box, Box) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 150 | -> (Box, Box) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/proxy_tx.rs:150:38 [INFO] [stdout] | [INFO] [stdout] 150 | -> (Box, Box) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 150 | -> (Box, Box) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `packet` [INFO] [stdout] --> src/frag.rs:23:24 [INFO] [stdout] | [INFO] [stdout] 23 | fn init(&mut self, packet: Box, size: usize) -> Result<(), &str> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `size` [INFO] [stdout] --> src/frag.rs:23:45 [INFO] [stdout] | [INFO] [stdout] 23 | fn init(&mut self, packet: Box, size: usize) -> Result<(), &str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/proxy_tx.rs:44:17 [INFO] [stdout] | [INFO] [stdout] 44 | let (_, mut in_iface_channel) = establish_datalink_channel(&in_iface); [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/proxy_tx.rs:45:14 [INFO] [stdout] | [INFO] [stdout] 45 | let (mut out_iface_channel, _) = establish_datalink_channel(&out_iface); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/proxy_tx.rs:84:25 [INFO] [stdout] | [INFO] [stdout] 84 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/proxy_tx.rs:108:13 [INFO] [stdout] | [INFO] [stdout] 108 | let offset = EthernetPacket::minimum_packet_size(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/proxy_tx.rs:113:15 [INFO] [stdout] | [INFO] [stdout] 113 | &mut |mut new_packet| { [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/proxy_tx.rs:118:17 [INFO] [stdout] | [INFO] [stdout] 118 | let mut payload = new_ethernet_packet.payload_mut(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/proxy_tx.rs:145:13 [INFO] [stdout] | [INFO] [stdout] 145 | Err(e) => panic!("Error: Failed to establish transport channel."), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/proxy_tx.rs:144:17 [INFO] [stdout] | [INFO] [stdout] 144 | Ok((tx, mut rx)) => (tx, rx), [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IPv4_ETHERTYPE` is never used [INFO] [stdout] --> src/main.rs:27:7 [INFO] [stdout] | [INFO] [stdout] 27 | const IPv4_ETHERTYPE: EtherType = 0x0800; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GATEWAY_MAC_ADDR` is never used [INFO] [stdout] --> src/main.rs:29:7 [INFO] [stdout] | [INFO] [stdout] 29 | const GATEWAY_MAC_ADDR: MacAddr = MacAddr(0x0, 0x0, 0x0, 0x0, 0x0, 0x0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BUF_SIZE` is never used [INFO] [stdout] --> src/main.rs:32:7 [INFO] [stdout] | [INFO] [stdout] 32 | const BUF_SIZE: usize = 1500; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ICMP_TYPE` is never used [INFO] [stdout] --> src/main.rs:35:7 [INFO] [stdout] | [INFO] [stdout] 35 | const ICMP_TYPE: usize = 11; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `packet` and `offset` are never read [INFO] [stdout] --> src/frag.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct ProxyFragStruct { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 15 | packet: Box, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 16 | offset: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `in_iface` and `destination_ip` are never read [INFO] [stdout] --> src/proxy_tx.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct ProxyTxStruct { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 25 | in_iface: NetworkInterface, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | destination_ip: Ipv4Addr, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_middlebox_ip` and `set_destination_ip` are never used [INFO] [stdout] --> src/proxy_tx.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl ProxyTxStruct { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn set_middlebox_ip(&mut self, middlebox_ip: Ipv4Addr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn set_destination_ip(&mut self, destination_ip: Ipv4Addr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `establish_transport_channel` is never used [INFO] [stdout] --> src/proxy_tx.rs:140:4 [INFO] [stdout] | [INFO] [stdout] 140 | fn establish_transport_channel(protocol: TransportChannelType, buf_size: usize) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IPv4_ETHERTYPE` should have an upper case name [INFO] [stdout] --> src/main.rs:27:7 [INFO] [stdout] | [INFO] [stdout] 27 | const IPv4_ETHERTYPE: EtherType = 0x0800; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `IPV4_ETHERTYPE` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 46 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 30.29s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.24 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "2d713e5a56c2fd6592aecc7e5c6104e085d7e1c1ca62ef03250d0e6b541f23a5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2d713e5a56c2fd6592aecc7e5c6104e085d7e1c1ca62ef03250d0e6b541f23a5", kill_on_drop: false }` [INFO] [stdout] 2d713e5a56c2fd6592aecc7e5c6104e085d7e1c1ca62ef03250d0e6b541f23a5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a1ebe1c2b696133f9ded593bd5275e40ff7f3c94b41303fe1e3491a678331c3d [INFO] running `Command { std: "docker" "start" "-a" "a1ebe1c2b696133f9ded593bd5275e40ff7f3c94b41303fe1e3491a678331c3d", kill_on_drop: false }` [INFO] [stderr] Compiling wallball_proxy v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `MutablePacket` [INFO] [stdout] --> src/frag.rs:5:28 [INFO] [stdout] | [INFO] [stdout] 5 | use pnet::packet::{Packet, MutablePacket}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `frag::ProxyFragmenter` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use frag::ProxyFragmenter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PacketSize` [INFO] [stdout] --> src/proxy_tx.rs:9:43 [INFO] [stdout] | [INFO] [stdout] 9 | use pnet::packet::{Packet, MutablePacket, PacketSize}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pnet::packet::ip::IpNextHeaderProtocols` [INFO] [stdout] --> src/proxy_tx.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use pnet::packet::ip::IpNextHeaderProtocols; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pnet::datalink` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use pnet::datalink; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DataLinkReceiver`, `DataLinkSender`, `NetworkInterface` [INFO] [stdout] --> src/main.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | use pnet::datalink::{NetworkInterface, EtherType, DataLinkSender, DataLinkReceiver, MacAddr}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pnet::datalink::Channel::Ethernet` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use pnet::datalink::Channel::Ethernet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MutablePacket`, `Packet` [INFO] [stdout] --> src/main.rs:12:20 [INFO] [stdout] | [INFO] [stdout] 12 | use pnet::packet::{Packet, MutablePacket}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EtherTypes`, `EthernetPacket`, `MutableEthernetPacket` [INFO] [stdout] --> src/main.rs:13:30 [INFO] [stdout] | [INFO] [stdout] 13 | use pnet::packet::ethernet::{EthernetPacket, MutableEthernetPacket, EtherTypes}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pnet::packet::ip::IpNextHeaderProtocols` [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use pnet::packet::ip::IpNextHeaderProtocols; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pnet::packet::ipv4::MutableIpv4Packet` [INFO] [stdout] --> src/main.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use pnet::packet::ipv4::MutableIpv4Packet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TransportReceiver`, `TransportSender`, `transport_channel` [INFO] [stdout] --> src/main.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | use pnet::transport::{transport_channel, TransportReceiver, TransportSender}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pnet::transport::TransportChannelType` [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use pnet::transport::TransportChannelType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Layer3`, `Layer4` [INFO] [stdout] --> src/main.rs:18:45 [INFO] [stdout] | [INFO] [stdout] 18 | use pnet::transport::TransportChannelType::{Layer3, Layer4}; [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pnet::transport::TransportProtocol::Ipv4` [INFO] [stdout] --> src/main.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use pnet::transport::TransportProtocol::Ipv4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `icmp_packet_iter`, `udp_packet_iter` [INFO] [stdout] --> src/main.rs:20:23 [INFO] [stdout] | [INFO] [stdout] 20 | use pnet::transport::{icmp_packet_iter, udp_packet_iter}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/main.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::env` [INFO] [stdout] --> src/main.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | use std::env; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/frag.rs:15:17 [INFO] [stdout] | [INFO] [stdout] 15 | packet: Box, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 15 | packet: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/proxy_tx.rs:26:27 [INFO] [stdout] | [INFO] [stdout] 26 | in_iface_channel: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 | in_iface_channel: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/proxy_tx.rs:28:28 [INFO] [stdout] | [INFO] [stdout] 28 | out_iface_channel: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 28 | out_iface_channel: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/frag.rs:8:36 [INFO] [stdout] | [INFO] [stdout] 8 | fn init(&mut self, packet: Box, size: usize) -> Result<(), &str>; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 8 | fn init(&mut self, packet: Box, size: usize) -> Result<(), &str>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/frag.rs:9:45 [INFO] [stdout] | [INFO] [stdout] 9 | fn next(&mut self) -> Result>, &str>; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 9 | fn next(&mut self) -> Result>, &str>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/frag.rs:23:36 [INFO] [stdout] | [INFO] [stdout] 23 | fn init(&mut self, packet: Box, size: usize) -> Result<(), &str> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 | fn init(&mut self, packet: Box, size: usize) -> Result<(), &str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/frag.rs:28:45 [INFO] [stdout] | [INFO] [stdout] 28 | fn next(&mut self) -> Result>, &str> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 28 | fn next(&mut self) -> Result>, &str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/proxy_tx.rs:150:17 [INFO] [stdout] | [INFO] [stdout] 150 | -> (Box, Box) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 150 | -> (Box, Box) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/proxy_tx.rs:150:38 [INFO] [stdout] | [INFO] [stdout] 150 | -> (Box, Box) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 150 | -> (Box, Box) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `packet` [INFO] [stdout] --> src/frag.rs:23:24 [INFO] [stdout] | [INFO] [stdout] 23 | fn init(&mut self, packet: Box, size: usize) -> Result<(), &str> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `size` [INFO] [stdout] --> src/frag.rs:23:45 [INFO] [stdout] | [INFO] [stdout] 23 | fn init(&mut self, packet: Box, size: usize) -> Result<(), &str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/proxy_tx.rs:44:17 [INFO] [stdout] | [INFO] [stdout] 44 | let (_, mut in_iface_channel) = establish_datalink_channel(&in_iface); [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/proxy_tx.rs:45:14 [INFO] [stdout] | [INFO] [stdout] 45 | let (mut out_iface_channel, _) = establish_datalink_channel(&out_iface); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/proxy_tx.rs:84:25 [INFO] [stdout] | [INFO] [stdout] 84 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/proxy_tx.rs:108:13 [INFO] [stdout] | [INFO] [stdout] 108 | let offset = EthernetPacket::minimum_packet_size(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/proxy_tx.rs:113:15 [INFO] [stdout] | [INFO] [stdout] 113 | &mut |mut new_packet| { [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/proxy_tx.rs:118:17 [INFO] [stdout] | [INFO] [stdout] 118 | let mut payload = new_ethernet_packet.payload_mut(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/proxy_tx.rs:145:13 [INFO] [stdout] | [INFO] [stdout] 145 | Err(e) => panic!("Error: Failed to establish transport channel."), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/proxy_tx.rs:144:17 [INFO] [stdout] | [INFO] [stdout] 144 | Ok((tx, mut rx)) => (tx, rx), [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IPv4_ETHERTYPE` is never used [INFO] [stdout] --> src/main.rs:27:7 [INFO] [stdout] | [INFO] [stdout] 27 | const IPv4_ETHERTYPE: EtherType = 0x0800; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GATEWAY_MAC_ADDR` is never used [INFO] [stdout] --> src/main.rs:29:7 [INFO] [stdout] | [INFO] [stdout] 29 | const GATEWAY_MAC_ADDR: MacAddr = MacAddr(0x0, 0x0, 0x0, 0x0, 0x0, 0x0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BUF_SIZE` is never used [INFO] [stdout] --> src/main.rs:32:7 [INFO] [stdout] | [INFO] [stdout] 32 | const BUF_SIZE: usize = 1500; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ICMP_TYPE` is never used [INFO] [stdout] --> src/main.rs:35:7 [INFO] [stdout] | [INFO] [stdout] 35 | const ICMP_TYPE: usize = 11; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `packet` and `offset` are never read [INFO] [stdout] --> src/frag.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct ProxyFragStruct { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 15 | packet: Box, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 16 | offset: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `in_iface` and `destination_ip` are never read [INFO] [stdout] --> src/proxy_tx.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct ProxyTxStruct { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 25 | in_iface: NetworkInterface, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | destination_ip: Ipv4Addr, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_middlebox_ip` and `set_destination_ip` are never used [INFO] [stdout] --> src/proxy_tx.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl ProxyTxStruct { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn set_middlebox_ip(&mut self, middlebox_ip: Ipv4Addr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn set_destination_ip(&mut self, destination_ip: Ipv4Addr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `establish_transport_channel` is never used [INFO] [stdout] --> src/proxy_tx.rs:140:4 [INFO] [stdout] | [INFO] [stdout] 140 | fn establish_transport_channel(protocol: TransportChannelType, buf_size: usize) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IPv4_ETHERTYPE` should have an upper case name [INFO] [stdout] --> src/main.rs:27:7 [INFO] [stdout] | [INFO] [stdout] 27 | const IPv4_ETHERTYPE: EtherType = 0x0800; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `IPV4_ETHERTYPE` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 46 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.50s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.24 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "a1ebe1c2b696133f9ded593bd5275e40ff7f3c94b41303fe1e3491a678331c3d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a1ebe1c2b696133f9ded593bd5275e40ff7f3c94b41303fe1e3491a678331c3d", kill_on_drop: false }` [INFO] [stdout] a1ebe1c2b696133f9ded593bd5275e40ff7f3c94b41303fe1e3491a678331c3d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 318657e8790f5f6c38fc0be5cb58106b826427bd163cb00607ecff502b9b06ac [INFO] running `Command { std: "docker" "start" "-a" "318657e8790f5f6c38fc0be5cb58106b826427bd163cb00607ecff502b9b06ac", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `MutablePacket` [INFO] [stderr] --> src/frag.rs:5:28 [INFO] [stderr] | [INFO] [stderr] 5 | use pnet::packet::{Packet, MutablePacket}; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `frag::ProxyFragmenter` [INFO] [stderr] --> src/main.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use frag::ProxyFragmenter; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `PacketSize` [INFO] [stderr] --> src/proxy_tx.rs:9:43 [INFO] [stderr] | [INFO] [stderr] 9 | use pnet::packet::{Packet, MutablePacket, PacketSize}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `pnet::packet::ip::IpNextHeaderProtocols` [INFO] [stderr] --> src/proxy_tx.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use pnet::packet::ip::IpNextHeaderProtocols; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `pnet::datalink` [INFO] [stderr] --> src/main.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use pnet::datalink; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `DataLinkReceiver`, `DataLinkSender`, `NetworkInterface` [INFO] [stderr] --> src/main.rs:10:22 [INFO] [stderr] | [INFO] [stderr] 10 | use pnet::datalink::{NetworkInterface, EtherType, DataLinkSender, DataLinkReceiver, MacAddr}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `pnet::datalink::Channel::Ethernet` [INFO] [stderr] --> src/main.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use pnet::datalink::Channel::Ethernet; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `MutablePacket`, `Packet` [INFO] [stderr] --> src/main.rs:12:20 [INFO] [stderr] | [INFO] [stderr] 12 | use pnet::packet::{Packet, MutablePacket}; [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `EtherTypes`, `EthernetPacket`, `MutableEthernetPacket` [INFO] [stderr] --> src/main.rs:13:30 [INFO] [stderr] | [INFO] [stderr] 13 | use pnet::packet::ethernet::{EthernetPacket, MutableEthernetPacket, EtherTypes}; [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `pnet::packet::ip::IpNextHeaderProtocols` [INFO] [stderr] --> src/main.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use pnet::packet::ip::IpNextHeaderProtocols; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `pnet::packet::ipv4::MutableIpv4Packet` [INFO] [stderr] --> src/main.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use pnet::packet::ipv4::MutableIpv4Packet; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TransportReceiver`, `TransportSender`, `transport_channel` [INFO] [stderr] --> src/main.rs:16:23 [INFO] [stderr] | [INFO] [stderr] 16 | use pnet::transport::{transport_channel, TransportReceiver, TransportSender}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `pnet::transport::TransportChannelType` [INFO] [stderr] --> src/main.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use pnet::transport::TransportChannelType; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Layer3`, `Layer4` [INFO] [stderr] --> src/main.rs:18:45 [INFO] [stderr] | [INFO] [stderr] 18 | use pnet::transport::TransportChannelType::{Layer3, Layer4}; [INFO] [stderr] | ^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `pnet::transport::TransportProtocol::Ipv4` [INFO] [stderr] --> src/main.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | use pnet::transport::TransportProtocol::Ipv4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `icmp_packet_iter`, `udp_packet_iter` [INFO] [stderr] --> src/main.rs:20:23 [INFO] [stderr] | [INFO] [stderr] 20 | use pnet::transport::{icmp_packet_iter, udp_packet_iter}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/main.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::env` [INFO] [stderr] --> src/main.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | use std::env; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/frag.rs:15:17 [INFO] [stderr] | [INFO] [stderr] 15 | packet: Box, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 15 | packet: Box, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/proxy_tx.rs:26:27 [INFO] [stderr] | [INFO] [stderr] 26 | in_iface_channel: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 26 | in_iface_channel: Box, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/proxy_tx.rs:28:28 [INFO] [stderr] | [INFO] [stderr] 28 | out_iface_channel: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 28 | out_iface_channel: Box, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/frag.rs:8:36 [INFO] [stderr] | [INFO] [stderr] 8 | fn init(&mut self, packet: Box, size: usize) -> Result<(), &str>; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 8 | fn init(&mut self, packet: Box, size: usize) -> Result<(), &str>; [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/frag.rs:9:45 [INFO] [stderr] | [INFO] [stderr] 9 | fn next(&mut self) -> Result>, &str>; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 9 | fn next(&mut self) -> Result>, &str>; [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/frag.rs:23:36 [INFO] [stderr] | [INFO] [stderr] 23 | fn init(&mut self, packet: Box, size: usize) -> Result<(), &str> { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 23 | fn init(&mut self, packet: Box, size: usize) -> Result<(), &str> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/frag.rs:28:45 [INFO] [stderr] | [INFO] [stderr] 28 | fn next(&mut self) -> Result>, &str> { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 28 | fn next(&mut self) -> Result>, &str> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/proxy_tx.rs:150:17 [INFO] [stderr] | [INFO] [stderr] 150 | -> (Box, Box) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 150 | -> (Box, Box) { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/proxy_tx.rs:150:38 [INFO] [stderr] | [INFO] [stderr] 150 | -> (Box, Box) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 150 | -> (Box, Box) { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `packet` [INFO] [stderr] --> src/frag.rs:23:24 [INFO] [stderr] | [INFO] [stderr] 23 | fn init(&mut self, packet: Box, size: usize) -> Result<(), &str> { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `size` [INFO] [stderr] --> src/frag.rs:23:45 [INFO] [stderr] | [INFO] [stderr] 23 | fn init(&mut self, packet: Box, size: usize) -> Result<(), &str> { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/proxy_tx.rs:44:17 [INFO] [stderr] | [INFO] [stderr] 44 | let (_, mut in_iface_channel) = establish_datalink_channel(&in_iface); [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/proxy_tx.rs:45:14 [INFO] [stderr] | [INFO] [stderr] 45 | let (mut out_iface_channel, _) = establish_datalink_channel(&out_iface); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/proxy_tx.rs:84:25 [INFO] [stderr] | [INFO] [stderr] 84 | Err(e) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `offset` [INFO] [stderr] --> src/proxy_tx.rs:108:13 [INFO] [stderr] | [INFO] [stderr] 108 | let offset = EthernetPacket::minimum_packet_size(); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/proxy_tx.rs:113:15 [INFO] [stderr] | [INFO] [stderr] 113 | &mut |mut new_packet| { [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/proxy_tx.rs:118:17 [INFO] [stderr] | [INFO] [stderr] 118 | let mut payload = new_ethernet_packet.payload_mut(); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/proxy_tx.rs:145:13 [INFO] [stderr] | [INFO] [stderr] 145 | Err(e) => panic!("Error: Failed to establish transport channel."), [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/proxy_tx.rs:144:17 [INFO] [stderr] | [INFO] [stderr] 144 | Ok((tx, mut rx)) => (tx, rx), [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: constant `IPv4_ETHERTYPE` is never used [INFO] [stderr] --> src/main.rs:27:7 [INFO] [stderr] | [INFO] [stderr] 27 | const IPv4_ETHERTYPE: EtherType = 0x0800; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: constant `GATEWAY_MAC_ADDR` is never used [INFO] [stderr] --> src/main.rs:29:7 [INFO] [stderr] | [INFO] [stderr] 29 | const GATEWAY_MAC_ADDR: MacAddr = MacAddr(0x0, 0x0, 0x0, 0x0, 0x0, 0x0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `BUF_SIZE` is never used [INFO] [stderr] --> src/main.rs:32:7 [INFO] [stderr] | [INFO] [stderr] 32 | const BUF_SIZE: usize = 1500; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `ICMP_TYPE` is never used [INFO] [stderr] --> src/main.rs:35:7 [INFO] [stderr] | [INFO] [stderr] 35 | const ICMP_TYPE: usize = 11; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `packet` and `offset` are never read [INFO] [stderr] --> src/frag.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 14 | pub struct ProxyFragStruct { [INFO] [stderr] | --------------- fields in this struct [INFO] [stderr] 15 | packet: Box, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 16 | offset: usize, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `in_iface` and `destination_ip` are never read [INFO] [stdout] [INFO] [stderr] --> src/proxy_tx.rs:25:5 [INFO] [stdout] running 0 tests [INFO] [stderr] | [INFO] [stdout] [INFO] [stderr] 24 | pub struct ProxyTxStruct { [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stderr] | ------------- fields in this struct [INFO] [stdout] [INFO] [stderr] 25 | in_iface: NetworkInterface, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 31 | destination_ip: Ipv4Addr, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `set_middlebox_ip` and `set_destination_ip` are never used [INFO] [stderr] --> src/proxy_tx.rs:60:12 [INFO] [stderr] | [INFO] [stderr] 34 | impl ProxyTxStruct { [INFO] [stderr] | ------------------ methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 60 | pub fn set_middlebox_ip(&mut self, middlebox_ip: Ipv4Addr) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 64 | pub fn set_destination_ip(&mut self, destination_ip: Ipv4Addr) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `establish_transport_channel` is never used [INFO] [stderr] --> src/proxy_tx.rs:140:4 [INFO] [stderr] | [INFO] [stderr] 140 | fn establish_transport_channel(protocol: TransportChannelType, buf_size: usize) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `IPv4_ETHERTYPE` should have an upper case name [INFO] [stderr] --> src/main.rs:27:7 [INFO] [stderr] | [INFO] [stderr] 27 | const IPv4_ETHERTYPE: EtherType = 0x0800; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `IPV4_ETHERTYPE` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `wallball_proxy` (bin "wallball_proxy" test) generated 46 warnings (run `cargo fix --bin "wallball_proxy" --tests` to apply 37 suggestions) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.07s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.24 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/wallball_proxy-8de9af98e3ab2aca) [INFO] running `Command { std: "docker" "inspect" "318657e8790f5f6c38fc0be5cb58106b826427bd163cb00607ecff502b9b06ac", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "318657e8790f5f6c38fc0be5cb58106b826427bd163cb00607ecff502b9b06ac", kill_on_drop: false }` [INFO] [stdout] 318657e8790f5f6c38fc0be5cb58106b826427bd163cb00607ecff502b9b06ac [INFO] testing applied-cyber/wallball_proxy against beta-2024-01-09 for beta-1.76-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fapplied-cyber%2Fwallball_proxy" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/applied-cyber/wallball_proxy on toolchain beta-2024-01-09 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-01-09" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/applied-cyber/wallball_proxy [INFO] finished tweaking git repo https://github.com/applied-cyber/wallball_proxy [INFO] tweaked toml for git repo https://github.com/applied-cyber/wallball_proxy written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/applied-cyber/wallball_proxy 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" "+beta-2024-01-09" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-01-09" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c0b1175b09e9106e632d479550cdec9123f90aad2fdbbcf0b66a1c63ca11a055 [INFO] running `Command { std: "docker" "start" "-a" "c0b1175b09e9106e632d479550cdec9123f90aad2fdbbcf0b66a1c63ca11a055", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c0b1175b09e9106e632d479550cdec9123f90aad2fdbbcf0b66a1c63ca11a055", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c0b1175b09e9106e632d479550cdec9123f90aad2fdbbcf0b66a1c63ca11a055", kill_on_drop: false }` [INFO] [stdout] c0b1175b09e9106e632d479550cdec9123f90aad2fdbbcf0b66a1c63ca11a055 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-01-09" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f820a0714a7c7a29bd9a4b7e8d96fe55038bdc8a83bae11a3665bc3c2f965463 [INFO] running `Command { std: "docker" "start" "-a" "f820a0714a7c7a29bd9a4b7e8d96fe55038bdc8a83bae11a3665bc3c2f965463", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.42 [INFO] [stderr] Compiling cfg-if v0.1.4 [INFO] [stderr] Compiling rustc-serialize v0.3.24 [INFO] [stderr] Compiling term v0.4.6 [INFO] [stderr] Compiling unicode-xid v0.0.3 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Compiling bitflags v0.5.0 [INFO] [stderr] Compiling regex v0.2.11 [INFO] [stderr] Compiling log v0.4.3 [INFO] [stderr] Compiling unreachable v1.0.0 [INFO] [stderr] Compiling lazy_static v1.0.1 [INFO] [stderr] Compiling ucd-util v0.1.1 [INFO] [stderr] Compiling thread_local v0.3.5 [INFO] [stderr] Compiling utf8-ranges v1.0.0 [INFO] [stderr] Compiling log v0.3.9 [INFO] [stderr] Compiling regex-syntax v0.5.6 [INFO] [stderr] Compiling glob v0.2.11 [INFO] [stderr] Compiling pnet_base v0.21.0 [INFO] [stderr] Compiling pnet v0.21.0 [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rustc-serialize-0.3.24/src/serialize.rs:1155:5 [INFO] [stdout] | [INFO] [stdout] 1155 | fn decode(d: &mut D) -> Result, D::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds... [INFO] [stdout] | [INFO] [stdout] note: ...that is required by this bound [INFO] [stdout] --> /rustc/650745ceb2ae60e04f8cd7bfb671fc37239533e4/library/alloc/src/borrow.rs:180:30 [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 1151 | impl<'a, T: ?Sized + 'static> Decodable for Cow<'a, T> [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling pnet_macros_support v0.21.0 [INFO] [stderr] Compiling ipnetwork v0.12.8 [INFO] [stderr] Compiling memchr v2.0.1 [INFO] [stderr] Compiling pnet_sys v0.21.0 [INFO] [stderr] Compiling aho-corasick v0.6.5 [INFO] [stderr] Compiling pnet_datalink v0.21.0 [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0310`. [INFO] [stdout] [INFO] [stderr] error: could not compile `rustc-serialize` (lib) due to 2 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] running `Command { std: "docker" "inspect" "f820a0714a7c7a29bd9a4b7e8d96fe55038bdc8a83bae11a3665bc3c2f965463", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f820a0714a7c7a29bd9a4b7e8d96fe55038bdc8a83bae11a3665bc3c2f965463", kill_on_drop: false }` [INFO] [stdout] f820a0714a7c7a29bd9a4b7e8d96fe55038bdc8a83bae11a3665bc3c2f965463