[INFO] fetching crate pcap-async 0.2.1... [INFO] checking pcap-async-0.2.1 against master#8c32e313cccf7df531e2d49ffb8227bb92304aee for pr-145608-1 [INFO] extracting crate pcap-async 0.2.1 into /workspace/builds/worker-3-tc1/source [INFO] started tweaking crates.io crate pcap-async 0.2.1 [INFO] finished tweaking crates.io crate pcap-async 0.2.1 [INFO] tweaked toml for crates.io crate pcap-async 0.2.1 written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate pcap-async 0.2.1 on toolchain 8c32e313cccf7df531e2d49ffb8227bb92304aee [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8c32e313cccf7df531e2d49ffb8227bb92304aee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8c32e313cccf7df531e2d49ffb8227bb92304aee" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 126 packages to latest compatible versions [INFO] [stderr] Adding criterion v0.2.11 (available: v0.7.0) [INFO] [stderr] Adding env_logger v0.6.2 (available: v0.11.8) [INFO] [stderr] Adding mio v0.6.23 (available: v1.0.4) [INFO] [stderr] Adding pin-project v0.4.30 (available: v1.1.10) [INFO] [stderr] Adding rand v0.3.23 (available: v0.9.2) [INFO] [stderr] Adding tokio v0.2.25 (available: v1.47.1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8c32e313cccf7df531e2d49ffb8227bb92304aee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded pcap-sys v0.1.3 [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+8c32e313cccf7df531e2d49ffb8227bb92304aee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] eafbaa08046e576beb8fe8acda3a7ee70f3ab94631c01aa2093a7180c86c8ff5 [INFO] running `Command { std: "docker" "start" "-a" "eafbaa08046e576beb8fe8acda3a7ee70f3ab94631c01aa2093a7180c86c8ff5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "eafbaa08046e576beb8fe8acda3a7ee70f3ab94631c01aa2093a7180c86c8ff5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "eafbaa08046e576beb8fe8acda3a7ee70f3ab94631c01aa2093a7180c86c8ff5", kill_on_drop: false }` [INFO] [stdout] eafbaa08046e576beb8fe8acda3a7ee70f3ab94631c01aa2093a7180c86c8ff5 [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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+8c32e313cccf7df531e2d49ffb8227bb92304aee" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f92cbf92076fe2044b4172f8262ddc5dd7eb86e9421fa9791422a1471782e076 [INFO] running `Command { std: "docker" "start" "-a" "f92cbf92076fe2044b4172f8262ddc5dd7eb86e9421fa9791422a1471782e076", kill_on_drop: false }` [INFO] [stderr] Compiling pcap-sys v0.1.3 [INFO] [stderr] Compiling cast v0.2.7 [INFO] [stderr] Checking serde_json v1.0.143 [INFO] [stderr] Compiling tokio-macros v0.2.6 [INFO] [stderr] Checking itertools v0.8.2 [INFO] [stderr] Checking csv-core v0.1.12 [INFO] [stderr] Checking rand_xoshiro v0.1.0 [INFO] [stderr] Checking failure v0.1.8 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Checking env_logger v0.6.2 [INFO] [stderr] Checking csv v1.3.1 [INFO] [stderr] Checking criterion-plot v0.3.1 [INFO] [stderr] Checking tokio v0.2.25 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking pcap-async v0.2.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/errors.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Error` [INFO] [stdout] 4 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/errors.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_Error` [INFO] [stdout] 4 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/handle.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | drop(errbuf); [INFO] [stdout] | ^^^^^------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `*mut i8` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_copy_types)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 48 - drop(errbuf); [INFO] [stdout] 48 + let _ = errbuf; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/handle.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | drop(errbuf); [INFO] [stdout] | ^^^^^------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `*mut i8` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 82 - drop(errbuf); [INFO] [stdout] 82 + let _ = errbuf; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/handle.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | drop(errbuf); [INFO] [stdout] | ^^^^^------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `*mut i8` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 117 - drop(errbuf); [INFO] [stdout] 117 + let _ = errbuf; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/handle.rs:171:49 [INFO] [stdout] | [INFO] [stdout] 171 | let bpf_str = std::ffi::CString::new(bpf.clone()).map_err(Error::Ffi)?; [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/info.rs:48:48 [INFO] [stdout] | [INFO] [stdout] 48 | ... let sockaddr = mem::transmute::(sockaddr); [INFO] [stdout] | ------------------------------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u32::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking criterion v0.2.11 [INFO] [stdout] error[E0599]: no method named `retry_after` found for struct `Config` in the current scope [INFO] [stdout] --> benches/bench_capture.rs:84:67 [INFO] [stdout] | [INFO] [stdout] 84 | let packet_provider = BridgeStream::new(Config::default().retry_after().clone(), streams) [INFO] [stdout] | ^^^^^^^^^^^ method not found in `Config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: a value of type `Duration` cannot be built from an iterator over elements of type `PacketStream` [INFO] [stdout] --> benches/bench_capture.rs:82:14 [INFO] [stdout] | [INFO] [stdout] 82 | .collect(); [INFO] [stdout] | ^^^^^^^ value of type `Duration` cannot be built from `std::iter::Iterator` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromIterator` is not implemented for `Duration` [INFO] [stdout] note: the method call chain might not have had the expected associated types [INFO] [stdout] --> benches/bench_capture.rs:81:14 [INFO] [stdout] | [INFO] [stdout] 79 | let streams = vec![handle1.clone(), handle2.clone()] [INFO] [stdout] | -------------------------------------- this expression has type `Vec>` [INFO] [stdout] 80 | .into_iter() [INFO] [stdout] | ----------- `Iterator::Item` is `Arc` here [INFO] [stdout] 81 | .map(|h| PacketStream::new(Config::default(), h).unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Iterator::Item` changed to `PacketStream` here [INFO] [stdout] note: required by a bound in `std::iter::Iterator::collect` [INFO] [stdout] --> /rustc/8c32e313cccf7df531e2d49ffb8227bb92304aee/library/core/src/iter/traits/iterator.rs:2014:5 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> benches/bench_capture.rs:84:31 [INFO] [stdout] | [INFO] [stdout] 84 | let packet_provider = BridgeStream::new(Config::default().retry_after().clone(), streams) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------------------------------------------------- argument #3 of type `usize` is missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/bridge_stream.rs:118:12 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 84 | let packet_provider = BridgeStream::new(Config::default().retry_after().clone(), streams, /* usize */) [INFO] [stdout] | +++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stderr] error: could not compile `pcap-async` (bench "bench_capture") due to 3 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bridge_stream.rs:468:13 [INFO] [stdout] | [INFO] [stdout] 468 | let mut result = bridge [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: panic message is not a string literal [INFO] [stdout] --> src/bridge_stream.rs:417:13 [INFO] [stdout] | [INFO] [stdout] 417 | format!("Could not build stream {}", stream.err().unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 417 - format!("Could not build stream {}", stream.err().unwrap()) [INFO] [stdout] 417 + "Could not build stream {}", stream.err().unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/bridge_stream.rs:438:13 [INFO] [stdout] | [INFO] [stdout] 438 | format!("Could not build stream {}", stream.err().unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 438 - format!("Could not build stream {}", stream.err().unwrap()) [INFO] [stdout] 438 + "Could not build stream {}", stream.err().unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/errors.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Error` [INFO] [stdout] 4 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/errors.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_Error` [INFO] [stdout] 4 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/handle.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | drop(errbuf); [INFO] [stdout] | ^^^^^------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `*mut i8` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_copy_types)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 48 - drop(errbuf); [INFO] [stdout] 48 + let _ = errbuf; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/handle.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | drop(errbuf); [INFO] [stdout] | ^^^^^------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `*mut i8` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 82 - drop(errbuf); [INFO] [stdout] 82 + let _ = errbuf; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/handle.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | drop(errbuf); [INFO] [stdout] | ^^^^^------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `*mut i8` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 117 - drop(errbuf); [INFO] [stdout] 117 + let _ = errbuf; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/handle.rs:171:49 [INFO] [stdout] | [INFO] [stdout] 171 | let bpf_str = std::ffi::CString::new(bpf.clone()).map_err(Error::Ffi)?; [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/info.rs:48:48 [INFO] [stdout] | [INFO] [stdout] 48 | ... let sockaddr = mem::transmute::(sockaddr); [INFO] [stdout] | ------------------------------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u32::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/stream.rs:201:13 [INFO] [stdout] | [INFO] [stdout] 201 | format!("Could not build stream {}", stream.err().unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 201 - format!("Could not build stream {}", stream.err().unwrap()) [INFO] [stdout] 201 + "Could not build stream {}", stream.err().unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/stream.rs:229:13 [INFO] [stdout] | [INFO] [stdout] 229 | format!("Could not build stream {}", stream.err().unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 229 - format!("Could not build stream {}", stream.err().unwrap()) [INFO] [stdout] 229 + "Could not build stream {}", stream.err().unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "f92cbf92076fe2044b4172f8262ddc5dd7eb86e9421fa9791422a1471782e076", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f92cbf92076fe2044b4172f8262ddc5dd7eb86e9421fa9791422a1471782e076", kill_on_drop: false }` [INFO] [stdout] f92cbf92076fe2044b4172f8262ddc5dd7eb86e9421fa9791422a1471782e076