[INFO] cloning repository https://github.com/nnam-di/hands-on [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nnam-di/hands-on" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnnam-di%2Fhands-on", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnnam-di%2Fhands-on'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] a373349adb890531b5a03c882d5739e42f037849 [INFO] linting nnam-di/hands-on against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnnam-di%2Fhands-on" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-0-tc1/source/rust-toolchain [INFO] started tweaking git repo https://github.com/nnam-di/hands-on [INFO] finished tweaking git repo https://github.com/nnam-di/hands-on [INFO] tweaked toml for git repo https://github.com/nnam-di/hands-on written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/nnam-di/hands-on 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/nnam-di/hands-on 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] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded futures-core v0.3.17 [INFO] [stderr] Downloaded futures-sink v0.3.17 [INFO] [stderr] Downloaded zeroize_derive v1.2.2 [INFO] [stderr] Downloaded tokio-macros v1.4.1 [INFO] [stderr] Downloaded tokio-util v0.6.8 [INFO] [stderr] Downloaded async-stream-impl v0.3.2 [INFO] [stderr] Downloaded async-stream v0.3.2 [INFO] [stderr] Downloaded hex-literal v0.3.3 [INFO] [stderr] Downloaded futures-macro v0.3.17 [INFO] [stderr] Downloaded ff v0.9.0 [INFO] [stderr] Downloaded ecdsa v0.11.1 [INFO] [stderr] Downloaded pkcs8 v0.6.1 [INFO] [stderr] Downloaded elliptic-curve v0.9.12 [INFO] [stderr] Downloaded der v0.3.5 [INFO] [stderr] Downloaded p256 v0.8.1 [INFO] [stderr] Downloaded psutil v3.2.1 [INFO] [stderr] Downloaded rand_distr v0.4.2 [INFO] [stderr] Downloaded structopt v0.3.23 [INFO] [stderr] Downloaded futures-util v0.3.17 [INFO] [stderr] Downloaded petgraph v0.6.0 [INFO] [stderr] Downloaded hkdf v0.11.0 [INFO] [stderr] Downloaded syn v1.0.78 [INFO] [stderr] Downloaded hyper v0.14.13 [INFO] [stderr] Downloaded nix v0.20.2 [INFO] [stderr] Downloaded h2 v0.3.6 [INFO] [stderr] Downloaded tracing v0.1.28 [INFO] [stderr] Downloaded rcgen v0.8.13 [INFO] [stderr] Downloaded sha2 v0.9.8 [INFO] [stderr] Downloaded futures v0.3.17 [INFO] [stderr] Downloaded tinyvec v1.5.0 [INFO] [stderr] Downloaded darwin-libproc-sys v0.1.2 [INFO] [stderr] Downloaded structopt-derive v0.4.16 [INFO] [stderr] Downloaded futures-channel v0.3.17 [INFO] [stderr] Downloaded group v0.9.0 [INFO] [stderr] Downloaded unzip3 v1.0.0 [INFO] [stderr] Downloaded tokio v1.12.0 [INFO] [stderr] Downloaded futures-executor v0.3.17 [INFO] [stderr] Downloaded libc v0.2.103 [INFO] [stderr] Downloaded mock_instant v0.2.1 [INFO] [stderr] Downloaded signature v1.3.1 [INFO] [stderr] Downloaded spki v0.3.0 [INFO] [stderr] Downloaded fixedbitset v0.4.0 [INFO] [stderr] Downloaded which v4.2.2 [INFO] [stderr] Downloaded const-oid v0.5.2 [INFO] [stderr] Downloaded darwin-libproc v0.1.2 [INFO] [stderr] Downloaded futures-io v0.3.17 [INFO] [stderr] Downloaded futures-task v0.3.17 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 6d86e27e3d4238a4470f6010a25e6daeb85655aa5157786155cc8da06f7b5611 [INFO] running `Command { std: "docker" "start" "-a" "6d86e27e3d4238a4470f6010a25e6daeb85655aa5157786155cc8da06f7b5611", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6d86e27e3d4238a4470f6010a25e6daeb85655aa5157786155cc8da06f7b5611", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6d86e27e3d4238a4470f6010a25e6daeb85655aa5157786155cc8da06f7b5611", kill_on_drop: false }` [INFO] [stdout] 6d86e27e3d4238a4470f6010a25e6daeb85655aa5157786155cc8da06f7b5611 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] ebb70d924796dc4fbd3d9440f9b7f50c91c4e1f1005913e4f489d8e23a12933f [INFO] running `Command { std: "docker" "start" "-a" "ebb70d924796dc4fbd3d9440f9b7f50c91c4e1f1005913e4f489d8e23a12933f", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.103 [INFO] [stderr] Compiling syn v1.0.78 [INFO] [stderr] Compiling typenum v1.14.0 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Compiling generic-array v0.14.4 [INFO] [stderr] Checking subtle v2.4.1 [INFO] [stderr] Checking bytes v1.1.0 [INFO] [stderr] Compiling futures-core v0.3.17 [INFO] [stderr] Compiling either v1.6.1 [INFO] [stderr] Checking once_cell v1.8.0 [INFO] [stderr] Checking cpufeatures v0.2.1 [INFO] [stderr] Compiling indexmap v1.7.0 [INFO] [stderr] Compiling parking_lot_core v0.8.5 [INFO] [stderr] Checking futures-sink v0.3.17 [INFO] [stderr] Compiling anyhow v1.0.44 [INFO] [stderr] Compiling futures-macro v0.3.17 [INFO] [stderr] Checking instant v0.1.11 [INFO] [stderr] Compiling futures-task v0.3.17 [INFO] [stderr] Compiling futures-channel v0.3.17 [INFO] [stderr] Checking smallvec v1.7.0 [INFO] [stderr] Compiling proc-macro-nested v0.1.7 [INFO] [stderr] Checking lock_api v0.4.5 [INFO] [stderr] Compiling futures-util v0.3.17 [INFO] [stderr] Compiling unicase v2.6.0 [INFO] [stderr] Compiling tokio v1.12.0 [INFO] [stderr] Checking http v0.2.5 [INFO] [stderr] Compiling libm v0.2.1 [INFO] [stderr] Compiling radium v0.6.2 [INFO] [stderr] Compiling itertools v0.10.1 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Checking slab v0.4.4 [INFO] [stderr] Checking tinyvec_macros v0.1.0 [INFO] [stderr] Checking futures-io v0.3.17 [INFO] [stderr] Checking matches v0.1.9 [INFO] [stderr] Compiling httparse v1.5.1 [INFO] [stderr] Compiling unicode-segmentation v1.8.0 [INFO] [stderr] Checking base64 v0.13.0 [INFO] [stderr] Checking tinyvec v1.5.0 [INFO] [stderr] Checking const-oid v0.5.2 [INFO] [stderr] Compiling ppv-lite86 v0.2.10 [INFO] [stderr] Checking wyz v0.2.0 [INFO] [stderr] Checking form_urlencoded v1.0.1 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Checking bitvec v0.20.4 [INFO] [stderr] Checking der v0.3.5 [INFO] [stderr] Checking unicode-bidi v0.3.6 [INFO] [stderr] Checking byteorder v1.4.3 [INFO] [stderr] Compiling heck v0.3.3 [INFO] [stderr] Compiling getrandom v0.2.3 [INFO] [stderr] Compiling which v4.2.2 [INFO] [stderr] Compiling hashbrown v0.11.2 [INFO] [stderr] Compiling rand_core v0.6.3 [INFO] [stderr] Compiling aho-corasick v0.7.18 [INFO] [stderr] Checking spki v0.3.0 [INFO] [stderr] Compiling mime_guess v2.0.3 [INFO] [stderr] Compiling prost-build v0.9.0 [INFO] [stderr] Checking unicode-normalization v0.1.19 [INFO] [stderr] Checking digest v0.9.0 [INFO] [stderr] Checking block-buffer v0.9.0 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Checking crypto-mac v0.11.1 [INFO] [stderr] Checking tracing-core v0.1.21 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling fixedbitset v0.4.0 [INFO] [stderr] Checking sha-1 v0.9.8 [INFO] [stderr] Compiling cc v1.0.70 [INFO] [stderr] Compiling remove_dir_all v0.5.3 [INFO] [stderr] Checking regex-syntax v0.6.25 [INFO] [stderr] Checking getrandom v0.1.16 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking signal-hook-registry v1.4.0 [INFO] [stderr] Checking mio v0.7.13 [INFO] [stderr] Checking parking_lot v0.11.2 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking idna v0.2.3 [INFO] [stderr] Compiling rand v0.8.4 [INFO] [stderr] Compiling petgraph v0.6.0 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking tracing v0.1.28 [INFO] [stderr] Checking hmac v0.11.0 [INFO] [stderr] Checking universal-hash v0.4.1 [INFO] [stderr] Checking cipher v0.3.0 [INFO] [stderr] Checking pkcs8 v0.6.1 [INFO] [stderr] Checking input_buffer v0.4.0 [INFO] [stderr] Compiling memoffset v0.6.4 [INFO] [stderr] Compiling serde_json v1.0.68 [INFO] [stderr] Checking unicode-width v0.1.9 [INFO] [stderr] Checking url v2.2.2 [INFO] [stderr] Compiling build_const v0.2.2 [INFO] [stderr] Checking safemem v0.3.3 [INFO] [stderr] Compiling nix v0.17.0 [INFO] [stderr] Checking want v0.3.0 [INFO] [stderr] Compiling ring v0.16.20 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking buf_redux v0.8.4 [INFO] [stderr] Checking polyval v0.5.3 [INFO] [stderr] Compiling crc v1.8.1 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking chrono v0.4.19 [INFO] [stderr] Compiling tempfile v3.2.0 [INFO] [stderr] Checking signature v1.3.1 [INFO] [stderr] Checking http-body v0.4.3 [INFO] [stderr] Checking headers-core v0.2.0 [INFO] [stderr] Checking tungstenite v0.12.0 [INFO] [stderr] Checking time v0.1.43 [INFO] [stderr] Checking socket2 v0.4.2 [INFO] [stderr] Checking twoway v0.1.8 [INFO] [stderr] Checking httpdate v1.0.1 [INFO] [stderr] Checking quick-error v1.2.3 [INFO] [stderr] Checking tower-service v0.3.1 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Checking ghash v0.4.4 [INFO] [stderr] Checking ctr v0.8.0 [INFO] [stderr] Checking aes v0.7.5 [INFO] [stderr] Checking sha2 v0.9.8 [INFO] [stderr] Checking ff v0.9.0 [INFO] [stderr] Checking headers v0.3.4 [INFO] [stderr] Checking aead v0.4.3 [INFO] [stderr] Checking group v0.9.0 [INFO] [stderr] Checking scoped-tls v1.0.0 [INFO] [stderr] Checking nix v0.20.2 [INFO] [stderr] Checking hkdf v0.11.0 [INFO] [stderr] Checking rand_distr v0.4.2 [INFO] [stderr] Checking unzip3 v1.0.0 [INFO] [stderr] Checking clap v2.33.3 [INFO] [stderr] Checking yasna v0.4.0 [INFO] [stderr] Compiling hex-literal v0.3.3 [INFO] [stderr] Checking mock_instant v0.2.1 [INFO] [stderr] Checking regex v1.5.4 [INFO] [stderr] Checking aes-gcm v0.9.4 [INFO] [stderr] Checking multipart v0.17.1 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Compiling tokio-macros v1.4.1 [INFO] [stderr] Compiling zeroize_derive v1.2.2 [INFO] [stderr] Compiling prost-derive v0.9.0 [INFO] [stderr] Compiling serde_derive v1.0.130 [INFO] [stderr] Compiling pin-project-internal v1.0.8 [INFO] [stderr] Compiling thiserror-impl v1.0.29 [INFO] [stderr] Compiling async-stream-impl v0.3.2 [INFO] [stderr] Compiling structopt-derive v0.4.16 [INFO] [stderr] Checking pem v0.8.3 [INFO] [stderr] Checking env_logger v0.8.4 [INFO] [stderr] Checking zeroize v1.4.3 [INFO] [stderr] Checking elliptic-curve v0.9.12 [INFO] [stderr] Checking curve25519-dalek v3.2.0 [INFO] [stderr] Checking async-stream v0.3.2 [INFO] [stderr] Checking structopt v0.3.23 [INFO] [stderr] Checking pin-project v1.0.8 [INFO] [stderr] Checking thiserror v1.0.29 [INFO] [stderr] Checking psutil v3.2.1 [INFO] [stderr] Compiling prost v0.9.0 [INFO] [stderr] Checking ecdsa v0.11.1 [INFO] [stderr] Checking x25519-dalek v1.1.1 [INFO] [stderr] Checking rcgen v0.8.13 [INFO] [stderr] Compiling prost-types v0.9.0 [INFO] [stderr] Checking p256 v0.8.1 [INFO] [stderr] Compiling calling_server v1.3.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking serde v1.0.130 [INFO] [stderr] Checking tokio-util v0.6.8 [INFO] [stderr] Checking tokio-stream v0.1.7 [INFO] [stderr] Checking futures-executor v0.3.17 [INFO] [stderr] Checking h2 v0.3.6 [INFO] [stderr] Checking tokio-tungstenite v0.13.0 [INFO] [stderr] Checking futures v0.3.17 [INFO] [stderr] Checking serde_urlencoded v0.7.0 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Checking hyper v0.14.13 [INFO] [stderr] Checking warp v0.3.1 [INFO] [stdout] warning: `crate` references the macro call's crate [INFO] [stdout] --> src/metrics/macros.rs:148:55 [INFO] [stdout] | [INFO] [stdout] 148 | pub static ref __REPORTER: std::sync::Arc = [INFO] [stdout] | ^^^^^ help: to reference the macro definition's crate, use: `$crate` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#crate_in_macro_def [INFO] [stdout] = note: `#[warn(clippy::crate_in_macro_def)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `crate` references the macro call's crate [INFO] [stdout] --> src/metrics/macros.rs:159:55 [INFO] [stdout] | [INFO] [stdout] 159 | pub static ref __REPORTER: std::sync::Arc = [INFO] [stdout] | ^^^^^ help: to reference the macro definition's crate, use: `$crate` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#crate_in_macro_def [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `crate` references the macro call's crate [INFO] [stdout] --> src/metrics/macros.rs:194:13 [INFO] [stdout] | [INFO] [stdout] 194 | crate::metrics::TimingOptions::microsecond_1000_per_minute() [INFO] [stdout] | ^^^^^ help: to reference the macro definition's crate, use: `$crate` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#crate_in_macro_def [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `crate` references the macro call's crate [INFO] [stdout] --> src/metrics/macros.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | crate::metrics::TimingOptions::microsecond_1000_per_minute() [INFO] [stdout] | ^^^^^ help: to reference the macro definition's crate, use: `$crate` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#crate_in_macro_def [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `crate` references the macro call's crate [INFO] [stdout] --> src/metrics/macros.rs:223:10 [INFO] [stdout] | [INFO] [stdout] 223 | &crate::metrics::__METRICS [INFO] [stdout] | ^^^^^ help: to reference the macro definition's crate, use: `$crate` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#crate_in_macro_def [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/common/collections/two_generation_cache.rs:38:16 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn get(&self, key: &Q) -> Option<&V> [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 41 | Q: Hash + Eq, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] = note: `#[warn(clippy::multiple_bound_locations)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/common/collections/two_generation_cache.rs:46:19 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn remove(&mut self, key: &Q) -> Option [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 49 | Q: Hash + Eq, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/common/collections/two_generation_cache.rs:114:16 [INFO] [stdout] | [INFO] [stdout] 114 | pub fn get(&self, key: &Q) -> Option<&V> [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 117 | Q: Hash + Eq, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/common/collections/two_generation_cache.rs:124:19 [INFO] [stdout] | [INFO] [stdout] 124 | pub fn remove(&mut self, key: &Q) -> Option [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 127 | Q: Hash + Eq, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing` [INFO] [stdout] --> src/dtls.rs:533:11 [INFO] [stdout] | [INFO] [stdout] 533 | #[cfg(fuzzing)] [INFO] [stdout] | ^^^^^^^ [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(fuzzing)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` 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: `fuzzing` [INFO] [stdout] --> src/dtls.rs:422:39 [INFO] [stdout] | [INFO] [stdout] 422 | ... #[cfg(not(fuzzing))] [INFO] [stdout] | ^^^^^^^ [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(fuzzing)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` 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: unexpected `cfg` condition name: `fuzzing` [INFO] [stdout] --> src/ice.rs:246:11 [INFO] [stdout] | [INFO] [stdout] 246 | #[cfg(fuzzing)] [INFO] [stdout] | ^^^^^^^ [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(fuzzing)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` 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: unexpected `cfg` condition name: `fuzzing` [INFO] [stdout] --> src/rtp.rs:811:7 [INFO] [stdout] | [INFO] [stdout] 811 | #[cfg(fuzzing)] [INFO] [stdout] | ^^^^^^^ [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(fuzzing)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` 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: unexpected `cfg` condition name: `fuzzing` [INFO] [stdout] --> src/rtp.rs:816:7 [INFO] [stdout] | [INFO] [stdout] 816 | #[cfg(fuzzing)] [INFO] [stdout] | ^^^^^^^ [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(fuzzing)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` 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: unexpected `cfg` condition name: `fuzzing` [INFO] [stdout] --> src/rtp.rs:1021:7 [INFO] [stdout] | [INFO] [stdout] 1021 | #[cfg(fuzzing)] [INFO] [stdout] | ^^^^^^^ [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(fuzzing)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` 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: unexpected `cfg` condition name: `fuzzing` [INFO] [stdout] --> src/rtp.rs:922:23 [INFO] [stdout] | [INFO] [stdout] 922 | #[cfg(not(fuzzing))] [INFO] [stdout] | ^^^^^^^ [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(fuzzing)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` 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: `crate` references the macro call's crate [INFO] [stdout] --> src/metrics/macros.rs:148:55 [INFO] [stdout] | [INFO] [stdout] 148 | pub static ref __REPORTER: std::sync::Arc = [INFO] [stdout] | ^^^^^ help: to reference the macro definition's crate, use: `$crate` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#crate_in_macro_def [INFO] [stdout] = note: `#[warn(clippy::crate_in_macro_def)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `crate` references the macro call's crate [INFO] [stdout] --> src/metrics/macros.rs:159:55 [INFO] [stdout] | [INFO] [stdout] 159 | pub static ref __REPORTER: std::sync::Arc = [INFO] [stdout] | ^^^^^ help: to reference the macro definition's crate, use: `$crate` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#crate_in_macro_def [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `crate` references the macro call's crate [INFO] [stdout] --> src/metrics/macros.rs:194:13 [INFO] [stdout] | [INFO] [stdout] 194 | crate::metrics::TimingOptions::microsecond_1000_per_minute() [INFO] [stdout] | ^^^^^ help: to reference the macro definition's crate, use: `$crate` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#crate_in_macro_def [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `crate` references the macro call's crate [INFO] [stdout] --> src/metrics/macros.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | crate::metrics::TimingOptions::microsecond_1000_per_minute() [INFO] [stdout] | ^^^^^ help: to reference the macro definition's crate, use: `$crate` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#crate_in_macro_def [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `crate` references the macro call's crate [INFO] [stdout] --> src/metrics/macros.rs:223:10 [INFO] [stdout] | [INFO] [stdout] 223 | &crate::metrics::__METRICS [INFO] [stdout] | ^^^^^ help: to reference the macro definition's crate, use: `$crate` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#crate_in_macro_def [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `*` [INFO] [stdout] --> src/metrics/macros.rs:246:9 [INFO] [stdout] | [INFO] [stdout] 246 | *, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/common/collections/two_generation_cache.rs:38:16 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn get(&self, key: &Q) -> Option<&V> [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 41 | Q: Hash + Eq, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] = note: `#[warn(clippy::multiple_bound_locations)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/common/collections/two_generation_cache.rs:46:19 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn remove(&mut self, key: &Q) -> Option [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 49 | Q: Hash + Eq, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/common/collections/two_generation_cache.rs:114:16 [INFO] [stdout] | [INFO] [stdout] 114 | pub fn get(&self, key: &Q) -> Option<&V> [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 117 | Q: Hash + Eq, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/common/collections/two_generation_cache.rs:124:19 [INFO] [stdout] | [INFO] [stdout] 124 | pub fn remove(&mut self, key: &Q) -> Option [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 127 | Q: Hash + Eq, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing` [INFO] [stdout] --> src/dtls.rs:533:11 [INFO] [stdout] | [INFO] [stdout] 533 | #[cfg(fuzzing)] [INFO] [stdout] | ^^^^^^^ [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(fuzzing)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` 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: `fuzzing` [INFO] [stdout] --> src/dtls.rs:422:39 [INFO] [stdout] | [INFO] [stdout] 422 | ... #[cfg(not(fuzzing))] [INFO] [stdout] | ^^^^^^^ [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(fuzzing)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` 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: unexpected `cfg` condition name: `fuzzing` [INFO] [stdout] --> src/ice.rs:246:11 [INFO] [stdout] | [INFO] [stdout] 246 | #[cfg(fuzzing)] [INFO] [stdout] | ^^^^^^^ [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(fuzzing)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` 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: unexpected `cfg` condition name: `fuzzing` [INFO] [stdout] --> src/rtp.rs:811:7 [INFO] [stdout] | [INFO] [stdout] 811 | #[cfg(fuzzing)] [INFO] [stdout] | ^^^^^^^ [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(fuzzing)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` 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: unexpected `cfg` condition name: `fuzzing` [INFO] [stdout] --> src/rtp.rs:816:7 [INFO] [stdout] | [INFO] [stdout] 816 | #[cfg(fuzzing)] [INFO] [stdout] | ^^^^^^^ [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(fuzzing)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` 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: unexpected `cfg` condition name: `fuzzing` [INFO] [stdout] --> src/rtp.rs:1021:7 [INFO] [stdout] | [INFO] [stdout] 1021 | #[cfg(fuzzing)] [INFO] [stdout] | ^^^^^^^ [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(fuzzing)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` 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: unexpected `cfg` condition name: `fuzzing` [INFO] [stdout] --> src/rtp.rs:922:23 [INFO] [stdout] | [INFO] [stdout] 922 | #[cfg(not(fuzzing))] [INFO] [stdout] | ^^^^^^^ [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(fuzzing)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` 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: method `last` is never used [INFO] [stdout] --> src/googcc/stream.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait StreamExt: futures::StreamExt { [INFO] [stdout] | --------- method in this trait [INFO] [stdout] 30 | fn last(self) -> Last [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/metrics/macros.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 | / impl Default for Registry { [INFO] [stdout] 37 | | fn default() -> Self { [INFO] [stdout] 38 | | Registry { [INFO] [stdout] 39 | | registered_names: Default::default(), [INFO] [stdout] ... | [INFO] [stdout] 44 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 30 + #[derive(Default)] [INFO] [stdout] 31 | struct Registry { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f64` -> `f64`) [INFO] [stdout] --> src/common/data_rate.rs:97:45 [INFO] [stdout] | [INFO] [stdout] 97 | Self::from_bits((self.bits as f64 * x as f64) as u64) [INFO] [stdout] | ^^^^^^^^ help: try: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f64` -> `f64`) [INFO] [stdout] --> src/common/data_rate.rs:113:45 [INFO] [stdout] | [INFO] [stdout] 113 | Self::from_bits((self.bits as f64 / x as f64) as u64) [INFO] [stdout] | ^^^^^^^^ help: try: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/common/math.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | (n + (M - 1)) / M * M [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `n.div_ceil(M)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] = note: `#[warn(clippy::manual_div_ceil)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> src/common/serialize.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | (&(u32::from(*self)).to_be_bytes()[1..4]).write(out); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `(u32::from(*self)).to_be_bytes()[1..4]` [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] [INFO] [stdout] [INFO] [stdout] warning: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> src/common/serialize.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 145 | (&u64::from(*self).to_be_bytes()[2..8]).write(out); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `u64::from(*self).to_be_bytes()[2..8]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/dtls.rs:596:54 [INFO] [stdout] | [INFO] [stdout] 596 | let result = Zeroizing::new(b1.into_iter().chain(b2.into_iter()).take(out_len).collect()); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/iterator.rs:510:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 596 - let result = Zeroizing::new(b1.into_iter().chain(b2.into_iter()).take(out_len).collect()); [INFO] [stdout] 596 + let result = Zeroizing::new(b1.into_iter().chain(b2).take(out_len).collect()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/metrics_server.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | / let _ = tokio::select!( [INFO] [stdout] 38 | | _ = shutdown_signal_rx => {}, [INFO] [stdout] 39 | | ); [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] = note: `#[warn(clippy::let_unit_value)]` on by default [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 37 - let _ = tokio::select!( [INFO] [stdout] 37 + tokio::select!( [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/metrics_server.rs:73:13 [INFO] [stdout] | [INFO] [stdout] 73 | / let _ = tokio::select!( [INFO] [stdout] 74 | | _ = tick_handle => {}, [INFO] [stdout] 75 | | _ = shutdown_signal_rx => {}, [INFO] [stdout] 76 | | ); [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 73 - let _ = tokio::select!( [INFO] [stdout] 73 + tokio::select!( [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> src/rtp.rs:264:21 [INFO] [stdout] | [INFO] [stdout] 264 | (&extensions[extension_start..]).checked_split_at(1)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `extensions[extension_start..]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/rtp.rs:916:13 [INFO] [stdout] | [INFO] [stdout] 916 | / let _ = cipher [INFO] [stdout] 917 | | .decrypt_in_place_detached(nonce, &aad, ciphertext, tag) [INFO] [stdout] 918 | | .ok()?; [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 916 - let _ = cipher [INFO] [stdout] 916 + cipher [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/sfu.rs:158:18 [INFO] [stdout] | [INFO] [stdout] 158 | .map(|call| Arc::clone(call)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the method itself: `Arc::clone` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/signaling_server.rs:118:37 [INFO] [stdout] | [INFO] [stdout] 118 | let user_id = Vec::from_hex(&user_id_hex)?; [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `user_id_hex` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/signaling_server.rs:290:75 [INFO] [stdout] | [INFO] [stdout] 290 | reason: format!("failed to add client to call {}", err.to_string()), [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] = note: `#[warn(clippy::to_string_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/transportcc.rs:402:26 [INFO] [stdout] | [INFO] [stdout] 402 | Box::new(std::iter::repeat(Some(status)).take(len as usize)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(Some(status), len as usize)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] = note: `#[warn(clippy::manual_repeat_n)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/udp_server.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | / let _ = tokio::select!( [INFO] [stdout] 122 | | _ = udp_packet_handles => {}, [INFO] [stdout] 123 | | _ = tick_handle => {}, [INFO] [stdout] 124 | | _ = udp_ender_rx => {}, [INFO] [stdout] 125 | | ); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 121 - let _ = tokio::select!( [INFO] [stdout] 121 + tokio::select!( [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/metrics/datadog_statsd.rs:261:21 [INFO] [stdout] | [INFO] [stdout] 261 | pub fn pipeline(&mut self) -> Client> { [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] 261 | pub fn pipeline(&mut self) -> Client> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/metrics/datadog_statsd.rs:269:36 [INFO] [stdout] | [INFO] [stdout] 269 | pub fn pipeline_client_of_size(&mut self, max_udp_size: usize) -> Client> { [INFO] [stdout] | ^^^^^^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 269 | pub fn pipeline_client_of_size(&mut self, max_udp_size: usize) -> Client> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/common.rs:37:42 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn read_u16_len_prefixed_u16s(input: &[u8]) -> ReadOption> { [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] 37 | pub fn read_u16_len_prefixed_u16s(input: &[u8]) -> ReadOption<'_, Vec> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/common.rs:43:37 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn read_u24_len_prefixed(input: &[u8]) -> ReadOption<&[u8]> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [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] 43 | pub fn read_u24_len_prefixed(input: &[u8]) -> ReadOption<'_, &[u8]> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/common.rs:49:37 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn read_u16_len_prefixed(input: &[u8]) -> ReadOption<&[u8]> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [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] 49 | pub fn read_u16_len_prefixed(input: &[u8]) -> ReadOption<'_, &[u8]> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/common.rs:55:36 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn read_u8_len_prefixed(input: &[u8]) -> ReadOption<&[u8]> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [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] 55 | pub fn read_u8_len_prefixed(input: &[u8]) -> ReadOption<'_, &[u8]> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/common.rs:61:24 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn read_u48(input: &[u8]) -> ReadOption { [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] 61 | pub fn read_u48(input: &[u8]) -> ReadOption<'_, U48> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/common.rs:66:24 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn read_u32(input: &[u8]) -> ReadOption { [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] 66 | pub fn read_u32(input: &[u8]) -> ReadOption<'_, u32> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/common.rs:71:24 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn read_u24(input: &[u8]) -> ReadOption { [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] 71 | pub fn read_u24(input: &[u8]) -> ReadOption<'_, U24> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/common.rs:76:24 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn read_u16(input: &[u8]) -> ReadOption { [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] 76 | pub fn read_u16(input: &[u8]) -> ReadOption<'_, u16> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/common.rs:81:24 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn read_i16(input: &[u8]) -> ReadOption { [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] 81 | pub fn read_i16(input: &[u8]) -> ReadOption<'_, i16> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/common.rs:86:23 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn read_u8(input: &[u8]) -> ReadOption { [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] 86 | pub fn read_u8(input: &[u8]) -> ReadOption<'_, u8> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/common.rs:119:26 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn read_bytes(input: &[u8], len: usize) -> ReadOption<&[u8]> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [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] 119 | pub fn read_bytes(input: &[u8], len: usize) -> ReadOption<'_, &[u8]> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/common.rs:125:29 [INFO] [stdout] | [INFO] [stdout] 125 | pub fn read_from_end(input: &[u8], len: usize) -> ReadOption<&[u8]> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [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] 125 | pub fn read_from_end(input: &[u8], len: usize) -> ReadOption<'_, &[u8]> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/dtls.rs:615:34 [INFO] [stdout] | [INFO] [stdout] 615 | fn read_client_hello_body(input: &[u8]) -> ReadOption<[u8; HELLO_RANDOM_LEN]> { [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] 615 | fn read_client_hello_body(input: &[u8]) -> ReadOption<'_, [u8; HELLO_RANDOM_LEN]> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/dtls.rs:750:32 [INFO] [stdout] | [INFO] [stdout] 750 | fn read_hello_extension(input: &[u8]) -> ReadOption<(u16, &[u8])> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [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] 750 | fn read_hello_extension(input: &[u8]) -> ReadOption<'_, (u16, &[u8])> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/dtls.rs:795:35 [INFO] [stdout] | [INFO] [stdout] 795 | fn read_certificate_record(input: &[u8]) -> ReadOption<(Sha256, VerifyingKey, &[u8])> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [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] 795 | fn read_certificate_record(input: &[u8]) -> ReadOption<'_, (Sha256, VerifyingKey, &[u8])> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/dtls.rs:863:43 [INFO] [stdout] | [INFO] [stdout] 863 | fn read_client_key_exchange_record(input: &[u8]) -> ReadOption<(PublicKey, &[u8])> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [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] 863 | fn read_client_key_exchange_record(input: &[u8]) -> ReadOption<'_, (PublicKey, &[u8])> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/dtls.rs:889:42 [INFO] [stdout] | [INFO] [stdout] 889 | fn read_certificate_verify_record(input: &[u8]) -> ReadOption<(Signature, &[u8])> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [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] 889 | fn read_certificate_verify_record(input: &[u8]) -> ReadOption<'_, (Signature, &[u8])> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/dtls.rs:924:33 [INFO] [stdout] | [INFO] [stdout] 924 | fn read_handshake_record(input: &[u8]) -> ReadOption<&[u8]> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [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] 924 | fn read_handshake_record(input: &[u8]) -> ReadOption<'_, &[u8]> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/dtls.rs:937:42 [INFO] [stdout] | [INFO] [stdout] 937 | fn read_change_cipher_spec_record(input: &[u8]) -> ReadOption<&[u8]> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [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] 937 | fn read_change_cipher_spec_record(input: &[u8]) -> ReadOption<'_, &[u8]> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/dtls.rs:1085:23 [INFO] [stdout] | [INFO] [stdout] 1085 | fn read_record(input: &[u8]) -> ReadOption<(u16, U48, RecordType, &[u8])> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [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] 1085 | fn read_record(input: &[u8]) -> ReadOption<'_, (u16, U48, RecordType, &[u8])> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/dtls.rs:1129:34 [INFO] [stdout] | [INFO] [stdout] 1129 | fn read_handshake_message(input: &[u8]) -> ReadOption<(HandshakeMessageType, &[u8])> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [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] 1129 | fn read_handshake_message(input: &[u8]) -> ReadOption<'_, (HandshakeMessageType, &[u8])> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ice.rs:209:24 [INFO] [stdout] | [INFO] [stdout] 209 | pub fn verify_hmac(&self, pwd: &[u8]) -> Result { [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] 209 | pub fn verify_hmac(&self, pwd: &[u8]) -> Result, MacError> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/main.rs:151:5 [INFO] [stdout] | [INFO] [stdout] 151 | / let _ = threaded_rt.block_on(async { [INFO] [stdout] 152 | | // Start the signaling server, either the signaling_server for production [INFO] [stdout] 153 | | // or the http_server for testing. [INFO] [stdout] 154 | | let signaling_server_handle = tokio::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 195 | | ); [INFO] [stdout] 196 | | }); [INFO] [stdout] | |_______^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] = note: `#[warn(clippy::let_unit_value)]` on by default [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 151 - let _ = threaded_rt.block_on(async { [INFO] [stdout] 151 + threaded_rt.block_on(async { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/main.rs:151:5 [INFO] [stdout] | [INFO] [stdout] 151 | / let _ = threaded_rt.block_on(async { [INFO] [stdout] 152 | | // Start the signaling server, either the signaling_server for production [INFO] [stdout] 153 | | // or the http_server for testing. [INFO] [stdout] 154 | | let signaling_server_handle = tokio::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 195 | | ); [INFO] [stdout] 196 | | }); [INFO] [stdout] | |_______^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] = note: `#[warn(clippy::let_unit_value)]` on by default [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 151 - let _ = threaded_rt.block_on(async { [INFO] [stdout] 151 + threaded_rt.block_on(async { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/metrics/macros.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 | / impl Default for Registry { [INFO] [stdout] 37 | | fn default() -> Self { [INFO] [stdout] 38 | | Registry { [INFO] [stdout] 39 | | registered_names: Default::default(), [INFO] [stdout] ... | [INFO] [stdout] 44 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 30 + #[derive(Default)] [INFO] [stdout] 31 | struct Registry { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the impl [INFO] [stdout] --> src/metrics/datadog_statsd.rs:409:10 [INFO] [stdout] | [INFO] [stdout] 409 | impl<'a> EventSink for MockUdpPort { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] = note: `#[warn(clippy::extra_unused_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_unstable_by_key` [INFO] [stdout] --> src/metrics/test_utils.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | actual.sort_unstable_by(|(k1, _), (k2, _)| k1.cmp(k2)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 19 - actual.sort_unstable_by(|(k1, _), (k2, _)| k1.cmp(k2)); [INFO] [stdout] 19 + actual.sort_unstable_by_key(|(k1, _)| *k1); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_unstable_by_key` [INFO] [stdout] --> src/metrics/test_utils.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | expected.sort_unstable_by(|(k1, _), (k2, _)| k1.cmp(k2)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 20 - expected.sort_unstable_by(|(k1, _), (k2, _)| k1.cmp(k2)); [INFO] [stdout] 20 + expected.sort_unstable_by_key(|(k1, _)| *k1); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless parenthesis on range literals can be removed [INFO] [stdout] --> src/audio.rs:217:21 [INFO] [stdout] | [INFO] [stdout] 217 | for i in 0..(749u16) { [INFO] [stdout] | ^^^^^^^^ help: try: `749u16` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_parens_on_range_literals [INFO] [stdout] = note: `#[warn(clippy::needless_parens_on_range_literals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless parenthesis on range literals can be removed [INFO] [stdout] --> src/audio.rs:228:21 [INFO] [stdout] | [INFO] [stdout] 228 | for i in 0..(750u16) { [INFO] [stdout] | ^^^^^^^^ help: try: `750u16` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_parens_on_range_literals [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f64` -> `f64`) [INFO] [stdout] --> src/common/data_rate.rs:97:45 [INFO] [stdout] | [INFO] [stdout] 97 | Self::from_bits((self.bits as f64 * x as f64) as u64) [INFO] [stdout] | ^^^^^^^^ help: try: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f64` -> `f64`) [INFO] [stdout] --> src/common/data_rate.rs:113:45 [INFO] [stdout] | [INFO] [stdout] 113 | Self::from_bits((self.bits as f64 / x as f64) as u64) [INFO] [stdout] | ^^^^^^^^ help: try: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of a fallible conversion when an infallible one could be used [INFO] [stdout] --> src/common/integers.rs:131:37 [INFO] [stdout] | [INFO] [stdout] 131 | assert_eq!(Ok(U48(0)), 0u16.try_into()); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: converting `u16` to `U48` cannot fail [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fallible_conversions [INFO] [stdout] = note: `#[warn(clippy::unnecessary_fallible_conversions)]` on by default [INFO] [stdout] help: use [INFO] [stdout] | [INFO] [stdout] 131 - assert_eq!(Ok(U48(0)), 0u16.try_into()); [INFO] [stdout] 131 + assert_eq!(Ok(U48(0)), 0u16.into()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of a fallible conversion when an infallible one could be used [INFO] [stdout] --> src/common/integers.rs:139:37 [INFO] [stdout] | [INFO] [stdout] 139 | assert_eq!(Ok(U48(1)), 1u16.try_into()); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: converting `u16` to `U48` cannot fail [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fallible_conversions [INFO] [stdout] help: use [INFO] [stdout] | [INFO] [stdout] 139 - assert_eq!(Ok(U48(1)), 1u16.try_into()); [INFO] [stdout] 139 + assert_eq!(Ok(U48(1)), 1u16.into()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of a fallible conversion when an infallible one could be used [INFO] [stdout] --> src/common/integers.rs:269:37 [INFO] [stdout] | [INFO] [stdout] 269 | assert_eq!(Ok(U24(0)), 0u16.try_into()); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: converting `u16` to `U24` cannot fail [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fallible_conversions [INFO] [stdout] help: use [INFO] [stdout] | [INFO] [stdout] 269 - assert_eq!(Ok(U24(0)), 0u16.try_into()); [INFO] [stdout] 269 + assert_eq!(Ok(U24(0)), 0u16.into()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of a fallible conversion when an infallible one could be used [INFO] [stdout] --> src/common/integers.rs:277:37 [INFO] [stdout] | [INFO] [stdout] 277 | assert_eq!(Ok(U24(1)), 1u16.try_into()); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: converting `u16` to `U24` cannot fail [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fallible_conversions [INFO] [stdout] help: use [INFO] [stdout] | [INFO] [stdout] 277 - assert_eq!(Ok(U24(1)), 1u16.try_into()); [INFO] [stdout] 277 + assert_eq!(Ok(U24(1)), 1u16.into()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/common/math.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | (n + (M - 1)) / M * M [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `n.div_ceil(M)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] = note: `#[warn(clippy::manual_div_ceil)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> src/common/serialize.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | (&(u32::from(*self)).to_be_bytes()[1..4]).write(out); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `(u32::from(*self)).to_be_bytes()[1..4]` [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] [INFO] [stdout] [INFO] [stdout] warning: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> src/common/serialize.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 145 | (&u64::from(*self).to_be_bytes()[2..8]).write(out); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `u64::from(*self).to_be_bytes()[2..8]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/dtls.rs:596:54 [INFO] [stdout] | [INFO] [stdout] 596 | let result = Zeroizing::new(b1.into_iter().chain(b2.into_iter()).take(out_len).collect()); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/iterator.rs:510:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 596 - let result = Zeroizing::new(b1.into_iter().chain(b2.into_iter()).take(out_len).collect()); [INFO] [stdout] 596 + let result = Zeroizing::new(b1.into_iter().chain(b2).take(out_len).collect()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `ids_bytes.get(0)` [INFO] [stdout] --> src/http_server.rs:734:24 [INFO] [stdout] | [INFO] [stdout] 734 | assert_eq!(32, ids_bytes.get(0).unwrap().len()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `ids_bytes.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `ids_strings.get(0)` [INFO] [stdout] --> src/http_server.rs:759:24 [INFO] [stdout] | [INFO] [stdout] 759 | assert_eq!(64, ids_strings.get(0).unwrap().len()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `ids_strings.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/http_server.rs:913:17 [INFO] [stdout] | [INFO] [stdout] 913 | assert!(!result.is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `result.is_ok()` [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: this boolean expression can be simplified [INFO] [stdout] --> src/http_server.rs:918:17 [INFO] [stdout] | [INFO] [stdout] 918 | assert!(!result.is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `result.is_ok()` [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: this let-binding has unit value [INFO] [stdout] --> src/metrics_server.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | / let _ = tokio::select!( [INFO] [stdout] 38 | | _ = shutdown_signal_rx => {}, [INFO] [stdout] 39 | | ); [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] = note: `#[warn(clippy::let_unit_value)]` on by default [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 37 - let _ = tokio::select!( [INFO] [stdout] 37 + tokio::select!( [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/metrics_server.rs:73:13 [INFO] [stdout] | [INFO] [stdout] 73 | / let _ = tokio::select!( [INFO] [stdout] 74 | | _ = tick_handle => {}, [INFO] [stdout] 75 | | _ = shutdown_signal_rx => {}, [INFO] [stdout] 76 | | ); [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 73 - let _ = tokio::select!( [INFO] [stdout] 73 + tokio::select!( [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> src/rtp.rs:264:21 [INFO] [stdout] | [INFO] [stdout] 264 | (&extensions[extension_start..]).checked_split_at(1)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `extensions[extension_start..]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/rtp.rs:916:13 [INFO] [stdout] | [INFO] [stdout] 916 | / let _ = cipher [INFO] [stdout] 917 | | .decrypt_in_place_detached(nonce, &aad, ciphertext, tag) [INFO] [stdout] 918 | | .ok()?; [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 916 - let _ = cipher [INFO] [stdout] 916 + cipher [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/sfu.rs:158:18 [INFO] [stdout] | [INFO] [stdout] 158 | .map(|call| Arc::clone(call)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the method itself: `Arc::clone` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/signaling_server.rs:118:37 [INFO] [stdout] | [INFO] [stdout] 118 | let user_id = Vec::from_hex(&user_id_hex)?; [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `user_id_hex` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/signaling_server.rs:290:75 [INFO] [stdout] | [INFO] [stdout] 290 | reason: format!("failed to add client to call {}", err.to_string()), [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] = note: `#[warn(clippy::to_string_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/transportcc.rs:402:26 [INFO] [stdout] | [INFO] [stdout] 402 | Box::new(std::iter::repeat(Some(status)).take(len as usize)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(Some(status), len as usize)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] = note: `#[warn(clippy::manual_repeat_n)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/udp_server.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | / let _ = tokio::select!( [INFO] [stdout] 122 | | _ = udp_packet_handles => {}, [INFO] [stdout] 123 | | _ = tick_handle => {}, [INFO] [stdout] 124 | | _ = udp_ender_rx => {}, [INFO] [stdout] 125 | | ); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 121 - let _ = tokio::select!( [INFO] [stdout] 121 + tokio::select!( [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/call.rs:1855:22 [INFO] [stdout] | [INFO] [stdout] 1855 | for range in vec![1..half, full..(2 * full)] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[1..half, full..(2 * full)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/metrics/datadog_statsd.rs:261:21 [INFO] [stdout] | [INFO] [stdout] 261 | pub fn pipeline(&mut self) -> Client> { [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] 261 | pub fn pipeline(&mut self) -> Client> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/metrics/datadog_statsd.rs:269:36 [INFO] [stdout] | [INFO] [stdout] 269 | pub fn pipeline_client_of_size(&mut self, max_udp_size: usize) -> Client> { [INFO] [stdout] | ^^^^^^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 269 | pub fn pipeline_client_of_size(&mut self, max_udp_size: usize) -> Client> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/common.rs:37:42 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn read_u16_len_prefixed_u16s(input: &[u8]) -> ReadOption> { [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] 37 | pub fn read_u16_len_prefixed_u16s(input: &[u8]) -> ReadOption<'_, Vec> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/common.rs:43:37 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn read_u24_len_prefixed(input: &[u8]) -> ReadOption<&[u8]> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [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] 43 | pub fn read_u24_len_prefixed(input: &[u8]) -> ReadOption<'_, &[u8]> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/common.rs:49:37 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn read_u16_len_prefixed(input: &[u8]) -> ReadOption<&[u8]> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [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] 49 | pub fn read_u16_len_prefixed(input: &[u8]) -> ReadOption<'_, &[u8]> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/common.rs:55:36 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn read_u8_len_prefixed(input: &[u8]) -> ReadOption<&[u8]> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [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] 55 | pub fn read_u8_len_prefixed(input: &[u8]) -> ReadOption<'_, &[u8]> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/common.rs:61:24 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn read_u48(input: &[u8]) -> ReadOption { [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] 61 | pub fn read_u48(input: &[u8]) -> ReadOption<'_, U48> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/common.rs:66:24 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn read_u32(input: &[u8]) -> ReadOption { [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] 66 | pub fn read_u32(input: &[u8]) -> ReadOption<'_, u32> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/common.rs:71:24 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn read_u24(input: &[u8]) -> ReadOption { [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] 71 | pub fn read_u24(input: &[u8]) -> ReadOption<'_, U24> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/common.rs:76:24 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn read_u16(input: &[u8]) -> ReadOption { [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] 76 | pub fn read_u16(input: &[u8]) -> ReadOption<'_, u16> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/common.rs:81:24 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn read_i16(input: &[u8]) -> ReadOption { [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] 81 | pub fn read_i16(input: &[u8]) -> ReadOption<'_, i16> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/common.rs:86:23 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn read_u8(input: &[u8]) -> ReadOption { [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] 86 | pub fn read_u8(input: &[u8]) -> ReadOption<'_, u8> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/common.rs:119:26 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn read_bytes(input: &[u8], len: usize) -> ReadOption<&[u8]> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [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] 119 | pub fn read_bytes(input: &[u8], len: usize) -> ReadOption<'_, &[u8]> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/common.rs:125:29 [INFO] [stdout] | [INFO] [stdout] 125 | pub fn read_from_end(input: &[u8], len: usize) -> ReadOption<&[u8]> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [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] 125 | pub fn read_from_end(input: &[u8], len: usize) -> ReadOption<'_, &[u8]> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/dtls.rs:615:34 [INFO] [stdout] | [INFO] [stdout] 615 | fn read_client_hello_body(input: &[u8]) -> ReadOption<[u8; HELLO_RANDOM_LEN]> { [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] 615 | fn read_client_hello_body(input: &[u8]) -> ReadOption<'_, [u8; HELLO_RANDOM_LEN]> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/dtls.rs:750:32 [INFO] [stdout] | [INFO] [stdout] 750 | fn read_hello_extension(input: &[u8]) -> ReadOption<(u16, &[u8])> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [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] 750 | fn read_hello_extension(input: &[u8]) -> ReadOption<'_, (u16, &[u8])> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/dtls.rs:795:35 [INFO] [stdout] | [INFO] [stdout] 795 | fn read_certificate_record(input: &[u8]) -> ReadOption<(Sha256, VerifyingKey, &[u8])> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [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] 795 | fn read_certificate_record(input: &[u8]) -> ReadOption<'_, (Sha256, VerifyingKey, &[u8])> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/dtls.rs:863:43 [INFO] [stdout] | [INFO] [stdout] 863 | fn read_client_key_exchange_record(input: &[u8]) -> ReadOption<(PublicKey, &[u8])> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [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] 863 | fn read_client_key_exchange_record(input: &[u8]) -> ReadOption<'_, (PublicKey, &[u8])> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/dtls.rs:889:42 [INFO] [stdout] | [INFO] [stdout] 889 | fn read_certificate_verify_record(input: &[u8]) -> ReadOption<(Signature, &[u8])> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [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] 889 | fn read_certificate_verify_record(input: &[u8]) -> ReadOption<'_, (Signature, &[u8])> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/dtls.rs:924:33 [INFO] [stdout] | [INFO] [stdout] 924 | fn read_handshake_record(input: &[u8]) -> ReadOption<&[u8]> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [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] 924 | fn read_handshake_record(input: &[u8]) -> ReadOption<'_, &[u8]> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/dtls.rs:937:42 [INFO] [stdout] | [INFO] [stdout] 937 | fn read_change_cipher_spec_record(input: &[u8]) -> ReadOption<&[u8]> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [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] 937 | fn read_change_cipher_spec_record(input: &[u8]) -> ReadOption<'_, &[u8]> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/dtls.rs:1085:23 [INFO] [stdout] | [INFO] [stdout] 1085 | fn read_record(input: &[u8]) -> ReadOption<(u16, U48, RecordType, &[u8])> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [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] 1085 | fn read_record(input: &[u8]) -> ReadOption<'_, (u16, U48, RecordType, &[u8])> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/dtls.rs:1129:34 [INFO] [stdout] | [INFO] [stdout] 1129 | fn read_handshake_message(input: &[u8]) -> ReadOption<(HandshakeMessageType, &[u8])> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [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] 1129 | fn read_handshake_message(input: &[u8]) -> ReadOption<'_, (HandshakeMessageType, &[u8])> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ice.rs:209:24 [INFO] [stdout] | [INFO] [stdout] 209 | pub fn verify_hmac(&self, pwd: &[u8]) -> Result { [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] 209 | pub fn verify_hmac(&self, pwd: &[u8]) -> Result, MacError> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 07s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: buf_redux v0.8.4, multipart v0.17.1 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2` [INFO] running `Command { std: "docker" "inspect" "ebb70d924796dc4fbd3d9440f9b7f50c91c4e1f1005913e4f489d8e23a12933f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ebb70d924796dc4fbd3d9440f9b7f50c91c4e1f1005913e4f489d8e23a12933f", kill_on_drop: false }` [INFO] [stdout] ebb70d924796dc4fbd3d9440f9b7f50c91c4e1f1005913e4f489d8e23a12933f