[INFO] fetching crate robusta-codegen 0.2.2... [INFO] linting robusta-codegen-0.2.2 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate robusta-codegen 0.2.2 into /workspace/builds/worker-3-tc1/source [INFO] started tweaking crates.io crate robusta-codegen 0.2.2 [INFO] finished tweaking crates.io crate robusta-codegen 0.2.2 [INFO] tweaked toml for crates.io crate robusta-codegen 0.2.2 written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate robusta-codegen 0.2.2 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 60 packages to latest compatible versions [INFO] [stderr] Adding darling v0.14.4 (available: v0.23.0) [INFO] [stderr] Adding syn v1.0.109 (available: v2.0.117) [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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7c89dfb35ff2917a3a2c301e675ec39200d20017b709de86a475b96221e08aae [INFO] running `Command { std: "docker" "start" "-a" "7c89dfb35ff2917a3a2c301e675ec39200d20017b709de86a475b96221e08aae", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7c89dfb35ff2917a3a2c301e675ec39200d20017b709de86a475b96221e08aae", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7c89dfb35ff2917a3a2c301e675ec39200d20017b709de86a475b96221e08aae", kill_on_drop: false }` [INFO] [stdout] 7c89dfb35ff2917a3a2c301e675ec39200d20017b709de86a475b96221e08aae [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 695b71617edcc493c4ef40243698b607b765bb4ea3b35453f4550896ea98417c [INFO] running `Command { std: "docker" "start" "-a" "695b71617edcc493c4ef40243698b607b765bb4ea3b35453f4550896ea98417c", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Checking memchr v2.8.0 [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Checking cfg-if v1.0.4 [INFO] [stderr] Checking rand_core v0.10.0 [INFO] [stderr] Checking regex-syntax v0.8.10 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Checking strsim v0.10.0 [INFO] [stderr] Checking cpufeatures v0.3.0 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking chacha20 v0.10.0 [INFO] [stderr] Checking aho-corasick v1.1.4 [INFO] [stderr] Checking quote v1.0.45 [INFO] [stderr] Checking syn v1.0.109 [INFO] [stderr] Checking rand v0.10.0 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Checking regex-automata v0.4.14 [INFO] [stderr] Checking darling_core v0.14.4 [INFO] [stderr] Checking regex v1.12.3 [INFO] [stderr] Checking Inflector v0.11.4 [INFO] [stderr] Compiling darling_macro v0.14.4 [INFO] [stderr] Checking darling v0.14.4 [INFO] [stderr] Checking robusta-codegen v0.2.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/transformation/mod.rs:518:15 [INFO] [stdout] | [INFO] [stdout] 518 | Unchecked(Flag), [INFO] [stdout] | --------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `CallType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] 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] 518 - Unchecked(Flag), [INFO] [stdout] 518 + Unchecked(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/transformation/mod.rs:518:15 [INFO] [stdout] | [INFO] [stdout] 518 | Unchecked(Flag), [INFO] [stdout] | --------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `CallType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] 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] 518 - Unchecked(Flag), [INFO] [stdout] 518 + Unchecked(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `instance_fields.get(0)` [INFO] [stdout] --> src/derive/convert.rs:361:39 [INFO] [stdout] | [INFO] [stdout] 361 | let instance_field_data = instance_fields.get(0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `instance_fields.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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/transformation/utils.rs:20:49 [INFO] [stdout] | [INFO] [stdout] 20 | attributes_collector.visit_impl_item_method(&node); [INFO] [stdout] | ^^^^^ help: change this to: `node` [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 creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/transformation/exported.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | &self.struct_context, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: change this to: `self.struct_context` [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 expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/transformation/exported.rs:220:45 [INFO] [stdout] | [INFO] [stdout] 220 | JNISignature::new(node.clone(), &self.struct_context, self.call_type.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: change this to: `self.struct_context` [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: accessing first element with `instance_fields.get(0)` [INFO] [stdout] --> src/derive/convert.rs:361:39 [INFO] [stdout] | [INFO] [stdout] 361 | let instance_field_data = instance_fields.get(0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `instance_fields.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: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/transformation/exported.rs:702:35 [INFO] [stdout] | [INFO] [stdout] 702 | Punctuated::from_iter(result.into_iter()) [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/collect.rs:152:20 [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] 702 - Punctuated::from_iter(result.into_iter()) [INFO] [stdout] 702 + Punctuated::from_iter(result) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if let` can be collapsed into the outer `if let` [INFO] [stdout] --> src/transformation/imported.rs:120:25 [INFO] [stdout] | [INFO] [stdout] 120 | / if let SafeParams { [INFO] [stdout] 121 | | message: Some(_), .. [INFO] [stdout] 122 | | } [INFO] [stdout] 123 | | | SafeParams { [INFO] [stdout] ... | [INFO] [stdout] 128 | | abort!(attr, "can't have exception message or exception class for imported methods") [INFO] [stdout] 129 | | } [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/transformation/imported.rs:119:48 [INFO] [stdout] | [INFO] [stdout] 119 | if let CallType::Safe(Some(params)) = call_type { [INFO] [stdout] | ^^^^^^ replace this binding [INFO] [stdout] 120 | if let SafeParams { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 121 | | message: Some(_), .. [INFO] [stdout] 122 | | } [INFO] [stdout] 123 | | | SafeParams { [INFO] [stdout] 124 | | exception_class: Some(_), [INFO] [stdout] 125 | | .. [INFO] [stdout] 126 | | } = params [INFO] [stdout] | |_________________________^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` 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/transformation/utils.rs:20:49 [INFO] [stdout] | [INFO] [stdout] 20 | attributes_collector.visit_impl_item_method(&node); [INFO] [stdout] | ^^^^^ help: change this to: `node` [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 boolean expression can be simplified [INFO] [stdout] --> src/transformation/imported.rs:348:37 [INFO] [stdout] | [INFO] [stdout] 348 | / ... !a.path [INFO] [stdout] 349 | | ... .segments [INFO] [stdout] 350 | | ... .iter() [INFO] [stdout] 351 | | ... .find(|s| { [INFO] [stdout] ... | [INFO] [stdout] 355 | | ... }) [INFO] [stdout] 356 | | ... .is_some() [INFO] [stdout] | |____________________________________^ [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] help: try [INFO] [stdout] | [INFO] [stdout] 348 ~ a.path [INFO] [stdout] 349 + .segments [INFO] [stdout] 350 + .iter() [INFO] [stdout] 351 + .find(|s| { [INFO] [stdout] 352 + sig_discarded_known_attributes [INFO] [stdout] 353 + .iter() [INFO] [stdout] 354 + .any(|d| s.ident.to_string().contains(d)) [INFO] [stdout] 355 + }).is_none() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: items after a test module [INFO] [stdout] --> src/transformation/exported.rs:272:1 [INFO] [stdout] | [INFO] [stdout] 272 | mod test { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 454 | struct JNISignatureTransformer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 460 | impl JNISignatureTransformer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 556 | impl Fold for JNISignatureTransformer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 633 | struct JNISignature { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 641 | impl JNISignature { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#items_after_test_module [INFO] [stdout] = note: `#[warn(clippy::items_after_test_module)]` on by default [INFO] [stdout] = help: move the items to before the test module was defined [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/transformation/exported.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | &self.struct_context, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: change this to: `self.struct_context` [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 expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/transformation/exported.rs:220:45 [INFO] [stdout] | [INFO] [stdout] 220 | JNISignature::new(node.clone(), &self.struct_context, self.call_type.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: change this to: `self.struct_context` [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 expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/transformation/mod.rs:360:48 [INFO] [stdout] | [INFO] [stdout] 360 | let tokens = TokenStream::from_str(&path) [INFO] [stdout] | ^^^^^ help: change this to: `path` [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 expression can be written more simply using `.retain()` [INFO] [stdout] --> src/transformation/mod.rs:407:17 [INFO] [stdout] | [INFO] [stdout] 407 | / node.attrs = node [INFO] [stdout] 408 | | .attrs [INFO] [stdout] 409 | | .into_iter() [INFO] [stdout] 410 | | .filter(|a| a.path.get_ident().map_or(false, |i| i != "call_type")) [INFO] [stdout] 411 | | .collect(); [INFO] [stdout] | |______________________________^ help: consider calling `.retain()` instead: `node.attrs.retain(|a| a.path.get_ident().map_or(false, |i| i != "call_type"))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_retain [INFO] [stdout] = note: `#[warn(clippy::manual_retain)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/transformation/mod.rs:410:33 [INFO] [stdout] | [INFO] [stdout] 410 | .filter(|a| a.path.get_ident().map_or(false, |i| i != "call_type")) [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_some_and` instead [INFO] [stdout] | [INFO] [stdout] 410 - .filter(|a| a.path.get_ident().map_or(false, |i| i != "call_type")) [INFO] [stdout] 410 + .filter(|a| a.path.get_ident().is_some_and(|i| i != "call_type")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `false` [INFO] [stdout] --> src/transformation/exported.rs:404:18 [INFO] [stdout] | [INFO] [stdout] 404 | _ => assert!(false), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: replace this with `panic!()` or `unreachable!()` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] = note: `#[warn(clippy::assertions_on_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `false` [INFO] [stdout] --> src/transformation/exported.rs:449:18 [INFO] [stdout] | [INFO] [stdout] 449 | _ => assert!(false), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: replace this with `panic!()` or `unreachable!()` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/transformation/exported.rs:702:35 [INFO] [stdout] | [INFO] [stdout] 702 | Punctuated::from_iter(result.into_iter()) [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/collect.rs:152:20 [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] 702 - Punctuated::from_iter(result.into_iter()) [INFO] [stdout] 702 + Punctuated::from_iter(result) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if let` can be collapsed into the outer `if let` [INFO] [stdout] --> src/transformation/imported.rs:120:25 [INFO] [stdout] | [INFO] [stdout] 120 | / if let SafeParams { [INFO] [stdout] 121 | | message: Some(_), .. [INFO] [stdout] 122 | | } [INFO] [stdout] 123 | | | SafeParams { [INFO] [stdout] ... | [INFO] [stdout] 128 | | abort!(attr, "can't have exception message or exception class for imported methods") [INFO] [stdout] 129 | | } [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/transformation/imported.rs:119:48 [INFO] [stdout] | [INFO] [stdout] 119 | if let CallType::Safe(Some(params)) = call_type { [INFO] [stdout] | ^^^^^^ replace this binding [INFO] [stdout] 120 | if let SafeParams { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 121 | | message: Some(_), .. [INFO] [stdout] 122 | | } [INFO] [stdout] 123 | | | SafeParams { [INFO] [stdout] 124 | | exception_class: Some(_), [INFO] [stdout] 125 | | .. [INFO] [stdout] 126 | | } = params [INFO] [stdout] | |_________________________^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/transformation/imported.rs:348:37 [INFO] [stdout] | [INFO] [stdout] 348 | / ... !a.path [INFO] [stdout] 349 | | ... .segments [INFO] [stdout] 350 | | ... .iter() [INFO] [stdout] 351 | | ... .find(|s| { [INFO] [stdout] ... | [INFO] [stdout] 355 | | ... }) [INFO] [stdout] 356 | | ... .is_some() [INFO] [stdout] | |____________________________________^ [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] help: try [INFO] [stdout] | [INFO] [stdout] 348 ~ a.path [INFO] [stdout] 349 + .segments [INFO] [stdout] 350 + .iter() [INFO] [stdout] 351 + .find(|s| { [INFO] [stdout] 352 + sig_discarded_known_attributes [INFO] [stdout] 353 + .iter() [INFO] [stdout] 354 + .any(|d| s.ident.to_string().contains(d)) [INFO] [stdout] 355 + }).is_none() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/transformation/mod.rs:360:48 [INFO] [stdout] | [INFO] [stdout] 360 | let tokens = TokenStream::from_str(&path) [INFO] [stdout] | ^^^^^ help: change this to: `path` [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 expression can be written more simply using `.retain()` [INFO] [stdout] --> src/transformation/mod.rs:407:17 [INFO] [stdout] | [INFO] [stdout] 407 | / node.attrs = node [INFO] [stdout] 408 | | .attrs [INFO] [stdout] 409 | | .into_iter() [INFO] [stdout] 410 | | .filter(|a| a.path.get_ident().map_or(false, |i| i != "call_type")) [INFO] [stdout] 411 | | .collect(); [INFO] [stdout] | |______________________________^ help: consider calling `.retain()` instead: `node.attrs.retain(|a| a.path.get_ident().map_or(false, |i| i != "call_type"))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_retain [INFO] [stdout] = note: `#[warn(clippy::manual_retain)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/transformation/mod.rs:410:33 [INFO] [stdout] | [INFO] [stdout] 410 | .filter(|a| a.path.get_ident().map_or(false, |i| i != "call_type")) [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_some_and` instead [INFO] [stdout] | [INFO] [stdout] 410 - .filter(|a| a.path.get_ident().map_or(false, |i| i != "call_type")) [INFO] [stdout] 410 + .filter(|a| a.path.get_ident().is_some_and(|i| i != "call_type")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 24.29s [INFO] running `Command { std: "docker" "inspect" "695b71617edcc493c4ef40243698b607b765bb4ea3b35453f4550896ea98417c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "695b71617edcc493c4ef40243698b607b765bb4ea3b35453f4550896ea98417c", kill_on_drop: false }` [INFO] [stdout] 695b71617edcc493c4ef40243698b607b765bb4ea3b35453f4550896ea98417c