[INFO] fetching crate libaster 1.2.1... [INFO] checking libaster-1.2.1 against master#8c32e313cccf7df531e2d49ffb8227bb92304aee for pr-145608-1 [INFO] extracting crate libaster 1.2.1 into /workspace/builds/worker-1-tc1/source [INFO] started tweaking crates.io crate libaster 1.2.1 [INFO] finished tweaking crates.io crate libaster 1.2.1 [INFO] tweaked toml for crates.io crate libaster 1.2.1 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate libaster 1.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] Updating crates.io index [INFO] [stderr] Locking 305 packages to latest compatible versions [INFO] [stderr] Adding actix-rt v0.2.6 (available: v2.11.0) [INFO] [stderr] Adding actix-web v1.0.9 (available: v4.11.0) [INFO] [stderr] Adding aho-corasick v0.7.20 (available: v1.1.3) [INFO] [stderr] Adding assert2 v0.1.2 (available: v0.3.16) [INFO] [stderr] Adding bitflags v1.3.2 (available: v2.9.4) [INFO] [stderr] Adding btoi v0.4.3 (available: v0.5.0) [INFO] [stderr] Adding bytes v0.4.12 (available: v1.10.1) [INFO] [stderr] Adding clap v2.34.0 (available: v4.5.47) [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 futures v0.1.31 (available: v0.3.31) [INFO] [stderr] Adding hashbrown v0.3.1 (available: v0.16.0) [INFO] [stderr] Adding inotify v0.8.3 (available: v0.11.0) [INFO] [stderr] Adding itoa v0.4.8 (available: v1.0.15) [INFO] [stderr] Adding md5 v0.6.1 (available: v0.8.0) [INFO] [stderr] Adding prometheus v0.7.0 (available: v0.14.0) [INFO] [stderr] Adding rand v0.7.3 (available: v0.9.2) [INFO] [stderr] Adding sysinfo v0.9.6 (available: v0.37.0) [INFO] [stderr] Adding tokio v0.1.22 (available: v1.47.1) [INFO] [stderr] Adding toml v0.4.10 (available: v0.9.5) [INFO] [stderr] Adding wasi v0.10.0+wasi-snapshot-preview1 (available: v0.10.2+wasi-snapshot-preview1) [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 assert2-macros v0.1.0 [INFO] [stderr] Downloaded sysinfo v0.9.6 [INFO] [stderr] Downloaded ahash v0.2.19 [INFO] [stderr] Downloaded hashbrown v0.6.3 [INFO] [stderr] Downloaded tokio-signal v0.2.9 [INFO] [stderr] Downloaded awc v0.2.8 [INFO] [stderr] Downloaded hashbrown v0.3.1 [INFO] [stderr] Downloaded actix-web-codegen v0.1.3 [INFO] [stderr] Downloaded actix-web v1.0.9 [INFO] [stderr] Downloaded actix-rt v0.2.6 [INFO] [stderr] Downloaded actix-utils v0.4.7 [INFO] [stderr] Downloaded assert2 v0.1.2 [INFO] [stderr] Downloaded inotify v0.8.3 [INFO] [stderr] Downloaded actix-http v0.2.11 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+8c32e313cccf7df531e2d49ffb8227bb92304aee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1de6e5c35f0406e1131bf858f20276d1c0dcf0b09995b55c05fa79e46e6e4873 [INFO] running `Command { std: "docker" "start" "-a" "1de6e5c35f0406e1131bf858f20276d1c0dcf0b09995b55c05fa79e46e6e4873", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1de6e5c35f0406e1131bf858f20276d1c0dcf0b09995b55c05fa79e46e6e4873", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1de6e5c35f0406e1131bf858f20276d1c0dcf0b09995b55c05fa79e46e6e4873", kill_on_drop: false }` [INFO] [stdout] 1de6e5c35f0406e1131bf858f20276d1c0dcf0b09995b55c05fa79e46e6e4873 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+8c32e313cccf7df531e2d49ffb8227bb92304aee" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 23295c1aa94ddd2cffbd2c9b324c06fc86b52ff7c826d23f41c3df9d1dc789a2 [INFO] running `Command { std: "docker" "start" "-a" "23295c1aa94ddd2cffbd2c9b324c06fc86b52ff7c826d23f41c3df9d1dc789a2", kill_on_drop: false }` [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking futures v0.1.31 [INFO] [stderr] Checking slab v0.4.11 [INFO] [stderr] Compiling memoffset v0.5.6 [INFO] [stderr] Checking net2 v0.2.39 [INFO] [stderr] Checking bytes v0.4.12 [INFO] [stderr] Compiling semver v1.0.26 [INFO] [stderr] Checking smallvec v0.6.14 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Checking mio v0.6.23 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking lock_api v0.3.4 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Compiling parking_lot_core v0.6.3 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling object v0.36.7 [INFO] [stderr] Checking crossbeam-queue v0.2.3 [INFO] [stderr] Checking crossbeam-deque v0.7.4 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Compiling cast v0.2.7 [INFO] [stderr] Compiling unicode-xid v0.2.6 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking gimli v0.31.1 [INFO] [stderr] Checking unicode-width v0.1.14 [INFO] [stderr] Compiling proc-macro-hack v0.5.20+deprecated [INFO] [stderr] Checking tokio-executor v0.1.10 [INFO] [stderr] Checking tokio-io v0.1.13 [INFO] [stderr] Checking tokio-sync v0.1.8 [INFO] [stderr] Checking rand_core v0.4.2 [INFO] [stderr] Checking regex-syntax v0.8.6 [INFO] [stderr] Checking tokio-threadpool v0.1.18 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Checking tokio-reactor v0.1.12 [INFO] [stderr] Checking tokio-codec v0.1.2 [INFO] [stderr] Compiling serde_json v1.0.143 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking mio-uds v0.6.8 [INFO] [stderr] Compiling assert2-macros v0.1.0 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Checking vec_map v0.8.2 [INFO] [stderr] Checking yaml-rust v0.3.5 [INFO] [stderr] Checking quick-error v1.2.3 [INFO] [stderr] Checking ansi_term v0.12.1 [INFO] [stderr] Checking rustc-demangle v0.1.26 [INFO] [stderr] Checking pin-project-lite v0.1.12 [INFO] [stderr] Checking bytes v0.5.6 [INFO] [stderr] Checking strsim v0.8.0 [INFO] [stderr] Checking humantime v1.3.0 [INFO] [stderr] Checking clap v2.34.0 [INFO] [stderr] Checking tokio v0.2.25 [INFO] [stderr] Checking regex-automata v0.4.10 [INFO] [stderr] Checking tokio-uds v0.2.7 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking tokio-tcp v0.1.4 [INFO] [stderr] Checking tokio-udp v0.1.6 [INFO] [stderr] Checking tokio-fs v0.1.7 [INFO] [stderr] Checking addr2line v0.24.2 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking tokio-current-thread v0.1.7 [INFO] [stderr] Checking tokio-timer v0.2.13 [INFO] [stderr] Checking itertools v0.8.2 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Checking inotify-sys v0.1.5 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Checking c_linked_list v1.1.1 [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Checking get_if_addrs v0.5.3 [INFO] [stderr] Checking inotify v0.8.3 [INFO] [stderr] Checking criterion-plot v0.3.1 [INFO] [stderr] Checking csv v1.3.1 [INFO] [stderr] Checking backtrace v0.3.75 [INFO] [stderr] Checking tokio v0.1.22 [INFO] [stderr] Checking rand_xoshiro v0.1.0 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking btoi v0.4.3 [INFO] [stderr] Checking toml v0.4.10 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking aho-corasick v0.7.20 [INFO] [stderr] Checking itoa v0.4.8 [INFO] [stderr] Checking yansi v0.5.1 [INFO] [stderr] Checking md5 v0.6.1 [INFO] [stderr] Checking hashbrown v0.3.1 [INFO] [stderr] Checking regex v1.11.2 [INFO] [stderr] Checking env_logger v0.6.2 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Checking assert2 v0.1.2 [INFO] [stderr] Checking failure v0.1.8 [INFO] [stderr] Checking criterion v0.2.11 [INFO] [stderr] Checking libaster v1.2.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unexpected `cfg` condition name: `linux` [INFO] [stdout] --> src/com.rs:291:11 [INFO] [stdout] | [INFO] [stdout] 291 | #[cfg(not(linux))] [INFO] [stdout] | ^^^^^ help: found config with similar value: `target_os = "linux"` [INFO] [stdout] | [INFO] [stdout] = help: expected names are: `docsrs`, `feature`, and `test` and 31 more [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(linux)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(linux)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `linux` [INFO] [stdout] --> src/com.rs:301:7 [INFO] [stdout] | [INFO] [stdout] 301 | #[cfg(linux)] [INFO] [stdout] | ^^^^^ help: found config with similar value: `target_os = "linux"` [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(linux)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(linux)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around block return value [INFO] [stdout] --> src/protocol/redis/resp.rs:509:38 [INFO] [stdout] | [INFO] [stdout] 509 | static ref FINDER: AhoCorasick = { AhoCorasick::new(PATTERNS) }; [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` on by default [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 509 - static ref FINDER: AhoCorasick = { AhoCorasick::new(PATTERNS) }; [INFO] [stdout] 509 + static ref FINDER: AhoCorasick = AhoCorasick::new(PATTERNS); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/lib.rs:35:28 [INFO] [stdout] | [INFO] [stdout] 35 | let watch_file = config.clone(); [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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/com.rs:19:17 [INFO] [stdout] | [INFO] [stdout] 19 | #[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_AsError` [INFO] [stdout] 20 | pub enum AsError { [INFO] [stdout] | ------- `AsError` 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/com.rs:19:17 [INFO] [stdout] | [INFO] [stdout] 19 | #[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_AsError` [INFO] [stdout] 20 | pub enum AsError { [INFO] [stdout] | ------- `AsError` 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: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/protocol/redis.rs:157:19 [INFO] [stdout] | [INFO] [stdout] 157 | pub fn borrow(&self) -> Ref { [INFO] [stdout] | ^^^^^ ------------ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 157 | pub fn borrow(&self) -> Ref<'_, Command> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/protocol/redis.rs:161:23 [INFO] [stdout] | [INFO] [stdout] 161 | pub fn borrow_mut(&self) -> RefMut { [INFO] [stdout] | ^^^^^ --------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 161 | pub fn borrow_mut(&self) -> RefMut<'_, Command> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/protocol/redis/resp.rs:486:17 [INFO] [stdout] | [INFO] [stdout] 486 | pub fn iter(&self) -> MessageIter { [INFO] [stdout] | ^^^^^ ----------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 486 | pub fn iter(&self) -> MessageIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/proxy/cluster/init.rs:99:21 [INFO] [stdout] | [INFO] [stdout] 99 | std::mem::drop(sender); // must drop when the while state is done; [INFO] [stdout] | ^^^^^^^^^^^^^^^------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut futures::unsync::mpsc::Sender` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 99 - std::mem::drop(sender); // must drop when the while state is done; [INFO] [stdout] 99 + let _ = sender; // must drop when the while state is done; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `linux` [INFO] [stdout] --> src/com.rs:291:11 [INFO] [stdout] | [INFO] [stdout] 291 | #[cfg(not(linux))] [INFO] [stdout] | ^^^^^ help: found config with similar value: `target_os = "linux"` [INFO] [stdout] | [INFO] [stdout] = help: expected names are: `docsrs`, `feature`, and `test` and 31 more [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(linux)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(linux)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `linux` [INFO] [stdout] --> src/com.rs:301:7 [INFO] [stdout] | [INFO] [stdout] 301 | #[cfg(linux)] [INFO] [stdout] | ^^^^^ help: found config with similar value: `target_os = "linux"` [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(linux)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(linux)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around block return value [INFO] [stdout] --> src/protocol/redis/resp.rs:509:38 [INFO] [stdout] | [INFO] [stdout] 509 | static ref FINDER: AhoCorasick = { AhoCorasick::new(PATTERNS) }; [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` on by default [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 509 - static ref FINDER: AhoCorasick = { AhoCorasick::new(PATTERNS) }; [INFO] [stdout] 509 + static ref FINDER: AhoCorasick = AhoCorasick::new(PATTERNS); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/lib.rs:35:28 [INFO] [stdout] | [INFO] [stdout] 35 | let watch_file = config.clone(); [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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/com.rs:19:17 [INFO] [stdout] | [INFO] [stdout] 19 | #[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_AsError` [INFO] [stdout] 20 | pub enum AsError { [INFO] [stdout] | ------- `AsError` 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/com.rs:19:17 [INFO] [stdout] | [INFO] [stdout] 19 | #[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_AsError` [INFO] [stdout] 20 | pub enum AsError { [INFO] [stdout] | ------- `AsError` 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: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/protocol/redis.rs:157:19 [INFO] [stdout] | [INFO] [stdout] 157 | pub fn borrow(&self) -> Ref { [INFO] [stdout] | ^^^^^ ------------ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 157 | pub fn borrow(&self) -> Ref<'_, Command> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/protocol/redis.rs:161:23 [INFO] [stdout] | [INFO] [stdout] 161 | pub fn borrow_mut(&self) -> RefMut { [INFO] [stdout] | ^^^^^ --------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 161 | pub fn borrow_mut(&self) -> RefMut<'_, Command> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/protocol/redis/resp.rs:486:17 [INFO] [stdout] | [INFO] [stdout] 486 | pub fn iter(&self) -> MessageIter { [INFO] [stdout] | ^^^^^ ----------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 486 | pub fn iter(&self) -> MessageIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/proxy/cluster/init.rs:99:21 [INFO] [stdout] | [INFO] [stdout] 99 | std::mem::drop(sender); // must drop when the while state is done; [INFO] [stdout] | ^^^^^^^^^^^^^^^------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut futures::unsync::mpsc::Sender` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 99 - std::mem::drop(sender); // must drop when the while state is done; [INFO] [stdout] 99 + let _ = sender; // must drop when the while state is done; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 53.44s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.2.11 [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" "23295c1aa94ddd2cffbd2c9b324c06fc86b52ff7c826d23f41c3df9d1dc789a2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "23295c1aa94ddd2cffbd2c9b324c06fc86b52ff7c826d23f41c3df9d1dc789a2", kill_on_drop: false }` [INFO] [stdout] 23295c1aa94ddd2cffbd2c9b324c06fc86b52ff7c826d23f41c3df9d1dc789a2