[INFO] cloning repository https://github.com/ahriroot/afast [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ahriroot/afast" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fahriroot%2Fafast", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fahriroot%2Fafast'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e46d68464279c1ce1437efef99eb8782f1e645a0 [INFO] linting ahriroot/afast against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fahriroot%2Fafast" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/ahriroot/afast [INFO] finished tweaking git repo https://github.com/ahriroot/afast [INFO] tweaked toml for git repo https://github.com/ahriroot/afast written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/ahriroot/afast 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/ahriroot/afast 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] 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] 007c9574cd115716857971a1d1f6b6bdc21aae58113da76ea60c9bc1ae659453 [INFO] running `Command { std: "docker" "start" "-a" "007c9574cd115716857971a1d1f6b6bdc21aae58113da76ea60c9bc1ae659453", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "007c9574cd115716857971a1d1f6b6bdc21aae58113da76ea60c9bc1ae659453", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "007c9574cd115716857971a1d1f6b6bdc21aae58113da76ea60c9bc1ae659453", kill_on_drop: false }` [INFO] [stdout] 007c9574cd115716857971a1d1f6b6bdc21aae58113da76ea60c9bc1ae659453 [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] 24f52a3463648ecd9ba5c9c2ec715373ae7818b2ca6b1deecec5160a0815f62b [INFO] running `Command { std: "docker" "start" "-a" "24f52a3463648ecd9ba5c9c2ec715373ae7818b2ca6b1deecec5160a0815f62b", kill_on_drop: false }` [INFO] [stderr] Compiling quote v1.0.41 [INFO] [stderr] Compiling unicode-ident v1.0.20 [INFO] [stderr] Compiling generic-array v0.14.9 [INFO] [stderr] Checking getrandom v0.3.4 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Compiling object v0.37.3 [INFO] [stderr] Checking gimli v0.32.3 [INFO] [stderr] Checking memchr v2.7.6 [INFO] [stderr] Compiling proc-macro2 v1.0.103 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking rustc-demangle v0.1.26 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Compiling syn v2.0.108 [INFO] [stderr] Compiling include_dir_macros v0.7.4 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking include_dir v0.7.4 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking addr2line v0.25.1 [INFO] [stderr] Checking afast-macros v0.0.14 (/opt/rustwide/workdir/afast-macros) [INFO] [stderr] Checking backtrace v0.3.76 [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/atd.rs:130:17 [INFO] [stdout] | [INFO] [stdout] 130 | / if meta.path.is_ident("desc") { [INFO] [stdout] 131 | | if let Ok(lit) = meta.parse_args::() { [INFO] [stdout] 132 | | desc = lit.value(); [INFO] [stdout] 133 | | } [INFO] [stdout] 134 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 130 ~ if meta.path.is_ident("desc") [INFO] [stdout] 131 ~ && let Ok(lit) = meta.parse_args::() { [INFO] [stdout] 132 | desc = lit.value(); [INFO] [stdout] 133 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/atd.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | / if meta.path.is_ident("ns") { [INFO] [stdout] 136 | | if let Ok(lit) = meta.parse_args::() { [INFO] [stdout] 137 | | namespace = lit [INFO] [stdout] 138 | | .value() [INFO] [stdout] ... | [INFO] [stdout] 143 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 135 ~ if meta.path.is_ident("ns") [INFO] [stdout] 136 ~ && let Ok(lit) = meta.parse_args::() { [INFO] [stdout] 137 | namespace = lit [INFO] [stdout] ... [INFO] [stdout] 141 | .collect(); [INFO] [stdout] 142 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/atd.rs:130:17 [INFO] [stdout] | [INFO] [stdout] 130 | / if meta.path.is_ident("desc") { [INFO] [stdout] 131 | | if let Ok(lit) = meta.parse_args::() { [INFO] [stdout] 132 | | desc = lit.value(); [INFO] [stdout] 133 | | } [INFO] [stdout] 134 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 130 ~ if meta.path.is_ident("desc") [INFO] [stdout] 131 ~ && let Ok(lit) = meta.parse_args::() { [INFO] [stdout] 132 | desc = lit.value(); [INFO] [stdout] 133 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/atd.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | / if meta.path.is_ident("ns") { [INFO] [stdout] 136 | | if let Ok(lit) = meta.parse_args::() { [INFO] [stdout] 137 | | namespace = lit [INFO] [stdout] 138 | | .value() [INFO] [stdout] ... | [INFO] [stdout] 143 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 135 ~ if meta.path.is_ident("ns") [INFO] [stdout] 136 ~ && let Ok(lit) = meta.parse_args::() { [INFO] [stdout] 137 | namespace = lit [INFO] [stdout] ... [INFO] [stdout] 141 | .collect(); [INFO] [stdout] 142 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> afast-macros/src/handler/rust.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | ) -> Result<(Vec, Vec, Vec), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> afast-macros/src/handler/rust.rs:30:25 [INFO] [stdout] | [INFO] [stdout] 30 | &ty, [INFO] [stdout] | ^^^ help: change this to: `ty` [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] --> afast-macros/src/handler/rust.rs:35:25 [INFO] [stdout] | [INFO] [stdout] 35 | &ty, [INFO] [stdout] | ^^^ help: change this to: `ty` [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> afast-macros/src/handler/rust.rs:211:6 [INFO] [stdout] | [INFO] [stdout] 211 | ) -> Result<(Vec, Vec, Vec), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> afast-macros/src/handler/rust.rs:238:29 [INFO] [stdout] | [INFO] [stdout] 238 | ... &ty, [INFO] [stdout] | ^^^ help: change this to: `ty` [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] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> afast-macros/src/handler/rust.rs:243:29 [INFO] [stdout] | [INFO] [stdout] 243 | ... &ty, [INFO] [stdout] | ^^^ help: change this to: `ty` [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: length comparison to zero [INFO] [stdout] --> afast-macros/src/handler/rust.rs:338:20 [INFO] [stdout] | [INFO] [stdout] 338 | if valid_idents.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!valid_idents.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> afast-macros/src/handler/rust.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | ) -> Result<(Vec, Vec, Vec), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> afast-macros/src/handler/rust.rs:30:25 [INFO] [stdout] | [INFO] [stdout] 30 | &ty, [INFO] [stdout] | ^^^ help: change this to: `ty` [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] --> afast-macros/src/handler/rust.rs:360:25 [INFO] [stdout] | [INFO] [stdout] 360 | &ty, [INFO] [stdout] | ^^^ help: change this to: `ty` [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] --> afast-macros/src/handler/rust.rs:365:25 [INFO] [stdout] | [INFO] [stdout] 365 | &ty, [INFO] [stdout] | ^^^ help: change this to: `ty` [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] --> afast-macros/src/handler/rust.rs:35:25 [INFO] [stdout] | [INFO] [stdout] 35 | &ty, [INFO] [stdout] | ^^^ help: change this to: `ty` [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 `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/serialize/gen_struct_code.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 17 | / if ident == "Option" { [INFO] [stdout] 18 | | if let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 19 | | if let Some(GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] 20 | | let inner_code = gen_serialize_code(inner_ty, quote!(v), depth + 1); [INFO] [stdout] ... | [INFO] [stdout] 42 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 17 ~ if ident == "Option" [INFO] [stdout] 18 ~ && let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 19 | if let Some(GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] ... [INFO] [stdout] 40 | } [INFO] [stdout] 41 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/serialize/gen_struct_code.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | / if let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 19 | | if let Some(GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] 20 | | let inner_code = gen_serialize_code(inner_ty, quote!(v), depth + 1); [INFO] [stdout] 21 | | if needs_deref(inner_ty) { [INFO] [stdout] ... | [INFO] [stdout] 41 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 18 ~ if let PathArguments::AngleBracketed(args) = &seg.arguments [INFO] [stdout] 19 ~ && let Some(GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] 20 | let inner_code = gen_serialize_code(inner_ty, quote!(v), depth + 1); [INFO] [stdout] ... [INFO] [stdout] 39 | } [INFO] [stdout] 40 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/serialize/gen_struct_code.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | / if ident == "Vec" { [INFO] [stdout] 46 | | if let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 47 | | if let Some(GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] 48 | | let item_ident = format_ident!("__item_{}", depth); [INFO] [stdout] ... | [INFO] [stdout] 59 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 45 ~ if ident == "Vec" [INFO] [stdout] 46 ~ && let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 47 | if let Some(GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] ... [INFO] [stdout] 57 | } [INFO] [stdout] 58 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/serialize/gen_struct_code.rs:46:17 [INFO] [stdout] | [INFO] [stdout] 46 | / if let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 47 | | if let Some(GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] 48 | | let item_ident = format_ident!("__item_{}", depth); [INFO] [stdout] 49 | | let inner_code = [INFO] [stdout] ... | [INFO] [stdout] 58 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 46 ~ if let PathArguments::AngleBracketed(args) = &seg.arguments [INFO] [stdout] 47 ~ && let Some(GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] 48 | let item_ident = format_ident!("__item_{}", depth); [INFO] [stdout] ... [INFO] [stdout] 56 | }; [INFO] [stdout] 57 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/serialize/gen_struct_code.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | / if ident == "HashMap" { [INFO] [stdout] 63 | | if let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 64 | | let mut args_iter = args.args.iter(); [INFO] [stdout] 65 | | if let (Some(GenericArgument::Type(k_ty)), Some(GenericArgument::Type(v_ty))) = [INFO] [stdout] ... | [INFO] [stdout] 79 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 62 ~ if ident == "HashMap" [INFO] [stdout] 63 ~ && let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 64 | let mut args_iter = args.args.iter(); [INFO] [stdout] ... [INFO] [stdout] 77 | } [INFO] [stdout] 78 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> afast-macros/src/handler/rust.rs:211:6 [INFO] [stdout] | [INFO] [stdout] 211 | ) -> Result<(Vec, Vec, Vec), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/serialize/gen_struct_code.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | / if ident == "BTreeMap" { [INFO] [stdout] 83 | | if let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 84 | | let mut args_iter = args.args.iter(); [INFO] [stdout] 85 | | if let (Some(GenericArgument::Type(k_ty)), Some(GenericArgument::Type(v_ty))) = [INFO] [stdout] ... | [INFO] [stdout] 99 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 82 ~ if ident == "BTreeMap" [INFO] [stdout] 83 ~ && let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 84 | let mut args_iter = args.args.iter(); [INFO] [stdout] ... [INFO] [stdout] 97 | } [INFO] [stdout] 98 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> afast-macros/src/handler/rust.rs:238:29 [INFO] [stdout] | [INFO] [stdout] 238 | ... &ty, [INFO] [stdout] | ^^^ help: change this to: `ty` [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] --> afast-macros/src/handler/rust.rs:243:29 [INFO] [stdout] | [INFO] [stdout] 243 | ... &ty, [INFO] [stdout] | ^^^ help: change this to: `ty` [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 `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/serialize/gen_struct_code.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | / if let Type::Path(tp) = ty { [INFO] [stdout] 151 | | if let Some(seg) = tp.path.segments.last() { [INFO] [stdout] 152 | | let ident = seg.ident.to_string(); [INFO] [stdout] 153 | | match ident.as_str() { [INFO] [stdout] ... | [INFO] [stdout] 165 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 150 ~ if let Type::Path(tp) = ty [INFO] [stdout] 151 ~ && let Some(seg) = tp.path.segments.last() { [INFO] [stdout] 152 | let ident = seg.ident.to_string(); [INFO] [stdout] ... [INFO] [stdout] 163 | } [INFO] [stdout] 164 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> afast-macros/src/handler/rust.rs:338:20 [INFO] [stdout] | [INFO] [stdout] 338 | if valid_idents.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!valid_idents.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> afast-macros/src/handler/rust.rs:360:25 [INFO] [stdout] | [INFO] [stdout] 360 | &ty, [INFO] [stdout] | ^^^ help: change this to: `ty` [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] --> afast-macros/src/handler/rust.rs:365:25 [INFO] [stdout] | [INFO] [stdout] 365 | &ty, [INFO] [stdout] | ^^^ help: change this to: `ty` [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 `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/serialize/gen_struct_code.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 17 | / if ident == "Option" { [INFO] [stdout] 18 | | if let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 19 | | if let Some(GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] 20 | | let inner_code = gen_serialize_code(inner_ty, quote!(v), depth + 1); [INFO] [stdout] ... | [INFO] [stdout] 42 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 17 ~ if ident == "Option" [INFO] [stdout] 18 ~ && let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 19 | if let Some(GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] ... [INFO] [stdout] 40 | } [INFO] [stdout] 41 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/serialize/gen_struct_code.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | / if let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 19 | | if let Some(GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] 20 | | let inner_code = gen_serialize_code(inner_ty, quote!(v), depth + 1); [INFO] [stdout] 21 | | if needs_deref(inner_ty) { [INFO] [stdout] ... | [INFO] [stdout] 41 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 18 ~ if let PathArguments::AngleBracketed(args) = &seg.arguments [INFO] [stdout] 19 ~ && let Some(GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] 20 | let inner_code = gen_serialize_code(inner_ty, quote!(v), depth + 1); [INFO] [stdout] ... [INFO] [stdout] 39 | } [INFO] [stdout] 40 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/serialize/gen_struct_code.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | / if ident == "Vec" { [INFO] [stdout] 46 | | if let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 47 | | if let Some(GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] 48 | | let item_ident = format_ident!("__item_{}", depth); [INFO] [stdout] ... | [INFO] [stdout] 59 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 45 ~ if ident == "Vec" [INFO] [stdout] 46 ~ && let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 47 | if let Some(GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] ... [INFO] [stdout] 57 | } [INFO] [stdout] 58 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/serialize/gen_struct_code.rs:46:17 [INFO] [stdout] | [INFO] [stdout] 46 | / if let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 47 | | if let Some(GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] 48 | | let item_ident = format_ident!("__item_{}", depth); [INFO] [stdout] 49 | | let inner_code = [INFO] [stdout] ... | [INFO] [stdout] 58 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 46 ~ if let PathArguments::AngleBracketed(args) = &seg.arguments [INFO] [stdout] 47 ~ && let Some(GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] 48 | let item_ident = format_ident!("__item_{}", depth); [INFO] [stdout] ... [INFO] [stdout] 56 | }; [INFO] [stdout] 57 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/serialize/gen_struct_code.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | / if ident == "HashMap" { [INFO] [stdout] 63 | | if let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 64 | | let mut args_iter = args.args.iter(); [INFO] [stdout] 65 | | if let (Some(GenericArgument::Type(k_ty)), Some(GenericArgument::Type(v_ty))) = [INFO] [stdout] ... | [INFO] [stdout] 79 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 62 ~ if ident == "HashMap" [INFO] [stdout] 63 ~ && let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 64 | let mut args_iter = args.args.iter(); [INFO] [stdout] ... [INFO] [stdout] 77 | } [INFO] [stdout] 78 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/serialize/gen_struct_code.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | / if ident == "BTreeMap" { [INFO] [stdout] 83 | | if let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 84 | | let mut args_iter = args.args.iter(); [INFO] [stdout] 85 | | if let (Some(GenericArgument::Type(k_ty)), Some(GenericArgument::Type(v_ty))) = [INFO] [stdout] ... | [INFO] [stdout] 99 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 82 ~ if ident == "BTreeMap" [INFO] [stdout] 83 ~ && let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 84 | let mut args_iter = args.args.iter(); [INFO] [stdout] ... [INFO] [stdout] 97 | } [INFO] [stdout] 98 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> afast-macros/src/lib.rs:504:17 [INFO] [stdout] | [INFO] [stdout] 504 | / match meta { [INFO] [stdout] 505 | | Meta::List(meta) => { [INFO] [stdout] 506 | | if meta.path.is_ident("name") { [INFO] [stdout] 507 | | tag.name = Some(meta.parse_args::()?.value()); [INFO] [stdout] ... | [INFO] [stdout] 528 | | _ => {} [INFO] [stdout] 529 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 504 ~ if let Meta::List(meta) = meta { [INFO] [stdout] 505 + if meta.path.is_ident("name") { [INFO] [stdout] 506 + tag.name = Some(meta.parse_args::()?.value()); [INFO] [stdout] 507 + } else if meta.path.is_ident("desc") { [INFO] [stdout] 508 + tag.description = Some(meta.parse_args::()?.value()); [INFO] [stdout] 509 + } else if meta.path.is_ident("required") { [INFO] [stdout] 510 + tag.required = Some(meta.parse_args::()?.value()); [INFO] [stdout] 511 + } else if meta.path.is_ident("min") { [INFO] [stdout] 512 + let inner = meta.parse_args::()?; [INFO] [stdout] 513 + tag.min = Some((inner.int.base10_parse::()?, inner.msg.value())); [INFO] [stdout] 514 + } else if meta.path.is_ident("max") { [INFO] [stdout] 515 + let inner = meta.parse_args::()?; [INFO] [stdout] 516 + tag.max = Some((inner.int.base10_parse::()?, inner.msg.value())); [INFO] [stdout] 517 + } else { [INFO] [stdout] 518 + return Err(syn::Error::new( [INFO] [stdout] 519 + meta.path.span(), [INFO] [stdout] 520 + format!( [INFO] [stdout] 521 + "Unknown validate attribute: {}", [INFO] [stdout] 522 + meta.path.get_ident().unwrap() [INFO] [stdout] 523 + ), [INFO] [stdout] 524 + )); [INFO] [stdout] 525 + } [INFO] [stdout] 526 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/lib.rs:548:28 [INFO] [stdout] | [INFO] [stdout] 548 | } else if type_name == "Vec" { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 549 | | if let Some(syn::GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] 550 | | let inner_kind = type_to_kind_expr(inner_ty); [INFO] [stdout] 551 | | return quote! { afast::Kind::Vec(Box::new(#inner_kind)) }; [INFO] [stdout] 552 | | } [INFO] [stdout] 553 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 548 ~ } else if type_name == "Vec" [INFO] [stdout] 549 ~ && let Some(syn::GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] 550 | let inner_kind = type_to_kind_expr(inner_ty); [INFO] [stdout] 551 | return quote! { afast::Kind::Vec(Box::new(#inner_kind)) }; [INFO] [stdout] 552 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/serialize/gen_struct_code.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | / if let Type::Path(tp) = ty { [INFO] [stdout] 151 | | if let Some(seg) = tp.path.segments.last() { [INFO] [stdout] 152 | | let ident = seg.ident.to_string(); [INFO] [stdout] 153 | | match ident.as_str() { [INFO] [stdout] ... | [INFO] [stdout] 165 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 150 ~ if let Type::Path(tp) = ty [INFO] [stdout] 151 ~ && let Some(seg) = tp.path.segments.last() { [INFO] [stdout] 152 | let ident = seg.ident.to_string(); [INFO] [stdout] ... [INFO] [stdout] 163 | } [INFO] [stdout] 164 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> afast-macros/src/lib.rs:504:17 [INFO] [stdout] | [INFO] [stdout] 504 | / match meta { [INFO] [stdout] 505 | | Meta::List(meta) => { [INFO] [stdout] 506 | | if meta.path.is_ident("name") { [INFO] [stdout] 507 | | tag.name = Some(meta.parse_args::()?.value()); [INFO] [stdout] ... | [INFO] [stdout] 528 | | _ => {} [INFO] [stdout] 529 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 504 ~ if let Meta::List(meta) = meta { [INFO] [stdout] 505 + if meta.path.is_ident("name") { [INFO] [stdout] 506 + tag.name = Some(meta.parse_args::()?.value()); [INFO] [stdout] 507 + } else if meta.path.is_ident("desc") { [INFO] [stdout] 508 + tag.description = Some(meta.parse_args::()?.value()); [INFO] [stdout] 509 + } else if meta.path.is_ident("required") { [INFO] [stdout] 510 + tag.required = Some(meta.parse_args::()?.value()); [INFO] [stdout] 511 + } else if meta.path.is_ident("min") { [INFO] [stdout] 512 + let inner = meta.parse_args::()?; [INFO] [stdout] 513 + tag.min = Some((inner.int.base10_parse::()?, inner.msg.value())); [INFO] [stdout] 514 + } else if meta.path.is_ident("max") { [INFO] [stdout] 515 + let inner = meta.parse_args::()?; [INFO] [stdout] 516 + tag.max = Some((inner.int.base10_parse::()?, inner.msg.value())); [INFO] [stdout] 517 + } else { [INFO] [stdout] 518 + return Err(syn::Error::new( [INFO] [stdout] 519 + meta.path.span(), [INFO] [stdout] 520 + format!( [INFO] [stdout] 521 + "Unknown validate attribute: {}", [INFO] [stdout] 522 + meta.path.get_ident().unwrap() [INFO] [stdout] 523 + ), [INFO] [stdout] 524 + )); [INFO] [stdout] 525 + } [INFO] [stdout] 526 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/lib.rs:548:28 [INFO] [stdout] | [INFO] [stdout] 548 | } else if type_name == "Vec" { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 549 | | if let Some(syn::GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] 550 | | let inner_kind = type_to_kind_expr(inner_ty); [INFO] [stdout] 551 | | return quote! { afast::Kind::Vec(Box::new(#inner_kind)) }; [INFO] [stdout] 552 | | } [INFO] [stdout] 553 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 548 ~ } else if type_name == "Vec" [INFO] [stdout] 549 ~ && let Some(syn::GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] 550 | let inner_kind = type_to_kind_expr(inner_ty); [INFO] [stdout] 551 | return quote! { afast::Kind::Vec(Box::new(#inner_kind)) }; [INFO] [stdout] 552 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking tokio v1.48.0 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/atd.rs:130:17 [INFO] [stdout] | [INFO] [stdout] 130 | / if meta.path.is_ident("desc") { [INFO] [stdout] 131 | | if let Ok(lit) = meta.parse_args::() { [INFO] [stdout] 132 | | desc = lit.value(); [INFO] [stdout] 133 | | } [INFO] [stdout] 134 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 130 ~ if meta.path.is_ident("desc") [INFO] [stdout] 131 ~ && let Ok(lit) = meta.parse_args::() { [INFO] [stdout] 132 | desc = lit.value(); [INFO] [stdout] 133 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/atd.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | / if meta.path.is_ident("ns") { [INFO] [stdout] 136 | | if let Ok(lit) = meta.parse_args::() { [INFO] [stdout] 137 | | namespace = lit [INFO] [stdout] 138 | | .value() [INFO] [stdout] ... | [INFO] [stdout] 143 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 135 ~ if meta.path.is_ident("ns") [INFO] [stdout] 136 ~ && let Ok(lit) = meta.parse_args::() { [INFO] [stdout] 137 | namespace = lit [INFO] [stdout] ... [INFO] [stdout] 141 | .collect(); [INFO] [stdout] 142 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> afast-macros/src/handler/rust.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | ) -> Result<(Vec, Vec, Vec), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> afast-macros/src/handler/rust.rs:30:25 [INFO] [stdout] | [INFO] [stdout] 30 | &ty, [INFO] [stdout] | ^^^ help: change this to: `ty` [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] --> afast-macros/src/handler/rust.rs:35:25 [INFO] [stdout] | [INFO] [stdout] 35 | &ty, [INFO] [stdout] | ^^^ help: change this to: `ty` [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> afast-macros/src/handler/rust.rs:211:6 [INFO] [stdout] | [INFO] [stdout] 211 | ) -> Result<(Vec, Vec, Vec), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> afast-macros/src/handler/rust.rs:238:29 [INFO] [stdout] | [INFO] [stdout] 238 | ... &ty, [INFO] [stdout] | ^^^ help: change this to: `ty` [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] --> afast-macros/src/handler/rust.rs:243:29 [INFO] [stdout] | [INFO] [stdout] 243 | ... &ty, [INFO] [stdout] | ^^^ help: change this to: `ty` [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: length comparison to zero [INFO] [stdout] --> afast-macros/src/handler/rust.rs:338:20 [INFO] [stdout] | [INFO] [stdout] 338 | if valid_idents.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!valid_idents.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> afast-macros/src/handler/rust.rs:360:25 [INFO] [stdout] | [INFO] [stdout] 360 | &ty, [INFO] [stdout] | ^^^ help: change this to: `ty` [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] --> afast-macros/src/handler/rust.rs:365:25 [INFO] [stdout] | [INFO] [stdout] 365 | &ty, [INFO] [stdout] | ^^^ help: change this to: `ty` [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 `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/serialize/gen_struct_code.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 17 | / if ident == "Option" { [INFO] [stdout] 18 | | if let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 19 | | if let Some(GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] 20 | | let inner_code = gen_serialize_code(inner_ty, quote!(v), depth + 1); [INFO] [stdout] ... | [INFO] [stdout] 42 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 17 ~ if ident == "Option" [INFO] [stdout] 18 ~ && let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 19 | if let Some(GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] ... [INFO] [stdout] 40 | } [INFO] [stdout] 41 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/serialize/gen_struct_code.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | / if let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 19 | | if let Some(GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] 20 | | let inner_code = gen_serialize_code(inner_ty, quote!(v), depth + 1); [INFO] [stdout] 21 | | if needs_deref(inner_ty) { [INFO] [stdout] ... | [INFO] [stdout] 41 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 18 ~ if let PathArguments::AngleBracketed(args) = &seg.arguments [INFO] [stdout] 19 ~ && let Some(GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] 20 | let inner_code = gen_serialize_code(inner_ty, quote!(v), depth + 1); [INFO] [stdout] ... [INFO] [stdout] 39 | } [INFO] [stdout] 40 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/serialize/gen_struct_code.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | / if ident == "Vec" { [INFO] [stdout] 46 | | if let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 47 | | if let Some(GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] 48 | | let item_ident = format_ident!("__item_{}", depth); [INFO] [stdout] ... | [INFO] [stdout] 59 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 45 ~ if ident == "Vec" [INFO] [stdout] 46 ~ && let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 47 | if let Some(GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] ... [INFO] [stdout] 57 | } [INFO] [stdout] 58 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/serialize/gen_struct_code.rs:46:17 [INFO] [stdout] | [INFO] [stdout] 46 | / if let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 47 | | if let Some(GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] 48 | | let item_ident = format_ident!("__item_{}", depth); [INFO] [stdout] 49 | | let inner_code = [INFO] [stdout] ... | [INFO] [stdout] 58 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 46 ~ if let PathArguments::AngleBracketed(args) = &seg.arguments [INFO] [stdout] 47 ~ && let Some(GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] 48 | let item_ident = format_ident!("__item_{}", depth); [INFO] [stdout] ... [INFO] [stdout] 56 | }; [INFO] [stdout] 57 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/serialize/gen_struct_code.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | / if ident == "HashMap" { [INFO] [stdout] 63 | | if let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 64 | | let mut args_iter = args.args.iter(); [INFO] [stdout] 65 | | if let (Some(GenericArgument::Type(k_ty)), Some(GenericArgument::Type(v_ty))) = [INFO] [stdout] ... | [INFO] [stdout] 79 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 62 ~ if ident == "HashMap" [INFO] [stdout] 63 ~ && let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 64 | let mut args_iter = args.args.iter(); [INFO] [stdout] ... [INFO] [stdout] 77 | } [INFO] [stdout] 78 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/serialize/gen_struct_code.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | / if ident == "BTreeMap" { [INFO] [stdout] 83 | | if let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 84 | | let mut args_iter = args.args.iter(); [INFO] [stdout] 85 | | if let (Some(GenericArgument::Type(k_ty)), Some(GenericArgument::Type(v_ty))) = [INFO] [stdout] ... | [INFO] [stdout] 99 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 82 ~ if ident == "BTreeMap" [INFO] [stdout] 83 ~ && let PathArguments::AngleBracketed(args) = &seg.arguments { [INFO] [stdout] 84 | let mut args_iter = args.args.iter(); [INFO] [stdout] ... [INFO] [stdout] 97 | } [INFO] [stdout] 98 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/serialize/gen_struct_code.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | / if let Type::Path(tp) = ty { [INFO] [stdout] 151 | | if let Some(seg) = tp.path.segments.last() { [INFO] [stdout] 152 | | let ident = seg.ident.to_string(); [INFO] [stdout] 153 | | match ident.as_str() { [INFO] [stdout] ... | [INFO] [stdout] 165 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 150 ~ if let Type::Path(tp) = ty [INFO] [stdout] 151 ~ && let Some(seg) = tp.path.segments.last() { [INFO] [stdout] 152 | let ident = seg.ident.to_string(); [INFO] [stdout] ... [INFO] [stdout] 163 | } [INFO] [stdout] 164 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking thiserror v2.0.17 [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> afast-macros/src/lib.rs:504:17 [INFO] [stdout] | [INFO] [stdout] 504 | / match meta { [INFO] [stdout] 505 | | Meta::List(meta) => { [INFO] [stdout] 506 | | if meta.path.is_ident("name") { [INFO] [stdout] 507 | | tag.name = Some(meta.parse_args::()?.value()); [INFO] [stdout] ... | [INFO] [stdout] 528 | | _ => {} [INFO] [stdout] 529 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 504 ~ if let Meta::List(meta) = meta { [INFO] [stdout] 505 + if meta.path.is_ident("name") { [INFO] [stdout] 506 + tag.name = Some(meta.parse_args::()?.value()); [INFO] [stdout] 507 + } else if meta.path.is_ident("desc") { [INFO] [stdout] 508 + tag.description = Some(meta.parse_args::()?.value()); [INFO] [stdout] 509 + } else if meta.path.is_ident("required") { [INFO] [stdout] 510 + tag.required = Some(meta.parse_args::()?.value()); [INFO] [stdout] 511 + } else if meta.path.is_ident("min") { [INFO] [stdout] 512 + let inner = meta.parse_args::()?; [INFO] [stdout] 513 + tag.min = Some((inner.int.base10_parse::()?, inner.msg.value())); [INFO] [stdout] 514 + } else if meta.path.is_ident("max") { [INFO] [stdout] 515 + let inner = meta.parse_args::()?; [INFO] [stdout] 516 + tag.max = Some((inner.int.base10_parse::()?, inner.msg.value())); [INFO] [stdout] 517 + } else { [INFO] [stdout] 518 + return Err(syn::Error::new( [INFO] [stdout] 519 + meta.path.span(), [INFO] [stdout] 520 + format!( [INFO] [stdout] 521 + "Unknown validate attribute: {}", [INFO] [stdout] 522 + meta.path.get_ident().unwrap() [INFO] [stdout] 523 + ), [INFO] [stdout] 524 + )); [INFO] [stdout] 525 + } [INFO] [stdout] 526 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> afast-macros/src/lib.rs:548:28 [INFO] [stdout] | [INFO] [stdout] 548 | } else if type_name == "Vec" { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 549 | | if let Some(syn::GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] 550 | | let inner_kind = type_to_kind_expr(inner_ty); [INFO] [stdout] 551 | | return quote! { afast::Kind::Vec(Box::new(#inner_kind)) }; [INFO] [stdout] 552 | | } [INFO] [stdout] 553 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 548 ~ } else if type_name == "Vec" [INFO] [stdout] 549 ~ && let Some(syn::GenericArgument::Type(inner_ty)) = args.args.first() { [INFO] [stdout] 550 | let inner_kind = type_to_kind_expr(inner_ty); [INFO] [stdout] 551 | return quote! { afast::Kind::Vec(Box::new(#inner_kind)) }; [INFO] [stdout] 552 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking tungstenite v0.28.0 [INFO] [stderr] Checking tokio-util v0.7.17 [INFO] [stderr] Checking tokio-tungstenite v0.28.0 [INFO] [stderr] Checking http-body-util v0.1.3 [INFO] [stderr] Checking h2 v0.4.12 [INFO] [stderr] Checking hyper v1.8.1 [INFO] [stderr] Checking hyper-util v0.1.17 [INFO] [stderr] Checking afast v0.0.14 (/opt/rustwide/workdir/afast) [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> afast/src/doc/mod.rs:125:47 [INFO] [stdout] | [INFO] [stdout] 125 | pub fn gen_doc(_index: usize, handlers: &Vec>) -> String [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 125 - pub fn gen_doc(_index: usize, handlers: &Vec>) -> String [INFO] [stdout] 125 + pub fn gen_doc(_index: usize, handlers: &[HandlerGeneric]) -> String [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> afast/src/js/mod.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 16 | let kind_code = self.kind.gen_js_to_bytes(&self.name, depth); [INFO] [stdout] | ------------------------------------------------------------- unnecessary `let` binding [INFO] [stdout] 17 | kind_code [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 16 ~ [INFO] [stdout] 17 ~ self.kind.gen_js_to_bytes(&self.name, depth) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> afast/src/js/mod.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 26 | let kind_type = self.kind.gen_js_type(); [INFO] [stdout] | ---------------------------------------- unnecessary `let` binding [INFO] [stdout] 27 | kind_type [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 26 ~ [INFO] [stdout] 27 ~ self.kind.gen_js_type() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> afast/src/js/mod.rs:76:17 [INFO] [stdout] | [INFO] [stdout] 76 | code.push_str("}"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `code.push('}')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] = note: `#[warn(clippy::single_char_add_str)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/js/mod.rs:112:25 [INFO] [stdout] | [INFO] [stdout] 112 | Kind::I8 => format!("_b2.rI8()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rI8()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/js/mod.rs:113:26 [INFO] [stdout] | [INFO] [stdout] 113 | Kind::I16 => format!("_b2.rI16()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rI16()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/js/mod.rs:114:26 [INFO] [stdout] | [INFO] [stdout] 114 | Kind::I32 => format!("_b2.rI32()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rI32()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/js/mod.rs:115:26 [INFO] [stdout] | [INFO] [stdout] 115 | Kind::I64 => format!("_b2.rI64()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rI64()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/js/mod.rs:116:27 [INFO] [stdout] | [INFO] [stdout] 116 | Kind::I128 => format!("_b2.rI128()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rI128()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/js/mod.rs:117:25 [INFO] [stdout] | [INFO] [stdout] 117 | Kind::U8 => format!("_b2.rU8()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rU8()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/js/mod.rs:118:26 [INFO] [stdout] | [INFO] [stdout] 118 | Kind::U16 => format!("_b2.rU16()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rU16()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/js/mod.rs:119:26 [INFO] [stdout] | [INFO] [stdout] 119 | Kind::U32 => format!("_b2.rU32()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rU32()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/js/mod.rs:120:26 [INFO] [stdout] | [INFO] [stdout] 120 | Kind::U64 => format!("_b2.rU64()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rU64()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/js/mod.rs:121:27 [INFO] [stdout] | [INFO] [stdout] 121 | Kind::U128 => format!("_b2.rU128()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rU128()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/js/mod.rs:122:26 [INFO] [stdout] | [INFO] [stdout] 122 | Kind::F32 => format!("_b2.rF32()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rF32()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/js/mod.rs:123:26 [INFO] [stdout] | [INFO] [stdout] 123 | Kind::F64 => format!("_b2.rF64()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rF64()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/js/mod.rs:124:27 [INFO] [stdout] | [INFO] [stdout] 124 | Kind::Bool => format!("_b2.rB()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rB()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/js/mod.rs:125:29 [INFO] [stdout] | [INFO] [stdout] 125 | Kind::String => format!("_b2.rS()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rS()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: parameter is only used in recursion [INFO] [stdout] --> afast/src/js/mod.rs:109:35 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn gen_bytes_to_js(&self, depth: usize) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth` [INFO] [stdout] | [INFO] [stdout] note: parameter used here [INFO] [stdout] --> afast/src/js/mod.rs:130:42 [INFO] [stdout] | [INFO] [stdout] 130 | kind.gen_bytes_to_js(depth + 1) [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | format!("{}: {}", f.name, f.kind.gen_bytes_to_js(depth + 1)) [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | elements[0].gen_bytes_to_js(depth + 1) [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | .map(|e| e.gen_bytes_to_js(depth + 1)) [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | .map(|f| format!("{}:{}", f.name, f.kind.gen_bytes_to_js(depth + 1))) [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | .map(|e| e.gen_bytes_to_js(depth + 1)) [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | kind.gen_bytes_to_js(depth + 1) [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#only_used_in_recursion [INFO] [stdout] = note: `#[warn(clippy::only_used_in_recursion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> afast/src/js/mod.rs:488:14 [INFO] [stdout] | [INFO] [stdout] 488 | .or_insert_with(Vec::new) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> afast/src/js/mod.rs:582:31 [INFO] [stdout] | [INFO] [stdout] 582 | simple_js_builder(&handlers) [INFO] [stdout] | ^^^^^^^^^ help: change this to: `handlers` [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] --> afast/src/js/mod.rs:592:31 [INFO] [stdout] | [INFO] [stdout] 592 | simple_js_builder(&handlers) [INFO] [stdout] | ^^^^^^^^^ help: change this to: `handlers` [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: returning the result of a `let` binding from a block [INFO] [stdout] --> afast/src/ts/mod.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 17 | let kind_code = self.kind.gen_ts_to_bytes(&self.name, depth); [INFO] [stdout] | ------------------------------------------------------------- unnecessary `let` binding [INFO] [stdout] 18 | kind_code [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 17 ~ [INFO] [stdout] 18 ~ self.kind.gen_ts_to_bytes(&self.name, depth) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> afast/src/ts/mod.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 27 | let kind_type = self.kind.gen_ts_type(); [INFO] [stdout] | ---------------------------------------- unnecessary `let` binding [INFO] [stdout] 28 | kind_type [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 27 ~ [INFO] [stdout] 28 ~ self.kind.gen_ts_type() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> afast/src/ts/mod.rs:77:17 [INFO] [stdout] | [INFO] [stdout] 77 | code.push_str("}"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `code.push('}')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/ts/mod.rs:113:25 [INFO] [stdout] | [INFO] [stdout] 113 | Kind::I8 => format!("_b2.rI8()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rI8()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/ts/mod.rs:114:26 [INFO] [stdout] | [INFO] [stdout] 114 | Kind::I16 => format!("_b2.rI16()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rI16()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/ts/mod.rs:115:26 [INFO] [stdout] | [INFO] [stdout] 115 | Kind::I32 => format!("_b2.rI32()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rI32()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/ts/mod.rs:116:26 [INFO] [stdout] | [INFO] [stdout] 116 | Kind::I64 => format!("_b2.rI64()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rI64()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/ts/mod.rs:117:27 [INFO] [stdout] | [INFO] [stdout] 117 | Kind::I128 => format!("_b2.rI128()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rI128()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/ts/mod.rs:118:25 [INFO] [stdout] | [INFO] [stdout] 118 | Kind::U8 => format!("_b2.rU8()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rU8()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/ts/mod.rs:119:26 [INFO] [stdout] | [INFO] [stdout] 119 | Kind::U16 => format!("_b2.rU16()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rU16()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/ts/mod.rs:120:26 [INFO] [stdout] | [INFO] [stdout] 120 | Kind::U32 => format!("_b2.rU32()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rU32()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/ts/mod.rs:121:26 [INFO] [stdout] | [INFO] [stdout] 121 | Kind::U64 => format!("_b2.rU64()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rU64()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/ts/mod.rs:122:27 [INFO] [stdout] | [INFO] [stdout] 122 | Kind::U128 => format!("_b2.rU128()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rU128()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/ts/mod.rs:123:26 [INFO] [stdout] | [INFO] [stdout] 123 | Kind::F32 => format!("_b2.rF32()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rF32()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/ts/mod.rs:124:26 [INFO] [stdout] | [INFO] [stdout] 124 | Kind::F64 => format!("_b2.rF64()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rF64()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/ts/mod.rs:125:27 [INFO] [stdout] | [INFO] [stdout] 125 | Kind::Bool => format!("_b2.rB()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rB()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/ts/mod.rs:126:29 [INFO] [stdout] | [INFO] [stdout] 126 | Kind::String => format!("_b2.rS()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rS()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: parameter is only used in recursion [INFO] [stdout] --> afast/src/ts/mod.rs:110:35 [INFO] [stdout] | [INFO] [stdout] 110 | pub fn gen_bytes_to_ts(&self, depth: usize) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth` [INFO] [stdout] | [INFO] [stdout] note: parameter used here [INFO] [stdout] --> afast/src/ts/mod.rs:131:42 [INFO] [stdout] | [INFO] [stdout] 131 | kind.gen_bytes_to_ts(depth + 1) [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | format!("{}: {}", f.name, f.kind.gen_bytes_to_ts(depth + 1)) [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | elements[0].gen_bytes_to_ts(depth + 1) [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | .map(|e| e.gen_bytes_to_ts(depth + 1)) [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | .map(|f| format!("{}:{}", f.name, f.kind.gen_bytes_to_ts(depth + 1))) [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | .map(|e| e.gen_bytes_to_ts(depth + 1)) [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | kind.gen_bytes_to_ts(depth + 1) [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#only_used_in_recursion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> afast/src/ts/mod.rs:312:9 [INFO] [stdout] | [INFO] [stdout] 312 | / if let Some(tag) = tag { [INFO] [stdout] 313 | | if let Some(ref required_msg) = tag.required { [INFO] [stdout] 314 | | validations.push(format!( [INFO] [stdout] 315 | | "if({0}===undefined||{0}===null) throw new AFastValidateError({1:?});", [INFO] [stdout] ... | [INFO] [stdout] 319 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 312 ~ if let Some(tag) = tag [INFO] [stdout] 313 ~ && let Some(ref required_msg) = tag.required { [INFO] [stdout] 314 | validations.push(format!( [INFO] [stdout] ... [INFO] [stdout] 317 | )); [INFO] [stdout] 318 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> afast/src/ts/mod.rs:495:14 [INFO] [stdout] | [INFO] [stdout] 495 | .or_insert_with(Vec::new) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> afast/src/ts/mod.rs:591:31 [INFO] [stdout] | [INFO] [stdout] 591 | simple_ts_builder(&handlers) [INFO] [stdout] | ^^^^^^^^^ help: change this to: `handlers` [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] --> afast/src/ts/mod.rs:602:31 [INFO] [stdout] | [INFO] [stdout] 602 | simple_ts_builder(&handlers) [INFO] [stdout] | ^^^^^^^^^ help: change this to: `handlers` [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] [stderr] Checking example v0.0.14 (/opt/rustwide/workdir/example) [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> afast/src/lib.rs:466:34 [INFO] [stdout] | [INFO] [stdout] 466 | ... body[size + 0], [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] = note: `#[warn(clippy::identity_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> afast/src/lib.rs:968:63 [INFO] [stdout] | [INFO] [stdout] 968 | ... if path.is_empty() || !DIST_DIR.get_file(path).is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `DIST_DIR.get_file(path).is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> afast/src/lib.rs:919:45 [INFO] [stdout] | [INFO] [stdout] 919 | / ... return Ok::<_, std::convert::Infallible>( [INFO] [stdout] 920 | | ... hyper::Response::builder() [INFO] [stdout] 921 | | ... .status(200) [INFO] [stdout] 922 | | ... .header( [INFO] [stdout] ... | [INFO] [stdout] 927 | | ... .unwrap(), [INFO] [stdout] 928 | | ... ); [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] 919 ~ Ok::<_, std::convert::Infallible>( [INFO] [stdout] 920 + hyper::Response::builder() [INFO] [stdout] 921 + .status(200) [INFO] [stdout] 922 + .header( [INFO] [stdout] 923 + hyper::http::header::CONTENT_TYPE, [INFO] [stdout] 924 + "application/json; charset=utf-8", [INFO] [stdout] 925 + ) [INFO] [stdout] 926 + .body(http_body_util::Full::::new(code.into())) [INFO] [stdout] 927 + .unwrap(), [INFO] [stdout] 928 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> afast/src/lib.rs:941:45 [INFO] [stdout] | [INFO] [stdout] 941 | / ... return Ok::<_, std::convert::Infallible>( [INFO] [stdout] 942 | | ... hyper::Response::builder() [INFO] [stdout] 943 | | ... .status(200) [INFO] [stdout] 944 | | ... .header( [INFO] [stdout] ... | [INFO] [stdout] 949 | | ... .unwrap(), [INFO] [stdout] 950 | | ... ); [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] 941 ~ Ok::<_, std::convert::Infallible>( [INFO] [stdout] 942 + hyper::Response::builder() [INFO] [stdout] 943 + .status(200) [INFO] [stdout] 944 + .header( [INFO] [stdout] 945 + hyper::http::header::CONTENT_TYPE, [INFO] [stdout] 946 + "application/json; charset=utf-8", [INFO] [stdout] 947 + ) [INFO] [stdout] 948 + .body(http_body_util::Full::::new(code.into())) [INFO] [stdout] 949 + .unwrap(), [INFO] [stdout] 950 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> afast/src/lib.rs:952:45 [INFO] [stdout] | [INFO] [stdout] 952 | / ... return Ok::<_, std::convert::Infallible>( [INFO] [stdout] 953 | | ... hyper::Response::builder() [INFO] [stdout] 954 | | ... .status(404) [INFO] [stdout] 955 | | ... .body(http_body_util::Full::::new( [INFO] [stdout] ... | [INFO] [stdout] 958 | | ... .unwrap(), [INFO] [stdout] 959 | | ... ); [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] 952 ~ Ok::<_, std::convert::Infallible>( [INFO] [stdout] 953 + hyper::Response::builder() [INFO] [stdout] 954 + .status(404) [INFO] [stdout] 955 + .body(http_body_util::Full::::new( [INFO] [stdout] 956 + "404 Not Found".into(), [INFO] [stdout] 957 + )) [INFO] [stdout] 958 + .unwrap(), [INFO] [stdout] 959 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> afast/src/lib.rs:977:45 [INFO] [stdout] | [INFO] [stdout] 977 | / ... return Ok::<_, std::convert::Infallible>( [INFO] [stdout] 978 | | ... hyper::Response::builder() [INFO] [stdout] 979 | | ... .status(200) [INFO] [stdout] 980 | | ... .header( [INFO] [stdout] ... | [INFO] [stdout] 987 | | ... .unwrap(), [INFO] [stdout] 988 | | ... ); [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] 977 ~ Ok::<_, std::convert::Infallible>( [INFO] [stdout] 978 + hyper::Response::builder() [INFO] [stdout] 979 + .status(200) [INFO] [stdout] 980 + .header( [INFO] [stdout] 981 + hyper::http::header::CONTENT_TYPE, [INFO] [stdout] 982 + format!("{}; charset=utf-8", mime.as_ref()), [INFO] [stdout] 983 + ) [INFO] [stdout] 984 + .body(http_body_util::Full::::new( [INFO] [stdout] 985 + hyper::body::Bytes::from(file.contents()), [INFO] [stdout] 986 + )) [INFO] [stdout] 987 + .unwrap(), [INFO] [stdout] 988 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> afast/src/lib.rs:990:45 [INFO] [stdout] | [INFO] [stdout] 990 | / ... return Ok::<_, std::convert::Infallible>( [INFO] [stdout] 991 | | ... hyper::Response::builder() [INFO] [stdout] 992 | | ... .status(404) [INFO] [stdout] 993 | | ... .body(http_body_util::Full::::new( [INFO] [stdout] ... | [INFO] [stdout] 996 | | ... .unwrap(), [INFO] [stdout] 997 | | ... ); [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] 990 ~ Ok::<_, std::convert::Infallible>( [INFO] [stdout] 991 + hyper::Response::builder() [INFO] [stdout] 992 + .status(404) [INFO] [stdout] 993 + .body(http_body_util::Full::::new( [INFO] [stdout] 994 + "404 Not Found".into(), [INFO] [stdout] 995 + )) [INFO] [stdout] 996 + .unwrap(), [INFO] [stdout] 997 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> afast/src/lib.rs:1009:37 [INFO] [stdout] | [INFO] [stdout] 1009 | / ... return Ok::<_, std::convert::Infallible>( [INFO] [stdout] 1010 | | ... hyper::Response::builder() [INFO] [stdout] 1011 | | ... .status(405) [INFO] [stdout] 1012 | | ... .body(http_body_util::Full::::new( [INFO] [stdout] ... | [INFO] [stdout] 1015 | | ... .unwrap(), [INFO] [stdout] 1016 | | ... ); [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] 1009 ~ Ok::<_, std::convert::Infallible>( [INFO] [stdout] 1010 + hyper::Response::builder() [INFO] [stdout] 1011 + .status(405) [INFO] [stdout] 1012 + .body(http_body_util::Full::::new( [INFO] [stdout] 1013 + "405 Method Not Allowed".into(), [INFO] [stdout] 1014 + )) [INFO] [stdout] 1015 + .unwrap(), [INFO] [stdout] 1016 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> afast/src/lib.rs:678:58 [INFO] [stdout] | [INFO] [stdout] 678 | ... body[size + 0], [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> afast/src/lib.rs:776:46 [INFO] [stdout] | [INFO] [stdout] 776 | ... body[size + 0], [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> afast/src/doc/mod.rs:125:47 [INFO] [stdout] | [INFO] [stdout] 125 | pub fn gen_doc(_index: usize, handlers: &Vec>) -> String [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 125 - pub fn gen_doc(_index: usize, handlers: &Vec>) -> String [INFO] [stdout] 125 + pub fn gen_doc(_index: usize, handlers: &[HandlerGeneric]) -> String [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> afast/src/js/mod.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 16 | let kind_code = self.kind.gen_js_to_bytes(&self.name, depth); [INFO] [stdout] | ------------------------------------------------------------- unnecessary `let` binding [INFO] [stdout] 17 | kind_code [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 16 ~ [INFO] [stdout] 17 ~ self.kind.gen_js_to_bytes(&self.name, depth) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> afast/src/js/mod.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 26 | let kind_type = self.kind.gen_js_type(); [INFO] [stdout] | ---------------------------------------- unnecessary `let` binding [INFO] [stdout] 27 | kind_type [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 26 ~ [INFO] [stdout] 27 ~ self.kind.gen_js_type() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> afast/src/js/mod.rs:76:17 [INFO] [stdout] | [INFO] [stdout] 76 | code.push_str("}"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `code.push('}')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] = note: `#[warn(clippy::single_char_add_str)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/js/mod.rs:112:25 [INFO] [stdout] | [INFO] [stdout] 112 | Kind::I8 => format!("_b2.rI8()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rI8()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/js/mod.rs:113:26 [INFO] [stdout] | [INFO] [stdout] 113 | Kind::I16 => format!("_b2.rI16()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rI16()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/js/mod.rs:114:26 [INFO] [stdout] | [INFO] [stdout] 114 | Kind::I32 => format!("_b2.rI32()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rI32()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/js/mod.rs:115:26 [INFO] [stdout] | [INFO] [stdout] 115 | Kind::I64 => format!("_b2.rI64()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rI64()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/js/mod.rs:116:27 [INFO] [stdout] | [INFO] [stdout] 116 | Kind::I128 => format!("_b2.rI128()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rI128()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/js/mod.rs:117:25 [INFO] [stdout] | [INFO] [stdout] 117 | Kind::U8 => format!("_b2.rU8()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rU8()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/js/mod.rs:118:26 [INFO] [stdout] | [INFO] [stdout] 118 | Kind::U16 => format!("_b2.rU16()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rU16()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/js/mod.rs:119:26 [INFO] [stdout] | [INFO] [stdout] 119 | Kind::U32 => format!("_b2.rU32()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rU32()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/js/mod.rs:120:26 [INFO] [stdout] | [INFO] [stdout] 120 | Kind::U64 => format!("_b2.rU64()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rU64()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/js/mod.rs:121:27 [INFO] [stdout] | [INFO] [stdout] 121 | Kind::U128 => format!("_b2.rU128()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rU128()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/js/mod.rs:122:26 [INFO] [stdout] | [INFO] [stdout] 122 | Kind::F32 => format!("_b2.rF32()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rF32()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/js/mod.rs:123:26 [INFO] [stdout] | [INFO] [stdout] 123 | Kind::F64 => format!("_b2.rF64()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rF64()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/js/mod.rs:124:27 [INFO] [stdout] | [INFO] [stdout] 124 | Kind::Bool => format!("_b2.rB()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rB()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/js/mod.rs:125:29 [INFO] [stdout] | [INFO] [stdout] 125 | Kind::String => format!("_b2.rS()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rS()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: parameter is only used in recursion [INFO] [stdout] --> afast/src/js/mod.rs:109:35 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn gen_bytes_to_js(&self, depth: usize) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth` [INFO] [stdout] | [INFO] [stdout] note: parameter used here [INFO] [stdout] --> afast/src/js/mod.rs:130:42 [INFO] [stdout] | [INFO] [stdout] 130 | kind.gen_bytes_to_js(depth + 1) [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | format!("{}: {}", f.name, f.kind.gen_bytes_to_js(depth + 1)) [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | elements[0].gen_bytes_to_js(depth + 1) [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | .map(|e| e.gen_bytes_to_js(depth + 1)) [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | .map(|f| format!("{}:{}", f.name, f.kind.gen_bytes_to_js(depth + 1))) [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | .map(|e| e.gen_bytes_to_js(depth + 1)) [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | kind.gen_bytes_to_js(depth + 1) [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#only_used_in_recursion [INFO] [stdout] = note: `#[warn(clippy::only_used_in_recursion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> afast/src/js/mod.rs:488:14 [INFO] [stdout] | [INFO] [stdout] 488 | .or_insert_with(Vec::new) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> afast/src/js/mod.rs:582:31 [INFO] [stdout] | [INFO] [stdout] 582 | simple_js_builder(&handlers) [INFO] [stdout] | ^^^^^^^^^ help: change this to: `handlers` [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] --> afast/src/js/mod.rs:592:31 [INFO] [stdout] | [INFO] [stdout] 592 | simple_js_builder(&handlers) [INFO] [stdout] | ^^^^^^^^^ help: change this to: `handlers` [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: returning the result of a `let` binding from a block [INFO] [stdout] --> afast/src/ts/mod.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 17 | let kind_code = self.kind.gen_ts_to_bytes(&self.name, depth); [INFO] [stdout] | ------------------------------------------------------------- unnecessary `let` binding [INFO] [stdout] 18 | kind_code [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 17 ~ [INFO] [stdout] 18 ~ self.kind.gen_ts_to_bytes(&self.name, depth) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> afast/src/ts/mod.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 27 | let kind_type = self.kind.gen_ts_type(); [INFO] [stdout] | ---------------------------------------- unnecessary `let` binding [INFO] [stdout] 28 | kind_type [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 27 ~ [INFO] [stdout] 28 ~ self.kind.gen_ts_type() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> afast/src/ts/mod.rs:77:17 [INFO] [stdout] | [INFO] [stdout] 77 | code.push_str("}"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `code.push('}')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/ts/mod.rs:113:25 [INFO] [stdout] | [INFO] [stdout] 113 | Kind::I8 => format!("_b2.rI8()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rI8()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/ts/mod.rs:114:26 [INFO] [stdout] | [INFO] [stdout] 114 | Kind::I16 => format!("_b2.rI16()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rI16()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/ts/mod.rs:115:26 [INFO] [stdout] | [INFO] [stdout] 115 | Kind::I32 => format!("_b2.rI32()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rI32()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/ts/mod.rs:116:26 [INFO] [stdout] | [INFO] [stdout] 116 | Kind::I64 => format!("_b2.rI64()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rI64()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/ts/mod.rs:117:27 [INFO] [stdout] | [INFO] [stdout] 117 | Kind::I128 => format!("_b2.rI128()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rI128()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/ts/mod.rs:118:25 [INFO] [stdout] | [INFO] [stdout] 118 | Kind::U8 => format!("_b2.rU8()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rU8()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/ts/mod.rs:119:26 [INFO] [stdout] | [INFO] [stdout] 119 | Kind::U16 => format!("_b2.rU16()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rU16()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/ts/mod.rs:120:26 [INFO] [stdout] | [INFO] [stdout] 120 | Kind::U32 => format!("_b2.rU32()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rU32()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/ts/mod.rs:121:26 [INFO] [stdout] | [INFO] [stdout] 121 | Kind::U64 => format!("_b2.rU64()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rU64()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/ts/mod.rs:122:27 [INFO] [stdout] | [INFO] [stdout] 122 | Kind::U128 => format!("_b2.rU128()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rU128()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/ts/mod.rs:123:26 [INFO] [stdout] | [INFO] [stdout] 123 | Kind::F32 => format!("_b2.rF32()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rF32()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/ts/mod.rs:124:26 [INFO] [stdout] | [INFO] [stdout] 124 | Kind::F64 => format!("_b2.rF64()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rF64()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/ts/mod.rs:125:27 [INFO] [stdout] | [INFO] [stdout] 125 | Kind::Bool => format!("_b2.rB()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rB()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> afast/src/ts/mod.rs:126:29 [INFO] [stdout] | [INFO] [stdout] 126 | Kind::String => format!("_b2.rS()"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"_b2.rS()".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: parameter is only used in recursion [INFO] [stdout] --> afast/src/ts/mod.rs:110:35 [INFO] [stdout] | [INFO] [stdout] 110 | pub fn gen_bytes_to_ts(&self, depth: usize) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth` [INFO] [stdout] | [INFO] [stdout] note: parameter used here [INFO] [stdout] --> afast/src/ts/mod.rs:131:42 [INFO] [stdout] | [INFO] [stdout] 131 | kind.gen_bytes_to_ts(depth + 1) [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | format!("{}: {}", f.name, f.kind.gen_bytes_to_ts(depth + 1)) [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | elements[0].gen_bytes_to_ts(depth + 1) [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | .map(|e| e.gen_bytes_to_ts(depth + 1)) [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | .map(|f| format!("{}:{}", f.name, f.kind.gen_bytes_to_ts(depth + 1))) [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | .map(|e| e.gen_bytes_to_ts(depth + 1)) [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | kind.gen_bytes_to_ts(depth + 1) [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#only_used_in_recursion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> afast/src/ts/mod.rs:312:9 [INFO] [stdout] | [INFO] [stdout] 312 | / if let Some(tag) = tag { [INFO] [stdout] 313 | | if let Some(ref required_msg) = tag.required { [INFO] [stdout] 314 | | validations.push(format!( [INFO] [stdout] 315 | | "if({0}===undefined||{0}===null) throw new AFastValidateError({1:?});", [INFO] [stdout] ... | [INFO] [stdout] 319 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 312 ~ if let Some(tag) = tag [INFO] [stdout] 313 ~ && let Some(ref required_msg) = tag.required { [INFO] [stdout] 314 | validations.push(format!( [INFO] [stdout] ... [INFO] [stdout] 317 | )); [INFO] [stdout] 318 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> afast/src/ts/mod.rs:495:14 [INFO] [stdout] | [INFO] [stdout] 495 | .or_insert_with(Vec::new) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> afast/src/ts/mod.rs:591:31 [INFO] [stdout] | [INFO] [stdout] 591 | simple_ts_builder(&handlers) [INFO] [stdout] | ^^^^^^^^^ help: change this to: `handlers` [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] --> afast/src/ts/mod.rs:602:31 [INFO] [stdout] | [INFO] [stdout] 602 | simple_ts_builder(&handlers) [INFO] [stdout] | ^^^^^^^^^ help: change this to: `handlers` [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 operation has no effect [INFO] [stdout] --> afast/src/lib.rs:466:34 [INFO] [stdout] | [INFO] [stdout] 466 | ... body[size + 0], [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] = note: `#[warn(clippy::identity_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> afast/src/lib.rs:968:63 [INFO] [stdout] | [INFO] [stdout] 968 | ... if path.is_empty() || !DIST_DIR.get_file(path).is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `DIST_DIR.get_file(path).is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> afast/src/lib.rs:919:45 [INFO] [stdout] | [INFO] [stdout] 919 | / ... return Ok::<_, std::convert::Infallible>( [INFO] [stdout] 920 | | ... hyper::Response::builder() [INFO] [stdout] 921 | | ... .status(200) [INFO] [stdout] 922 | | ... .header( [INFO] [stdout] ... | [INFO] [stdout] 927 | | ... .unwrap(), [INFO] [stdout] 928 | | ... ); [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] 919 ~ Ok::<_, std::convert::Infallible>( [INFO] [stdout] 920 + hyper::Response::builder() [INFO] [stdout] 921 + .status(200) [INFO] [stdout] 922 + .header( [INFO] [stdout] 923 + hyper::http::header::CONTENT_TYPE, [INFO] [stdout] 924 + "application/json; charset=utf-8", [INFO] [stdout] 925 + ) [INFO] [stdout] 926 + .body(http_body_util::Full::::new(code.into())) [INFO] [stdout] 927 + .unwrap(), [INFO] [stdout] 928 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> afast/src/lib.rs:941:45 [INFO] [stdout] | [INFO] [stdout] 941 | / ... return Ok::<_, std::convert::Infallible>( [INFO] [stdout] 942 | | ... hyper::Response::builder() [INFO] [stdout] 943 | | ... .status(200) [INFO] [stdout] 944 | | ... .header( [INFO] [stdout] ... | [INFO] [stdout] 949 | | ... .unwrap(), [INFO] [stdout] 950 | | ... ); [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] 941 ~ Ok::<_, std::convert::Infallible>( [INFO] [stdout] 942 + hyper::Response::builder() [INFO] [stdout] 943 + .status(200) [INFO] [stdout] 944 + .header( [INFO] [stdout] 945 + hyper::http::header::CONTENT_TYPE, [INFO] [stdout] 946 + "application/json; charset=utf-8", [INFO] [stdout] 947 + ) [INFO] [stdout] 948 + .body(http_body_util::Full::::new(code.into())) [INFO] [stdout] 949 + .unwrap(), [INFO] [stdout] 950 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> afast/src/lib.rs:952:45 [INFO] [stdout] | [INFO] [stdout] 952 | / ... return Ok::<_, std::convert::Infallible>( [INFO] [stdout] 953 | | ... hyper::Response::builder() [INFO] [stdout] 954 | | ... .status(404) [INFO] [stdout] 955 | | ... .body(http_body_util::Full::::new( [INFO] [stdout] ... | [INFO] [stdout] 958 | | ... .unwrap(), [INFO] [stdout] 959 | | ... ); [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] 952 ~ Ok::<_, std::convert::Infallible>( [INFO] [stdout] 953 + hyper::Response::builder() [INFO] [stdout] 954 + .status(404) [INFO] [stdout] 955 + .body(http_body_util::Full::::new( [INFO] [stdout] 956 + "404 Not Found".into(), [INFO] [stdout] 957 + )) [INFO] [stdout] 958 + .unwrap(), [INFO] [stdout] 959 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> afast/src/lib.rs:977:45 [INFO] [stdout] | [INFO] [stdout] 977 | / ... return Ok::<_, std::convert::Infallible>( [INFO] [stdout] 978 | | ... hyper::Response::builder() [INFO] [stdout] 979 | | ... .status(200) [INFO] [stdout] 980 | | ... .header( [INFO] [stdout] ... | [INFO] [stdout] 987 | | ... .unwrap(), [INFO] [stdout] 988 | | ... ); [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] 977 ~ Ok::<_, std::convert::Infallible>( [INFO] [stdout] 978 + hyper::Response::builder() [INFO] [stdout] 979 + .status(200) [INFO] [stdout] 980 + .header( [INFO] [stdout] 981 + hyper::http::header::CONTENT_TYPE, [INFO] [stdout] 982 + format!("{}; charset=utf-8", mime.as_ref()), [INFO] [stdout] 983 + ) [INFO] [stdout] 984 + .body(http_body_util::Full::::new( [INFO] [stdout] 985 + hyper::body::Bytes::from(file.contents()), [INFO] [stdout] 986 + )) [INFO] [stdout] 987 + .unwrap(), [INFO] [stdout] 988 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> afast/src/lib.rs:990:45 [INFO] [stdout] | [INFO] [stdout] 990 | / ... return Ok::<_, std::convert::Infallible>( [INFO] [stdout] 991 | | ... hyper::Response::builder() [INFO] [stdout] 992 | | ... .status(404) [INFO] [stdout] 993 | | ... .body(http_body_util::Full::::new( [INFO] [stdout] ... | [INFO] [stdout] 996 | | ... .unwrap(), [INFO] [stdout] 997 | | ... ); [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] 990 ~ Ok::<_, std::convert::Infallible>( [INFO] [stdout] 991 + hyper::Response::builder() [INFO] [stdout] 992 + .status(404) [INFO] [stdout] 993 + .body(http_body_util::Full::::new( [INFO] [stdout] 994 + "404 Not Found".into(), [INFO] [stdout] 995 + )) [INFO] [stdout] 996 + .unwrap(), [INFO] [stdout] 997 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> afast/src/lib.rs:1009:37 [INFO] [stdout] | [INFO] [stdout] 1009 | / ... return Ok::<_, std::convert::Infallible>( [INFO] [stdout] 1010 | | ... hyper::Response::builder() [INFO] [stdout] 1011 | | ... .status(405) [INFO] [stdout] 1012 | | ... .body(http_body_util::Full::::new( [INFO] [stdout] ... | [INFO] [stdout] 1015 | | ... .unwrap(), [INFO] [stdout] 1016 | | ... ); [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] 1009 ~ Ok::<_, std::convert::Infallible>( [INFO] [stdout] 1010 + hyper::Response::builder() [INFO] [stdout] 1011 + .status(405) [INFO] [stdout] 1012 + .body(http_body_util::Full::::new( [INFO] [stdout] 1013 + "405 Method Not Allowed".into(), [INFO] [stdout] 1014 + )) [INFO] [stdout] 1015 + .unwrap(), [INFO] [stdout] 1016 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> afast/src/lib.rs:678:58 [INFO] [stdout] | [INFO] [stdout] 678 | ... body[size + 0], [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> afast/src/lib.rs:776:46 [INFO] [stdout] | [INFO] [stdout] 776 | ... body[size + 0], [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 32.90s [INFO] running `Command { std: "docker" "inspect" "24f52a3463648ecd9ba5c9c2ec715373ae7818b2ca6b1deecec5160a0815f62b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "24f52a3463648ecd9ba5c9c2ec715373ae7818b2ca6b1deecec5160a0815f62b", kill_on_drop: false }` [INFO] [stdout] 24f52a3463648ecd9ba5c9c2ec715373ae7818b2ca6b1deecec5160a0815f62b