[INFO] fetching crate statsig 1.4.0... [INFO] linting statsig-1.4.0 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate statsig 1.4.0 into /workspace/builds/worker-5-tc1/source [INFO] started tweaking crates.io crate statsig 1.4.0 [INFO] finished tweaking crates.io crate statsig 1.4.0 [INFO] tweaked toml for crates.io crate statsig 1.4.0 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate statsig 1.4.0 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] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 207 packages to latest compatible versions [INFO] [stderr] Adding base64 v0.21.7 (available: v0.22.1) [INFO] [stderr] Adding generic-array v0.14.7 (available: v0.14.9) [INFO] [stderr] Adding reqwest v0.12.28 (available: v0.13.2) [INFO] [stderr] Adding thiserror v1.0.69 (available: v2.0.18) [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] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded uaparser v0.6.4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 2892d2a64efab74e94ed4acdb6112854e8720e0cf5cb03feff5f7b9150ce5f0e [INFO] running `Command { std: "docker" "start" "-a" "2892d2a64efab74e94ed4acdb6112854e8720e0cf5cb03feff5f7b9150ce5f0e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2892d2a64efab74e94ed4acdb6112854e8720e0cf5cb03feff5f7b9150ce5f0e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2892d2a64efab74e94ed4acdb6112854e8720e0cf5cb03feff5f7b9150ce5f0e", kill_on_drop: false }` [INFO] [stdout] 2892d2a64efab74e94ed4acdb6112854e8720e0cf5cb03feff5f7b9150ce5f0e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] c68c5f65614c2eca7221348dd7d02328b3c48a828b6126f16462c0ed5c098b9c [INFO] running `Command { std: "docker" "start" "-a" "c68c5f65614c2eca7221348dd7d02328b3c48a828b6126f16462c0ed5c098b9c", kill_on_drop: false }` [INFO] [stderr] Checking tokio v1.50.0 [INFO] [stderr] Checking openssl v0.10.76 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Checking futures-executor v0.3.32 [INFO] [stderr] Checking rustls-pki-types v1.14.0 [INFO] [stderr] Checking serde_json v1.0.149 [INFO] [stderr] Checking icu_normalizer v2.1.1 [INFO] [stderr] Checking futures v0.3.32 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Checking url v2.5.8 [INFO] [stderr] Checking uaparser v0.6.4 [INFO] [stderr] Checking native-tls v0.2.18 [INFO] [stderr] Checking tokio-util v0.7.18 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking tower v0.5.3 [INFO] [stderr] Checking tower-http v0.6.8 [INFO] [stderr] Checking h2 v0.4.13 [INFO] [stderr] Checking hyper v1.8.1 [INFO] [stderr] Checking hyper-util v0.1.20 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking reqwest v0.12.28 [INFO] [stderr] Checking statsig v1.4.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unexpected `cfg` condition name: `statsig_kong` [INFO] [stdout] --> src/statsig/internal/statsig_driver.rs:200:11 [INFO] [stdout] | [INFO] [stdout] 200 | #[cfg(statsig_kong)] [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(statsig_kong)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(statsig_kong)");` 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: `statsig_kong` [INFO] [stdout] --> src/statsig/internal/statsig_driver.rs:200:11 [INFO] [stdout] | [INFO] [stdout] 200 | #[cfg(statsig_kong)] [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(statsig_kong)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(statsig_kong)");` 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: `statsig_kong` [INFO] [stdout] --> src/lib.rs:172:11 [INFO] [stdout] | [INFO] [stdout] 172 | #[cfg(statsig_kong)] [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(statsig_kong)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(statsig_kong)");` 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: `statsig_kong` [INFO] [stdout] --> src/lib.rs:172:11 [INFO] [stdout] | [INFO] [stdout] 172 | #[cfg(statsig_kong)] [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(statsig_kong)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(statsig_kong)");` 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: field `has_updates` is never read [INFO] [stdout] --> src/statsig/internal/data_types.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 61 | pub struct APIDownloadedConfigsNoUpdates { [INFO] [stdout] | ----------------------------- field in this struct [INFO] [stdout] 62 | pub has_updates: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/statsig/internal/data_types.rs:69:15 [INFO] [stdout] | [INFO] [stdout] 69 | NoUpdates(APIDownloadedConfigsNoUpdates), [INFO] [stdout] | --------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 69 - NoUpdates(APIDownloadedConfigsNoUpdates), [INFO] [stdout] 69 + NoUpdates(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `secret_key` is never read [INFO] [stdout] --> src/statsig/internal/statsig_driver.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct StatsigDriver { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 23 | pub secret_key: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `has_updates` is never read [INFO] [stdout] --> src/statsig/internal/data_types.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 61 | pub struct APIDownloadedConfigsNoUpdates { [INFO] [stdout] | ----------------------------- field in this struct [INFO] [stdout] 62 | pub has_updates: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/statsig/internal/data_types.rs:69:15 [INFO] [stdout] | [INFO] [stdout] 69 | NoUpdates(APIDownloadedConfigsNoUpdates), [INFO] [stdout] | --------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 69 - NoUpdates(APIDownloadedConfigsNoUpdates), [INFO] [stdout] 69 + NoUpdates(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `secret_key` is never read [INFO] [stdout] --> src/statsig/internal/statsig_driver.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct StatsigDriver { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 23 | pub secret_key: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `default` can be confused for the standard trait method `std::default::Default::default` [INFO] [stdout] --> src/statsig/internal/evaluation/eval_details.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | / pub fn default() -> Self { [INFO] [stdout] 14 | | EvalDetails { [INFO] [stdout] 15 | | reason: EvaluationReason::Uninitialized, [INFO] [stdout] 16 | | config_sync_time: 0, [INFO] [stdout] ... | [INFO] [stdout] 20 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::default::Default` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] = note: `#[warn(clippy::should_implement_trait)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/statsig/internal/evaluation/client_init_response_formatter.rs:53:24 [INFO] [stdout] | [INFO] [stdout] 53 | if !eval_result.group_name.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `eval_result.group_name.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `as_str` is redundant and can be removed as the method immediately following exists on `String` too [INFO] [stdout] --> src/statsig/internal/evaluation/eval_helpers.rs:13:25 [INFO] [stdout] | [INFO] [stdout] 13 | sha256.update(value.as_str().as_bytes()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `as_bytes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_as_str [INFO] [stdout] = note: `#[warn(clippy::redundant_as_str)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `default` can be confused for the standard trait method `std::default::Default::default` [INFO] [stdout] --> src/statsig/internal/evaluation/eval_details.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | / pub fn default() -> Self { [INFO] [stdout] 14 | | EvalDetails { [INFO] [stdout] 15 | | reason: EvaluationReason::Uninitialized, [INFO] [stdout] 16 | | config_sync_time: 0, [INFO] [stdout] ... | [INFO] [stdout] 20 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::default::Default` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] = note: `#[warn(clippy::should_implement_trait)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/statsig/internal/evaluation/client_init_response_formatter.rs:53:24 [INFO] [stdout] | [INFO] [stdout] 53 | if !eval_result.group_name.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `eval_result.group_name.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> src/statsig/internal/evaluation/statsig_evaluator.rs:322:29 [INFO] [stdout] | [INFO] [stdout] 322 | let mut exposures = match result.secondary_exposures { [INFO] [stdout] | _____________________________^ [INFO] [stdout] 323 | | Some(v) => v, [INFO] [stdout] 324 | | None => vec![], [INFO] [stdout] 325 | | }; [INFO] [stdout] | |_________^ help: replace it with: `result.secondary_exposures.unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::manual_unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `as_str` is redundant and can be removed as the method immediately following exists on `String` too [INFO] [stdout] --> src/statsig/internal/evaluation/eval_helpers.rs:13:25 [INFO] [stdout] | [INFO] [stdout] 13 | sha256.update(value.as_str().as_bytes()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `as_bytes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_as_str [INFO] [stdout] = note: `#[warn(clippy::redundant_as_str)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/statsig/internal/statsig_driver.rs:213:24 [INFO] [stdout] | [INFO] [stdout] 213 | StatsigDriver::new(&"secret key", StatsigOptions::default()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `"secret key"` [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: match can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> src/statsig/internal/evaluation/statsig_evaluator.rs:322:29 [INFO] [stdout] | [INFO] [stdout] 322 | let mut exposures = match result.secondary_exposures { [INFO] [stdout] | _____________________________^ [INFO] [stdout] 323 | | Some(v) => v, [INFO] [stdout] 324 | | None => vec![], [INFO] [stdout] 325 | | }; [INFO] [stdout] | |_________^ help: replace it with: `result.secondary_exposures.unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::manual_unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statsig/internal/statsig_store.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 84 | return specs.experiment_to_layer.get(experiment_name).cloned(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 84 - return specs.experiment_to_layer.get(experiment_name).cloned(); [INFO] [stdout] 84 + specs.experiment_to_layer.get(experiment_name).cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statsig/internal/statsig_store.rs:283:9 [INFO] [stdout] | [INFO] [stdout] 283 | return Some(()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 283 - return Some(()); [INFO] [stdout] 283 + Some(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statsig/internal/statsig_store.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 84 | return specs.experiment_to_layer.get(experiment_name).cloned(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 84 - return specs.experiment_to_layer.get(experiment_name).cloned(); [INFO] [stdout] 84 + specs.experiment_to_layer.get(experiment_name).cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statsig/internal/statsig_store.rs:283:9 [INFO] [stdout] | [INFO] [stdout] 283 | return Some(()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 283 - return Some(()); [INFO] [stdout] 283 + Some(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/lib.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | DRIVER.read().map_or(false, |guard| guard.is_some()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use `is_ok_and` instead [INFO] [stdout] | [INFO] [stdout] 79 - DRIVER.read().map_or(false, |guard| guard.is_some()) [INFO] [stdout] 79 + DRIVER.read().is_ok_and(|guard| guard.is_some()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `err` [INFO] [stdout] --> src/lib.rs:138:9 [INFO] [stdout] | [INFO] [stdout] 138 | / match res { [INFO] [stdout] 139 | | Err(e) => Some(e), [INFO] [stdout] 140 | | _ => None, [INFO] [stdout] 141 | | } [INFO] [stdout] | |_________^ help: replace with: `res.err()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_ok_err [INFO] [stdout] = note: `#[warn(clippy::manual_ok_err)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/lib.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | DRIVER.read().map_or(false, |guard| guard.is_some()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use `is_ok_and` instead [INFO] [stdout] | [INFO] [stdout] 79 - DRIVER.read().map_or(false, |guard| guard.is_some()) [INFO] [stdout] 79 + DRIVER.read().is_ok_and(|guard| guard.is_some()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `err` [INFO] [stdout] --> src/lib.rs:138:9 [INFO] [stdout] | [INFO] [stdout] 138 | / match res { [INFO] [stdout] 139 | | Err(e) => Some(e), [INFO] [stdout] 140 | | _ => None, [INFO] [stdout] 141 | | } [INFO] [stdout] | |_________^ help: replace with: `res.err()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_ok_err [INFO] [stdout] = note: `#[warn(clippy::manual_ok_err)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.87s [INFO] running `Command { std: "docker" "inspect" "c68c5f65614c2eca7221348dd7d02328b3c48a828b6126f16462c0ed5c098b9c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c68c5f65614c2eca7221348dd7d02328b3c48a828b6126f16462c0ed5c098b9c", kill_on_drop: false }` [INFO] [stdout] c68c5f65614c2eca7221348dd7d02328b3c48a828b6126f16462c0ed5c098b9c