[INFO] cloning repository https://github.com/brain0/pulseaudio-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/brain0/pulseaudio-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrain0%2Fpulseaudio-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrain0%2Fpulseaudio-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2da6991ec9272f3c20bdc5cb6b8ec9f90434ed01 [INFO] linting brain0/pulseaudio-rs against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrain0%2Fpulseaudio-rs" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/brain0/pulseaudio-rs [INFO] finished tweaking git repo https://github.com/brain0/pulseaudio-rs [INFO] tweaked toml for git repo https://github.com/brain0/pulseaudio-rs written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/brain0/pulseaudio-rs on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/brain0/pulseaudio-rs already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] Updating git repository `https://github.com/brain0/futures-rs.git` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded bytes v0.4.5 [INFO] [stderr] Downloaded iovec v0.1.1 [INFO] [stderr] Downloaded slab v0.4.0 [INFO] [stderr] Downloaded byteorder v1.2.1 [INFO] [stderr] Downloaded libpulse-sys v0.0.0 [INFO] [stderr] Downloaded log v0.4.1 [INFO] [stderr] Downloaded future_pubsub v0.1.3 [INFO] [stderr] Downloaded tokio-io v0.1.4 [INFO] [stderr] Downloaded net2 v0.2.31 [INFO] [stderr] Downloaded tokio-core v0.1.11 [INFO] [stderr] Downloaded mio v0.6.12 [INFO] [stderr] Downloaded libc v0.2.35 [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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b2919f9aa65b2151763296a5bda1ebfc724a4b840bcd06855fa1c4a30d518c99 [INFO] running `Command { std: "docker" "start" "-a" "b2919f9aa65b2151763296a5bda1ebfc724a4b840bcd06855fa1c4a30d518c99", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b2919f9aa65b2151763296a5bda1ebfc724a4b840bcd06855fa1c4a30d518c99", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b2919f9aa65b2151763296a5bda1ebfc724a4b840bcd06855fa1c4a30d518c99", kill_on_drop: false }` [INFO] [stdout] b2919f9aa65b2151763296a5bda1ebfc724a4b840bcd06855fa1c4a30d518c99 [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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 93de1051026f9f937a410197bee4e539b33f82e7946563186768256813bb44be [INFO] running `Command { std: "docker" "start" "-a" "93de1051026f9f937a410197bee4e539b33f82e7946563186768256813bb44be", kill_on_drop: false }` [INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] Checking libc v0.2.35 [INFO] [stderr] Checking cfg-if v0.1.2 [INFO] [stderr] Checking byteorder v1.2.1 [INFO] [stderr] Checking futures v0.1.17 (https://github.com/brain0/futures-rs.git?branch=has_current#881b227f) [INFO] [stderr] Checking slab v0.3.0 [INFO] [stderr] Checking lazycell v0.6.0 [INFO] [stderr] Checking slab v0.4.0 [INFO] [stderr] Checking scoped-tls v0.1.0 [INFO] [stderr] Checking log v0.4.1 [INFO] [stderr] Checking log v0.3.9 [INFO] [stderr] Checking iovec v0.1.1 [INFO] [stderr] Checking net2 v0.2.31 [INFO] [stderr] Checking libpulse-sys v0.0.0 [INFO] [stderr] Checking bytes v0.4.5 [INFO] [stderr] Checking mio v0.6.12 [INFO] [stderr] Checking tokio-io v0.1.4 [INFO] [stderr] Checking future_pubsub v0.1.3 [INFO] [stderr] Checking tokio-core v0.1.11 [INFO] [stderr] Checking pulseaudio v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/deferred.rs:55:13 [INFO] [stdout] | [INFO] [stdout] 55 | userdata: userdata, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `userdata` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/deferred.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | reference: reference, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `reference` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/completion_future.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | Boxed(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)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 6 | Boxed(Box>), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/deferred.rs:55:13 [INFO] [stdout] | [INFO] [stdout] 55 | userdata: userdata, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `userdata` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/deferred.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | reference: reference, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `reference` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/completion_future.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | Boxed(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)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 6 | Boxed(Box>), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `mainloop_api` is never read [INFO] [stdout] --> src/context/mod.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct PaContext { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 22 | raw: ExplicitCleanup>, [INFO] [stdout] 23 | mainloop_api: M, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PaContext` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: docs for unsafe trait missing `# Safety` section [INFO] [stdout] --> src/refcount.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | pub unsafe trait RefCountable { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] = note: `#[warn(clippy::missing_safety_doc)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/refcount.rs:13:17 [INFO] [stdout] | [INFO] [stdout] 13 | assert!(ptr != null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `!ptr.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] = note: `#[warn(clippy::cmp_null)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/context/state.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | assert!(userdata != null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `!userdata.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/context/mod.rs:38:21 [INFO] [stdout] | [INFO] [stdout] 38 | assert!(ptr != null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `!ptr.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/external_reference.rs:24:17 [INFO] [stdout] | [INFO] [stdout] 24 | assert!(ptr != null()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `!ptr.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/external_reference.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | f(&*parent) [INFO] [stdout] | ^^^^^^^^ help: try: `&parent` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] = note: `#[warn(clippy::explicit_auto_deref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: replacing a value of type `T` with `T::default()` is better expressed using `std::mem::take` [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/deferred.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | mem::replace(&mut self.events, HashMap::new()).into_iter().for_each(|(_, v)| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `std::mem::take(&mut self.events)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mem_replace_with_default [INFO] [stdout] = note: `#[warn(clippy::mem_replace_with_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/deferred.rs:75:19 [INFO] [stdout] | [INFO] [stdout] 75 | f(&*d, deferred); [INFO] [stdout] | ^^^ help: try: `&d` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/deferred.rs:79:23 [INFO] [stdout] | [INFO] [stdout] 79 | f(&*d, deferred) [INFO] [stdout] | ^^^ help: try: `&d` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/deferred.rs:182:36 [INFO] [stdout] | [INFO] [stdout] 182 | ... if ! events.insert(k,v).is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `events.insert(k,v).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/deferred.rs:191:34 [INFO] [stdout] | [INFO] [stdout] 191 | .filter(|&(_, ref v)| v.dead.get()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] = note: `#[warn(clippy::needless_borrowed_reference)]` on by default [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 191 - .filter(|&(_, ref v)| v.dead.get()) [INFO] [stdout] 191 + .filter(|(_, v)| v.dead.get()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern creates a reference to a reference [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/deferred.rs:191:39 [INFO] [stdout] | [INFO] [stdout] 191 | .filter(|&(_, ref v)| v.dead.get()) [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 191 - .filter(|&(_, ref v)| v.dead.get()) [INFO] [stdout] 191 + .filter(|&(_, v)| v.dead.get()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/io/io_event_stream/mod.rs:60:34 [INFO] [stdout] | [INFO] [stdout] 60 | return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/io/io_event_stream/mod.rs:90:42 [INFO] [stdout] | [INFO] [stdout] 90 | Self::add_to_existing_stream(&mut *data, index, events); [INFO] [stdout] | ^^^^^^^^^^ help: try: `&mut data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/io/io_event_stream/mod.rs:96:20 [INFO] [stdout] | [INFO] [stdout] 96 | return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/io/io_event_stream/mod.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 106 | if !self.parent.upgrade().is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.parent.upgrade().is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/io/io_event_stream/mod.rs:135:32 [INFO] [stdout] | [INFO] [stdout] 135 | Async::NotReady => return Async::NotReady, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 135 - Async::NotReady => return Async::NotReady, [INFO] [stdout] 135 + Async::NotReady => Async::NotReady, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: replacing a value of type `T` with `T::default()` is better expressed using `std::mem::take` [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/io/mod.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | mem::replace(&mut self.0, HashMap::new()).into_iter().for_each(|(_, v)| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `std::mem::take(&mut self.0)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mem_replace_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/io/mod.rs:90:39 [INFO] [stdout] | [INFO] [stdout] 90 | Self::call_destroy_cb(&*data, e); [INFO] [stdout] | ^^^^^^ help: try: `&data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/timer.rs:63:44 [INFO] [stdout] | [INFO] [stdout] 63 | ... if reference != null_mut() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!reference.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/timer.rs:88:22 [INFO] [stdout] | [INFO] [stdout] 88 | let cancel = if let Some(tv) = tv { [INFO] [stdout] | ______________________^ [INFO] [stdout] 89 | | Some(Self::spawn_timeout_handler(data, [INFO] [stdout] 90 | | reference_ptr, [INFO] [stdout] 91 | | *tv)) [INFO] [stdout] 92 | | } else { [INFO] [stdout] 93 | | None [INFO] [stdout] 94 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 88 ~ let cancel = tv.map(|tv| Self::spawn_timeout_handler(data, [INFO] [stdout] 89 + reference_ptr, [INFO] [stdout] 90 ~ *tv)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: replacing a value of type `T` with `T::default()` is better expressed using `std::mem::take` [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/timer.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 169 | mem::replace(&mut self.0, HashMap::new()).into_iter().for_each(|(_, v)| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `std::mem::take(&mut self.0)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mem_replace_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/mod.rs:77:22 [INFO] [stdout] | [INFO] [stdout] 77 | Deferred::launch(&*intern); [INFO] [stdout] | ^^^^^^^^ help: try: `&intern` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/mod.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | assert!(a != null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `!a.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/mod.rs:83:13 [INFO] [stdout] | [INFO] [stdout] 83 | assert!((*a).userdata != null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!(*a).userdata.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/mod.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 99 | assert!(e != null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `!e.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/mod.rs:104:13 [INFO] [stdout] | [INFO] [stdout] 104 | assert!(e != null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `!e.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/mod.rs:110:13 [INFO] [stdout] | [INFO] [stdout] 110 | assert!(e != null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `!e.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/mod.rs:124:13 [INFO] [stdout] | [INFO] [stdout] 124 | assert!(e != null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `!e.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] 129 | assert!(e != null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `!e.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/mod.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | assert!(e != null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `!e.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/mod.rs:148:13 [INFO] [stdout] | [INFO] [stdout] 148 | assert!(e != null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `!e.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/mod.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | assert!(e != null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `!e.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/mod.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 159 | assert!(e != null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `!e.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/mod.rs:169:8 [INFO] [stdout] | [INFO] [stdout] 169 | if ptr == null() { [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `ptr.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `mainloop_api` is never read [INFO] [stdout] --> src/context/mod.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct PaContext { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 22 | raw: ExplicitCleanup>, [INFO] [stdout] 23 | mainloop_api: M, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PaContext` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: docs for unsafe trait missing `# Safety` section [INFO] [stdout] --> src/refcount.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | pub unsafe trait RefCountable { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] = note: `#[warn(clippy::missing_safety_doc)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/refcount.rs:13:17 [INFO] [stdout] | [INFO] [stdout] 13 | assert!(ptr != null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `!ptr.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] = note: `#[warn(clippy::cmp_null)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/context/state.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | assert!(userdata != null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `!userdata.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/context/mod.rs:38:21 [INFO] [stdout] | [INFO] [stdout] 38 | assert!(ptr != null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `!ptr.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/external_reference.rs:24:17 [INFO] [stdout] | [INFO] [stdout] 24 | assert!(ptr != null()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `!ptr.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/external_reference.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | f(&*parent) [INFO] [stdout] | ^^^^^^^^ help: try: `&parent` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] = note: `#[warn(clippy::explicit_auto_deref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: replacing a value of type `T` with `T::default()` is better expressed using `std::mem::take` [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/deferred.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | mem::replace(&mut self.events, HashMap::new()).into_iter().for_each(|(_, v)| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `std::mem::take(&mut self.events)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mem_replace_with_default [INFO] [stdout] = note: `#[warn(clippy::mem_replace_with_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/deferred.rs:75:19 [INFO] [stdout] | [INFO] [stdout] 75 | f(&*d, deferred); [INFO] [stdout] | ^^^ help: try: `&d` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/deferred.rs:79:23 [INFO] [stdout] | [INFO] [stdout] 79 | f(&*d, deferred) [INFO] [stdout] | ^^^ help: try: `&d` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/deferred.rs:182:36 [INFO] [stdout] | [INFO] [stdout] 182 | ... if ! events.insert(k,v).is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `events.insert(k,v).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/deferred.rs:191:34 [INFO] [stdout] | [INFO] [stdout] 191 | .filter(|&(_, ref v)| v.dead.get()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] = note: `#[warn(clippy::needless_borrowed_reference)]` on by default [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 191 - .filter(|&(_, ref v)| v.dead.get()) [INFO] [stdout] 191 + .filter(|(_, v)| v.dead.get()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern creates a reference to a reference [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/deferred.rs:191:39 [INFO] [stdout] | [INFO] [stdout] 191 | .filter(|&(_, ref v)| v.dead.get()) [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 191 - .filter(|&(_, ref v)| v.dead.get()) [INFO] [stdout] 191 + .filter(|&(_, v)| v.dead.get()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/io/io_event_stream/mod.rs:60:34 [INFO] [stdout] | [INFO] [stdout] 60 | return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/io/io_event_stream/mod.rs:90:42 [INFO] [stdout] | [INFO] [stdout] 90 | Self::add_to_existing_stream(&mut *data, index, events); [INFO] [stdout] | ^^^^^^^^^^ help: try: `&mut data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/io/io_event_stream/mod.rs:96:20 [INFO] [stdout] | [INFO] [stdout] 96 | return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/io/io_event_stream/mod.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 106 | if !self.parent.upgrade().is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.parent.upgrade().is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/io/io_event_stream/mod.rs:135:32 [INFO] [stdout] | [INFO] [stdout] 135 | Async::NotReady => return Async::NotReady, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 135 - Async::NotReady => return Async::NotReady, [INFO] [stdout] 135 + Async::NotReady => Async::NotReady, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: replacing a value of type `T` with `T::default()` is better expressed using `std::mem::take` [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/io/mod.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | mem::replace(&mut self.0, HashMap::new()).into_iter().for_each(|(_, v)| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `std::mem::take(&mut self.0)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mem_replace_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/io/mod.rs:90:39 [INFO] [stdout] | [INFO] [stdout] 90 | Self::call_destroy_cb(&*data, e); [INFO] [stdout] | ^^^^^^ help: try: `&data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/timer.rs:63:44 [INFO] [stdout] | [INFO] [stdout] 63 | ... if reference != null_mut() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!reference.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/timer.rs:88:22 [INFO] [stdout] | [INFO] [stdout] 88 | let cancel = if let Some(tv) = tv { [INFO] [stdout] | ______________________^ [INFO] [stdout] 89 | | Some(Self::spawn_timeout_handler(data, [INFO] [stdout] 90 | | reference_ptr, [INFO] [stdout] 91 | | *tv)) [INFO] [stdout] 92 | | } else { [INFO] [stdout] 93 | | None [INFO] [stdout] 94 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 88 ~ let cancel = tv.map(|tv| Self::spawn_timeout_handler(data, [INFO] [stdout] 89 + reference_ptr, [INFO] [stdout] 90 ~ *tv)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: replacing a value of type `T` with `T::default()` is better expressed using `std::mem::take` [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/timer.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 169 | mem::replace(&mut self.0, HashMap::new()).into_iter().for_each(|(_, v)| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `std::mem::take(&mut self.0)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mem_replace_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/mod.rs:77:22 [INFO] [stdout] | [INFO] [stdout] 77 | Deferred::launch(&*intern); [INFO] [stdout] | ^^^^^^^^ help: try: `&intern` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/mod.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | assert!(a != null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `!a.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/mod.rs:83:13 [INFO] [stdout] | [INFO] [stdout] 83 | assert!((*a).userdata != null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!(*a).userdata.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/mod.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 99 | assert!(e != null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `!e.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/mod.rs:104:13 [INFO] [stdout] | [INFO] [stdout] 104 | assert!(e != null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `!e.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/mod.rs:110:13 [INFO] [stdout] | [INFO] [stdout] 110 | assert!(e != null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `!e.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/mod.rs:124:13 [INFO] [stdout] | [INFO] [stdout] 124 | assert!(e != null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `!e.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] 129 | assert!(e != null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `!e.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/mod.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | assert!(e != null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `!e.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/mod.rs:148:13 [INFO] [stdout] | [INFO] [stdout] 148 | assert!(e != null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `!e.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/mod.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | assert!(e != null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `!e.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/mod.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 159 | assert!(e != null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `!e.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparing with null is better expressed by the `.is_null()` method [INFO] [stdout] --> src/tokio_mainloop_api/api_impl/mod.rs:169:8 [INFO] [stdout] | [INFO] [stdout] 169 | if ptr == null() { [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `ptr.is_null()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.49s [INFO] running `Command { std: "docker" "inspect" "93de1051026f9f937a410197bee4e539b33f82e7946563186768256813bb44be", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "93de1051026f9f937a410197bee4e539b33f82e7946563186768256813bb44be", kill_on_drop: false }` [INFO] [stdout] 93de1051026f9f937a410197bee4e539b33f82e7946563186768256813bb44be