[INFO] cloning repository https://github.com/OjasMarathe/ZKCollab [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/OjasMarathe/ZKCollab" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOjasMarathe%2FZKCollab", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOjasMarathe%2FZKCollab'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 4fa055f498d91c9aedf0a114ffa0b7dedd87ef74 [INFO] linting OjasMarathe/ZKCollab against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOjasMarathe%2FZKCollab" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-6-tc1/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/OjasMarathe/ZKCollab [INFO] finished tweaking git repo https://github.com/OjasMarathe/ZKCollab [INFO] tweaked toml for git repo https://github.com/OjasMarathe/ZKCollab written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/OjasMarathe/ZKCollab 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/OjasMarathe/ZKCollab already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: package.hex [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded scan_fmt v0.2.6 [INFO] [stderr] Downloaded dyn-hash v0.2.2 [INFO] [stderr] Downloaded tract-onnx-opl v0.21.13 [INFO] [stderr] Downloaded doc-comment v0.3.4 [INFO] [stderr] Downloaded time-core v0.1.7 [INFO] [stderr] Downloaded string-interner v0.15.0 [INFO] [stderr] Downloaded keccak-hash v0.8.0 [INFO] [stderr] Downloaded plonky2_util v0.2.0 [INFO] [stderr] Downloaded plonky2_maybe_rayon v0.2.0 [INFO] [stderr] Downloaded anymap3 v1.0.1 [INFO] [stderr] Downloaded liquid v0.26.8 [INFO] [stderr] Downloaded kstring v2.0.2 [INFO] [stderr] Downloaded unroll v0.1.5 [INFO] [stderr] Downloaded plonky2_field v0.2.2 [INFO] [stderr] Downloaded tract-nnef v0.21.13 [INFO] [stderr] Downloaded tract-hir v0.21.13 [INFO] [stderr] Downloaded flate2 v1.1.8 [INFO] [stderr] Downloaded cc v1.2.53 [INFO] [stderr] Downloaded tract-onnx v0.21.13 [INFO] [stderr] Downloaded liquid-core v0.26.8 [INFO] [stderr] Downloaded liquid-lib v0.26.8 [INFO] [stderr] Downloaded time-macros v0.2.25 [INFO] [stderr] Downloaded tract-data v0.21.13 [INFO] [stderr] Downloaded time v0.3.45 [INFO] [stderr] Downloaded tract-core v0.21.13 [INFO] [stderr] Downloaded tract-linalg v0.21.13 [INFO] [stderr] Downloaded find-msvc-tools v0.1.8 [INFO] [stderr] Downloaded liquid-derive v0.26.8 [INFO] [stderr] Downloaded rustfft v6.4.1 [INFO] [stderr] Downloaded plonky2 v0.2.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 3264bc4e0fae1330256c5adbf0a7c4aaca0df5c15278d89e1e618aa239cb8da2 [INFO] running `Command { std: "docker" "start" "-a" "3264bc4e0fae1330256c5adbf0a7c4aaca0df5c15278d89e1e618aa239cb8da2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3264bc4e0fae1330256c5adbf0a7c4aaca0df5c15278d89e1e618aa239cb8da2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3264bc4e0fae1330256c5adbf0a7c4aaca0df5c15278d89e1e618aa239cb8da2", kill_on_drop: false }` [INFO] [stdout] 3264bc4e0fae1330256c5adbf0a7c4aaca0df5c15278d89e1e618aa239cb8da2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 76a2c227e1ac76bd62b16719ee263de10b7a49c6e399b4933827cfdf57a8888a [INFO] running `Command { std: "docker" "start" "-a" "76a2c227e1ac76bd62b16719ee263de10b7a49c6e399b4933827cfdf57a8888a", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: package.hex [INFO] [stderr] Compiling quote v1.0.43 [INFO] [stderr] Compiling libm v0.2.11 [INFO] [stderr] Checking cfg-if v1.0.4 [INFO] [stderr] Compiling zerocopy v0.8.33 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling libc v0.2.180 [INFO] [stderr] Compiling crunchy v0.2.4 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Checking crossbeam-deque v0.8.6 [INFO] [stderr] Checking getrandom v0.2.17 [INFO] [stderr] Checking rayon v1.11.0 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling memchr v2.7.6 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling const-random-macro v0.1.16 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Compiling ucd-trie v0.1.7 [INFO] [stderr] Checking const-random v0.1.18 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Compiling pest v2.8.5 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling time-core v0.1.7 [INFO] [stderr] Compiling regex-syntax v0.8.8 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling deranged v0.5.5 [INFO] [stderr] Compiling pest_meta v2.8.5 [INFO] [stderr] Compiling time-macros v0.2.25 [INFO] [stderr] Compiling pest_generator v2.8.5 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Compiling itoa v1.0.17 [INFO] [stderr] Compiling time v0.3.45 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling doc-comment v0.3.4 [INFO] [stderr] Compiling anymap2 v0.13.0 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling anyhow v1.0.100 [INFO] [stderr] Compiling matrixmultiply v0.3.10 [INFO] [stderr] Compiling tinyvec_macros v0.1.1 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling liquid-derive v0.26.8 [INFO] [stderr] Compiling pest_derive v2.8.5 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling tinyvec v1.10.0 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking rawpointer v0.2.1 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Compiling find-msvc-tools v0.1.8 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Compiling cc v1.2.53 [INFO] [stderr] Checking lock_api v0.4.14 [INFO] [stderr] Compiling unicode-normalization v0.1.25 [INFO] [stderr] Compiling half v2.4.1 [INFO] [stderr] Checking minimal-lexical v0.2.1 [INFO] [stderr] Checking log v0.4.29 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Checking crypto-common v0.1.7 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking itertools v0.12.1 [INFO] [stderr] Checking dyn-clone v1.0.20 [INFO] [stderr] Checking dyn-hash v0.2.2 [INFO] [stderr] Checking maplit v1.0.2 [INFO] [stderr] Checking strength_reduce v0.2.4 [INFO] [stderr] Checking downcast-rs v1.2.1 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Checking transpose v0.2.3 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Compiling derive-new v0.5.9 [INFO] [stderr] Checking primal-check v0.3.4 [INFO] [stderr] Checking linux-raw-sys v0.11.0 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Checking bit-vec v0.6.3 [INFO] [stderr] Checking bitflags v2.10.0 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Checking bit-set v0.5.3 [INFO] [stderr] Checking rustfft v6.4.1 [INFO] [stderr] Compiling zeroize_derive v1.4.3 [INFO] [stderr] Compiling ark-serialize-derive v0.4.2 [INFO] [stderr] Checking ark-std v0.4.0 [INFO] [stderr] Checking simd-adler32 v0.3.8 [INFO] [stderr] Checking adler2 v2.0.1 [INFO] [stderr] Checking anymap3 v1.0.1 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking ndarray v0.16.1 [INFO] [stderr] Compiling kstring v2.0.2 [INFO] [stderr] Checking scan_fmt v0.2.6 [INFO] [stderr] Compiling liquid-core v0.26.8 [INFO] [stderr] Checking zeroize v1.8.2 [INFO] [stderr] Checking ark-serialize v0.4.2 [INFO] [stderr] Checking string-interner v0.15.0 [INFO] [stderr] Compiling ark-ff-asm v0.4.2 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Checking filetime v0.2.27 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Compiling ark-ff-macros v0.4.2 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Checking xattr v1.6.1 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Checking tar v0.4.44 [INFO] [stderr] Checking uint v0.9.5 [INFO] [stderr] Checking flate2 v1.1.8 [INFO] [stderr] Checking fixed-hash v0.7.0 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking hashbrown v0.13.2 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Compiling liquid-lib v0.26.8 [INFO] [stderr] Compiling zmij v1.0.16 [INFO] [stderr] Checking num v0.4.3 [INFO] [stderr] Checking primitive-types v0.10.1 [INFO] [stderr] Checking ark-ff v0.4.2 [INFO] [stderr] Compiling unroll v0.1.5 [INFO] [stderr] Checking rand_distr v0.4.3 [INFO] [stderr] Checking itertools v0.11.0 [INFO] [stderr] Checking bytes v1.11.0 [INFO] [stderr] Checking hashbrown v0.16.1 [INFO] [stderr] Compiling prost-derive v0.11.9 [INFO] [stderr] Checking tract-data v0.21.13 [INFO] [stderr] Checking plonky2_util v0.2.0 [INFO] [stderr] Checking equivalent v1.0.2 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Checking keccak-hash v0.8.0 [INFO] [stderr] Checking indexmap v2.13.0 [INFO] [stderr] Checking plonky2_maybe_rayon v0.2.0 [INFO] [stderr] Compiling liquid v0.26.8 [INFO] [stderr] Checking is-terminal v0.4.17 [INFO] [stderr] Checking memmap2 v0.9.9 [INFO] [stderr] Checking web-time v1.1.0 [INFO] [stderr] Checking ryu v1.0.22 [INFO] [stderr] Checking keccak v0.1.5 [INFO] [stderr] Checking termcolor v1.4.1 [INFO] [stderr] Checking unsafe-libyaml v0.2.11 [INFO] [stderr] Checking humantime v2.3.0 [INFO] [stderr] Checking plonky2_field v0.2.2 [INFO] [stderr] Checking sha3 v0.10.8 [INFO] [stderr] Checking prost v0.11.9 [INFO] [stderr] Checking env_logger v0.10.2 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Compiling tract-linalg v0.21.13 [INFO] [stderr] Checking plonky2 v0.2.2 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Checking ark-poly v0.4.2 [INFO] [stderr] Checking ark-ec v0.4.2 [INFO] [stderr] Checking tract-core v0.21.13 [INFO] [stderr] Checking ark-bn254 v0.4.0 [INFO] [stderr] Checking tract-nnef v0.21.13 [INFO] [stderr] Checking tract-hir v0.21.13 [INFO] [stderr] Checking tract-onnx-opl v0.21.13 [INFO] [stderr] Checking tract-onnx v0.21.13 [INFO] [stderr] Checking zk_torch v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/graph.rs:342:7 [INFO] [stdout] | [INFO] [stdout] 342 | basic_block: basic_block, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `basic_block` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/graph.rs:343:7 [INFO] [stdout] | [INFO] [stdout] 343 | inputs: inputs, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `inputs` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/cast.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | input_SF: input_SF, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `input_SF` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/cast.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | output_SF: output_SF, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `output_SF` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/clip.rs:23:54 [INFO] [stdout] | [INFO] [stdout] 23 | let clip = graph.addBB(Box::new(ClipBasicBlock { min: min, max: max })); [INFO] [stdout] | ^^^^^^^^ help: replace it with: `min` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/clip.rs:23:64 [INFO] [stdout] | [INFO] [stdout] 23 | let clip = graph.addBB(Box::new(ClipBasicBlock { min: min, max: max })); [INFO] [stdout] | ^^^^^^^^ help: replace it with: `max` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/clip.rs:27:48 [INFO] [stdout] | [INFO] [stdout] 27 | setup: Some((Box::new(ClipBasicBlock { min: min, max: max }), *onnx::CQ_RANGE_LOWER, *onnx::CQ_RANGE)), [INFO] [stdout] | ^^^^^^^^ help: replace it with: `min` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/clip.rs:27:58 [INFO] [stdout] | [INFO] [stdout] 27 | setup: Some((Box::new(ClipBasicBlock { min: min, max: max }), *onnx::CQ_RANGE_LOWER, *onnx::CQ_RANGE)), [INFO] [stdout] | ^^^^^^^^ help: replace it with: `max` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around closure body [INFO] [stdout] --> src/layer/conv.rs:21:21 [INFO] [stdout] | [INFO] [stdout] 21 | .map(|(i, x)| (strides[i] * (*x - 1) + ch_dims[i] - (ch_dims[i] - 1 - padding[i][0]) - (ch_dims[i] - 1 - padding[i][1]))) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 21 - .map(|(i, x)| (strides[i] * (*x - 1) + ch_dims[i] - (ch_dims[i] - 1 - padding[i][0]) - (ch_dims[i] - 1 - padding[i][1]))) [INFO] [stdout] 21 + .map(|(i, x)| strides[i] * (*x - 1) + ch_dims[i] - (ch_dims[i] - 1 - padding[i][0]) - (ch_dims[i] - 1 - padding[i][1]) ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/einsum.rs:90:47 [INFO] [stdout] | [INFO] [stdout] 90 | basic_block: Box::new(PermuteBasicBlock { permutation: permutation }), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `permutation` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/flatten.rs:46:7 [INFO] [stdout] | [INFO] [stdout] 46 | permutation: permutation, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `permutation` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/lstm.rs:75:49 [INFO] [stdout] | [INFO] [stdout] 75 | basic_block: Box::new(PermuteBasicBlock { permutation: permutation }), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `permutation` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/lstm.rs:169:51 [INFO] [stdout] | [INFO] [stdout] 169 | basic_block: Box::new(PermuteBasicBlock { permutation: permutation }), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `permutation` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/matmul.rs:27:49 [INFO] [stdout] | [INFO] [stdout] 27 | basic_block: Box::new(PermuteBasicBlock { permutation: permutation }), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `permutation` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/norm.rs:69:49 [INFO] [stdout] | [INFO] [stdout] 69 | basic_block: Box::new(PermuteBasicBlock { permutation: permutation }), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `permutation` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/norm.rs:307:49 [INFO] [stdout] | [INFO] [stdout] 307 | basic_block: Box::new(PermuteBasicBlock { permutation: permutation }), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `permutation` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/range.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | start: start, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `start` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/range.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | limit: limit, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `limit` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/range.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | delta: delta, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `delta` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/reducemean.rs:51:49 [INFO] [stdout] | [INFO] [stdout] 51 | basic_block: Box::new(PermuteBasicBlock { permutation: permutation }), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `permutation` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/split.rs:40:51 [INFO] [stdout] | [INFO] [stdout] 40 | basic_block: Box::new(PermuteBasicBlock { permutation: permutation }), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `permutation` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/squeeze.rs:128:51 [INFO] [stdout] | [INFO] [stdout] 128 | basic_block: Box::new(PermuteBasicBlock { permutation: permutation }), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `permutation` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/topk.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | descending: descending, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `descending` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_owned_array::, D>>::into_raw_vec`: Use .into_raw_vec_and_offset() instead [INFO] [stdout] --> src/basic_block/add.rs:26:31 [INFO] [stdout] | [INFO] [stdout] 26 | raw: outputs[0].clone().into_raw_vec(), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/graph.rs:342:7 [INFO] [stdout] | [INFO] [stdout] 342 | basic_block: basic_block, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `basic_block` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/graph.rs:343:7 [INFO] [stdout] | [INFO] [stdout] 343 | inputs: inputs, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `inputs` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/cast.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | input_SF: input_SF, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `input_SF` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/cast.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | output_SF: output_SF, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `output_SF` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/clip.rs:23:54 [INFO] [stdout] | [INFO] [stdout] 23 | let clip = graph.addBB(Box::new(ClipBasicBlock { min: min, max: max })); [INFO] [stdout] | ^^^^^^^^ help: replace it with: `min` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/clip.rs:23:64 [INFO] [stdout] | [INFO] [stdout] 23 | let clip = graph.addBB(Box::new(ClipBasicBlock { min: min, max: max })); [INFO] [stdout] | ^^^^^^^^ help: replace it with: `max` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/clip.rs:27:48 [INFO] [stdout] | [INFO] [stdout] 27 | setup: Some((Box::new(ClipBasicBlock { min: min, max: max }), *onnx::CQ_RANGE_LOWER, *onnx::CQ_RANGE)), [INFO] [stdout] | ^^^^^^^^ help: replace it with: `min` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/clip.rs:27:58 [INFO] [stdout] | [INFO] [stdout] 27 | setup: Some((Box::new(ClipBasicBlock { min: min, max: max }), *onnx::CQ_RANGE_LOWER, *onnx::CQ_RANGE)), [INFO] [stdout] | ^^^^^^^^ help: replace it with: `max` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around closure body [INFO] [stdout] --> src/layer/conv.rs:21:21 [INFO] [stdout] | [INFO] [stdout] 21 | .map(|(i, x)| (strides[i] * (*x - 1) + ch_dims[i] - (ch_dims[i] - 1 - padding[i][0]) - (ch_dims[i] - 1 - padding[i][1]))) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 21 - .map(|(i, x)| (strides[i] * (*x - 1) + ch_dims[i] - (ch_dims[i] - 1 - padding[i][0]) - (ch_dims[i] - 1 - padding[i][1]))) [INFO] [stdout] 21 + .map(|(i, x)| strides[i] * (*x - 1) + ch_dims[i] - (ch_dims[i] - 1 - padding[i][0]) - (ch_dims[i] - 1 - padding[i][1]) ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/einsum.rs:90:47 [INFO] [stdout] | [INFO] [stdout] 90 | basic_block: Box::new(PermuteBasicBlock { permutation: permutation }), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `permutation` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/flatten.rs:46:7 [INFO] [stdout] | [INFO] [stdout] 46 | permutation: permutation, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `permutation` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/lstm.rs:75:49 [INFO] [stdout] | [INFO] [stdout] 75 | basic_block: Box::new(PermuteBasicBlock { permutation: permutation }), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `permutation` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/lstm.rs:169:51 [INFO] [stdout] | [INFO] [stdout] 169 | basic_block: Box::new(PermuteBasicBlock { permutation: permutation }), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `permutation` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/matmul.rs:27:49 [INFO] [stdout] | [INFO] [stdout] 27 | basic_block: Box::new(PermuteBasicBlock { permutation: permutation }), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `permutation` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/norm.rs:69:49 [INFO] [stdout] | [INFO] [stdout] 69 | basic_block: Box::new(PermuteBasicBlock { permutation: permutation }), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `permutation` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/norm.rs:307:49 [INFO] [stdout] | [INFO] [stdout] 307 | basic_block: Box::new(PermuteBasicBlock { permutation: permutation }), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `permutation` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/range.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | start: start, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `start` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/range.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | limit: limit, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `limit` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/range.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | delta: delta, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `delta` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/reducemean.rs:51:49 [INFO] [stdout] | [INFO] [stdout] 51 | basic_block: Box::new(PermuteBasicBlock { permutation: permutation }), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `permutation` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/split.rs:40:51 [INFO] [stdout] | [INFO] [stdout] 40 | basic_block: Box::new(PermuteBasicBlock { permutation: permutation }), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `permutation` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/squeeze.rs:128:51 [INFO] [stdout] | [INFO] [stdout] 128 | basic_block: Box::new(PermuteBasicBlock { permutation: permutation }), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `permutation` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/layer/topk.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | descending: descending, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `descending` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around closure body [INFO] [stdout] --> src/tests.rs:22:28 [INFO] [stdout] | [INFO] [stdout] 22 | setup.2.iter().map(|y| (y.clone())).collect(), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 22 - setup.2.iter().map(|y| (y.clone())).collect(), [INFO] [stdout] 22 + setup.2.iter().map(|y| y.clone() ).collect(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around closure body [INFO] [stdout] --> src/tests.rs:35:28 [INFO] [stdout] | [INFO] [stdout] 35 | proof.2.iter().map(|y| (*y)).collect(), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 35 - proof.2.iter().map(|y| (*y)).collect(), [INFO] [stdout] 35 + proof.2.iter().map(|y| *y ).collect(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/training/mod.rs:520:5 [INFO] [stdout] | [INFO] [stdout] 520 | saved_commitment: saved_commitment, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `saved_commitment` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/training/mod.rs:526:6 [INFO] [stdout] | [INFO] [stdout] 526 | saved_commitment: saved_commitment, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `saved_commitment` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_methods::>::into_shape`: Use `.into_shape_with_order()` or `.to_shape()` [INFO] [stdout] --> src/basic_block/max.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | .into_shape(vec![1]) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_owned_array::, D>>::into_raw_vec`: Use .into_raw_vec_and_offset() instead [INFO] [stdout] --> src/basic_block/max.rs:77:33 [INFO] [stdout] | [INFO] [stdout] 77 | raw: outputs[1].clone().into_raw_vec(), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_owned_array::, D>>::into_raw_vec`: Use .into_raw_vec_and_offset() instead [INFO] [stdout] --> src/basic_block/add.rs:26:31 [INFO] [stdout] | [INFO] [stdout] 26 | raw: outputs[0].clone().into_raw_vec(), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_methods::>::into_shape`: Use `.into_shape_with_order()` or `.to_shape()` [INFO] [stdout] --> src/basic_block/reshape.rs:17:27 [INFO] [stdout] | [INFO] [stdout] 17 | vec![inputs[0].view().into_shape(&self.shape[..]).unwrap().to_owned()] [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_methods::>::into_shape`: Use `.into_shape_with_order()` or `.to_shape()` [INFO] [stdout] --> src/basic_block/reshape.rs:22:27 [INFO] [stdout] | [INFO] [stdout] 22 | vec![inputs[0].view().into_shape(&self.shape[..n - 1]).unwrap().to_owned()] [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_methods::>::into_shape`: Use `.into_shape_with_order()` or `.to_shape()` [INFO] [stdout] --> src/basic_block/reshape.rs:36:33 [INFO] [stdout] | [INFO] [stdout] 36 | let view = inputs[0].view().into_shape(&self.shape[..n - 1]).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_owned_array::, D>>::into_raw_vec`: Use .into_raw_vec_and_offset() instead [INFO] [stdout] --> src/basic_block/sub.rs:29:31 [INFO] [stdout] | [INFO] [stdout] 29 | raw: outputs[0].clone().into_raw_vec(), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_methods::>::into_shape`: Use `.into_shape_with_order()` or `.to_shape()` [INFO] [stdout] --> src/layer/flatten.rs:19:40 [INFO] [stdout] | [INFO] [stdout] 19 | let permutation = permutation.view().into_shape(&output_shape.clone()[..]).unwrap().to_owned(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_methods::>::into_shape`: Use `.into_shape_with_order()` or `.to_shape()` [INFO] [stdout] --> src/layer/max.rs:15:17 [INFO] [stdout] | [INFO] [stdout] 15 | let inp = inp.into_shape(IxDyn(&[input_shape.iter().product(), 1])).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_methods::>::into_shape`: Use `.into_shape_with_order()` or `.to_shape()` [INFO] [stdout] --> src/basic_block/max.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | .into_shape(vec![1]) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_owned_array::, D>>::into_raw_vec`: Use .into_raw_vec_and_offset() instead [INFO] [stdout] --> src/basic_block/max.rs:77:33 [INFO] [stdout] | [INFO] [stdout] 77 | raw: outputs[1].clone().into_raw_vec(), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_methods::>::into_shape`: Use `.into_shape_with_order()` or `.to_shape()` [INFO] [stdout] --> src/util/copy_constraint.rs:13:39 [INFO] [stdout] | [INFO] [stdout] 13 | let output_indices = indices.view().into_shape(&output_shape[..]).unwrap().to_owned(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_methods::>::into_shape`: Use `.into_shape_with_order()` or `.to_shape()` [INFO] [stdout] --> src/basic_block/reshape.rs:17:27 [INFO] [stdout] | [INFO] [stdout] 17 | vec![inputs[0].view().into_shape(&self.shape[..]).unwrap().to_owned()] [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_methods::>::into_shape`: Use `.into_shape_with_order()` or `.to_shape()` [INFO] [stdout] --> src/basic_block/reshape.rs:22:27 [INFO] [stdout] | [INFO] [stdout] 22 | vec![inputs[0].view().into_shape(&self.shape[..n - 1]).unwrap().to_owned()] [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_methods::>::into_shape`: Use `.into_shape_with_order()` or `.to_shape()` [INFO] [stdout] --> src/basic_block/reshape.rs:36:33 [INFO] [stdout] | [INFO] [stdout] 36 | let view = inputs[0].view().into_shape(&self.shape[..n - 1]).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_methods::>::into_shape`: Use `.into_shape_with_order()` or `.to_shape()` [INFO] [stdout] --> src/util/prover.rs:14:28 [INFO] [stdout] | [INFO] [stdout] 14 | let range = range.view().into_shape(IxDyn(&[1, size])).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_owned_array::, D>>::into_raw_vec`: Use .into_raw_vec_and_offset() instead [INFO] [stdout] --> src/basic_block/sub.rs:29:31 [INFO] [stdout] | [INFO] [stdout] 29 | raw: outputs[0].clone().into_raw_vec(), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_methods::>::into_shape`: Use `.into_shape_with_order()` or `.to_shape()` [INFO] [stdout] --> src/util/prover.rs:15:30 [INFO] [stdout] | [INFO] [stdout] 15 | let result = result.view().into_shape(IxDyn(&[1, size])).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `first_row` [INFO] [stdout] --> src/basic_block/copy_constraint.rs:253:9 [INFO] [stdout] | [INFO] [stdout] 253 | let first_row = inp_arr.axis_iter(Axis(self.input_dim.ndim() - 1)).next().unwrap().to_owned(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_first_row` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_methods::>::into_shape`: Use `.into_shape_with_order()` or `.to_shape()` [INFO] [stdout] --> src/layer/flatten.rs:19:40 [INFO] [stdout] | [INFO] [stdout] 19 | let permutation = permutation.view().into_shape(&output_shape.clone()[..]).unwrap().to_owned(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_methods::>::into_shape`: Use `.into_shape_with_order()` or `.to_shape()` [INFO] [stdout] --> src/layer/max.rs:15:17 [INFO] [stdout] | [INFO] [stdout] 15 | let inp = inp.into_shape(IxDyn(&[input_shape.iter().product(), 1])).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_methods::>::into_shape`: Use `.into_shape_with_order()` or `.to_shape()` [INFO] [stdout] --> src/tests.rs:63:24 [INFO] [stdout] | [INFO] [stdout] 63 | let temp1 = a.view().into_shape(IxDyn(&[1, N])).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_methods::>::into_shape`: Use `.into_shape_with_order()` or `.to_shape()` [INFO] [stdout] --> src/tests.rs:64:24 [INFO] [stdout] | [INFO] [stdout] 64 | let temp2 = b.view().into_shape(IxDyn(&[1, N])).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_methods::>::into_shape`: Use `.into_shape_with_order()` or `.to_shape()` [INFO] [stdout] --> src/util/copy_constraint.rs:13:39 [INFO] [stdout] | [INFO] [stdout] 13 | let output_indices = indices.view().into_shape(&output_shape[..]).unwrap().to_owned(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_methods::>::into_shape`: Use `.into_shape_with_order()` or `.to_shape()` [INFO] [stdout] --> src/util/prover.rs:14:28 [INFO] [stdout] | [INFO] [stdout] 14 | let range = range.view().into_shape(IxDyn(&[1, size])).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_methods::>::into_shape`: Use `.into_shape_with_order()` or `.to_shape()` [INFO] [stdout] --> src/util/prover.rs:15:30 [INFO] [stdout] | [INFO] [stdout] 15 | let result = result.view().into_shape(IxDyn(&[1, size])).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `first_row` [INFO] [stdout] --> src/basic_block/copy_constraint.rs:253:9 [INFO] [stdout] | [INFO] [stdout] 253 | let first_row = inp_arr.axis_iter(Axis(self.input_dim.ndim() - 1)).next().unwrap().to_owned(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_first_row` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y_pred` [INFO] [stdout] --> src/training/proof.rs:64:7 [INFO] [stdout] | [INFO] [stdout] 64 | let y_pred = vec_to_array1(&w.y_pred); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_pred` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `splat_weights` is never used [INFO] [stdout] --> src/layer/conv.rs:101:4 [INFO] [stdout] | [INFO] [stdout] 101 | fn splat_weights(weights_shape: &Vec, is_transpose: bool) -> Vec>> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `ark_ec::short_weierstrass::Affine` [INFO] [stdout] --> src/basic_block/bool_check.rs:166:8 [INFO] [stdout] | [INFO] [stdout] 166 | (C.into(), srs.Y2A), [INFO] [stdout] | ^^^^^^^^ help: consider removing `.into()`: `C` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binary comparison to literal `Option::None` [INFO] [stdout] --> src/basic_block/copy_constraint.rs:30:11 [INFO] [stdout] | [INFO] [stdout] 30 | assert!(*idx == None || shape.ndim() == idx.as_ref().unwrap().ndim()); [INFO] [stdout] | ^^^^^^^^^^^^ help: use `Option::is_none()` instead: `idx.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none [INFO] [stdout] = note: `#[warn(clippy::partialeq_to_none)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/basic_block/copy_constraint.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 64 | idxs: &[((usize, usize), Option<(usize, usize)>)], [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/basic_block/copy_constraint.rs:67:14 [INFO] [stdout] | [INFO] [stdout] 67 | sigma_map: &HashMap, HashMap<(usize, usize), (usize, usize)>>, [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: binary comparison to literal `Option::None` [INFO] [stdout] --> src/basic_block/copy_constraint.rs:90:8 [INFO] [stdout] | [INFO] [stdout] 90 | if permutation[&i] == None { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `Option::is_none()` instead: `permutation[&i].is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/basic_block/copy_constraint.rs:95:6 [INFO] [stdout] | [INFO] [stdout] 95 | if partition.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!partition.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: length comparison to zero [INFO] [stdout] --> src/basic_block/copy_constraint.rs:127:8 [INFO] [stdout] | [INFO] [stdout] 127 | if nonzero_indices.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!nonzero_indices.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] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/basic_block/copy_constraint.rs:131:6 [INFO] [stdout] | [INFO] [stdout] 131 | if zero_indices.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!zero_indices.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] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/basic_block/copy_constraint.rs:221:10 [INFO] [stdout] | [INFO] [stdout] 221 | if flat_idxs.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!flat_idxs.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] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/basic_block/copy_constraint.rs:238:20 [INFO] [stdout] | [INFO] [stdout] 238 | let sigma_map: HashMap, HashMap<(usize, usize), (usize, usize)>> = partitions [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: unneeded `return` statement [INFO] [stdout] --> src/basic_block/copy_constraint.rs:535:5 [INFO] [stdout] | [INFO] [stdout] 535 | return (proof, vec![], evals); [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] 535 - return (proof, vec![], evals); [INFO] [stdout] 535 + (proof, vec![], evals) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/basic_block/copy_constraint.rs:640:7 [INFO] [stdout] | [INFO] [stdout] 640 | D = D + pad_x * alpha_pows[i + 1] * Lnone_zs[i]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `D += pad_x * alpha_pows[i + 1] * Lnone_zs[i]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/basic_block/cq.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | return (setup, vec![T_x_2], Vec::new()); [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] 56 - return (setup, vec![T_x_2], Vec::new()); [INFO] [stdout] 56 + (setup, vec![T_x_2], Vec::new()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/basic_block/cq.rs:41:46 [INFO] [stdout] | [INFO] [stdout] 41 | let temp2 = domain_N.group_gen_inv().pow(&[(N - 1) as u64]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `[(N - 1) as u64]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/basic_block/cq.rs:42:75 [INFO] [stdout] | [INFO] [stdout] 42 | let scalars: Vec<_> = (0..N).into_par_iter().map(|i| temp * temp2.pow(&[i as u64])).collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `[i as u64]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/basic_block/cq.rs:47:79 [INFO] [stdout] | [INFO] [stdout] 47 | let scalars = (0..N).into_par_iter().map(|i| domain_N.group_gen_inv().pow(&[i as u64])).collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `[i as u64]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/basic_block/cq.rs:153:5 [INFO] [stdout] | [INFO] [stdout] 153 | return (proof, vec![setup.1[0].into(), f_x_2], Vec::new()); [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] 153 - return (proof, vec![setup.1[0].into(), f_x_2], Vec::new()); [INFO] [stdout] 153 + (proof, vec![setup.1[0].into(), f_x_2], Vec::new()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/basic_block/cq.rs:88:10 [INFO] [stdout] | [INFO] [stdout] 88 | if table_dict.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `table_dict.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] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/basic_block/cq.rs:100:19 [INFO] [stdout] | [INFO] [stdout] 100 | m_i.entry(table_dict.get(x).unwrap().clone()).and_modify(|y| *y += 1).or_insert(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*table_dict.get(x).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: iterating on a map's values [INFO] [stdout] --> src/basic_block/cq.rs:115:72 [INFO] [stdout] | [INFO] [stdout] 115 | let A_zero = srs.X1P[0] * (Fr::from(N as u32).inverse().unwrap() * A_i.iter().map(|(_, y)| *y).sum::()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `A_i.values().map(|y| *y)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_kv_map [INFO] [stdout] = note: `#[warn(clippy::iter_kv_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/basic_block/cq2.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | return (setup, setup2, Vec::new()); [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] 64 - return (setup, setup2, Vec::new()); [INFO] [stdout] 64 + (setup, setup2, Vec::new()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/basic_block/cq2.rs:47:48 [INFO] [stdout] | [INFO] [stdout] 47 | let temp2 = domain_N.group_gen_inv().pow(&[(N - 1) as u64]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `[(N - 1) as u64]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/basic_block/cq2.rs:48:69 [INFO] [stdout] | [INFO] [stdout] 48 | let scalars = (0..N).into_par_iter().map(|i| temp * temp2.pow(&[i as u64])).collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `[i as u64]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/basic_block/cq2.rs:57:79 [INFO] [stdout] | [INFO] [stdout] 57 | let scalars = (0..N).into_par_iter().map(|i| domain_N.group_gen_inv().pow(&[i as u64])).collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `[i as u64]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/basic_block/cq2.rs:182:5 [INFO] [stdout] | [INFO] [stdout] 182 | return (proof, vec![(setup.1[0] + setup.1[1] * alpha).into(), f_x_2], Vec::new()); [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] 182 - return (proof, vec![(setup.1[0] + setup.1[1] * alpha).into(), f_x_2], Vec::new()); [INFO] [stdout] 182 + (proof, vec![(setup.1[0] + setup.1[1] * alpha).into(), f_x_2], Vec::new()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/basic_block/cq2.rs:103:10 [INFO] [stdout] | [INFO] [stdout] 103 | if table_dict.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `table_dict.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] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/basic_block/cq2.rs:116:19 [INFO] [stdout] | [INFO] [stdout] 116 | m_i.entry(table_dict.get(&temp).unwrap().clone()).and_modify(|y| *y += 1).or_insert(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*table_dict.get(&temp).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: iterating on a map's keys [INFO] [stdout] --> src/basic_block/cq2.rs:137:35 [INFO] [stdout] | [INFO] [stdout] 137 | let temp: Vec = A_i.iter().map(|(i, _)| Q_i_x_1_A[*i] + Q_i_x_1_B[*i] * alpha).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `A_i.keys().map(|i| Q_i_x_1_A[*i] + Q_i_x_1_B[*i] * alpha)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_kv_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: iterating on a map's values [INFO] [stdout] --> src/basic_block/cq2.rs:140:72 [INFO] [stdout] | [INFO] [stdout] 140 | let A_zero = srs.X1P[0] * (Fr::from(N as u32).inverse().unwrap() * A_i.iter().map(|(_, y)| *y).sum::()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `A_i.values().map(|y| *y)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_kv_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: iterating on a map's keys [INFO] [stdout] --> src/basic_block/cq2.rs:141:31 [INFO] [stdout] | [INFO] [stdout] 141 | let temp: Vec = A_i.iter().map(|(i, _)| L_i_0_x_1[*i]).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `A_i.keys().map(|i| L_i_0_x_1[*i])` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_kv_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `ark_ec::short_weierstrass::Projective` [INFO] [stdout] --> src/basic_block/cq2.rs:182:25 [INFO] [stdout] | [INFO] [stdout] 182 | return (proof, vec![(setup.1[0] + setup.1[1] * alpha).into(), f_x_2], Vec::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `(setup.1[0] + setup.1[1] * alpha)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `ark_ec::short_weierstrass::Projective` [INFO] [stdout] --> src/basic_block/cqlin.rs:39:79 [INFO] [stdout] | [INFO] [stdout] 39 | let mut L_V_i_x: Vec = srs.X1P[..m].into_par_iter().map(|x| (*x).into()).collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: consider removing `.into()`: `(*x)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `ark_ec::short_weierstrass::Projective` [INFO] [stdout] --> src/basic_block/cqlin.rs:103:18 [INFO] [stdout] | [INFO] [stdout] 103 | (setup, vec![M_x.into()], Vec::new()) [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `M_x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/basic_block/cqlin.rs:208:5 [INFO] [stdout] | [INFO] [stdout] 208 | return (proof, vec![M_x_2], Vec::new()); [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] 208 - return (proof, vec![M_x_2], Vec::new()); [INFO] [stdout] 208 + (proof, vec![M_x_2], Vec::new()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp, 4>` which implements the `Copy` trait [INFO] [stdout] --> src/basic_block/cqlin.rs:126:7 [INFO] [stdout] | [INFO] [stdout] 126 | alpha.clone() [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*alpha` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `inputs` [INFO] [stdout] --> src/basic_block/cqlin.rs:141:14 [INFO] [stdout] | [INFO] [stdout] 141 | for i in 0..l { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 141 - for i in 0..l { [INFO] [stdout] 141 + for (i, ) in inputs.iter().enumerate().take(l) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `flat_A` [INFO] [stdout] --> src/basic_block/cqlin.rs:142:16 [INFO] [stdout] | [INFO] [stdout] 142 | for j in 0..m { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 142 - for j in 0..m { [INFO] [stdout] 142 + for (j, ) in flat_A.iter_mut().enumerate().take(m) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `outputs` [INFO] [stdout] --> src/basic_block/cqlin.rs:152:14 [INFO] [stdout] | [INFO] [stdout] 152 | for i in 0..l { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 152 - for i in 0..l { [INFO] [stdout] 152 + for (i, ) in outputs.iter().enumerate().take(l) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `flat_C` [INFO] [stdout] --> src/basic_block/cqlin.rs:153:16 [INFO] [stdout] | [INFO] [stdout] 153 | for j in 0..n { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 153 - for j in 0..n { [INFO] [stdout] 153 + for (j, ) in flat_C.iter_mut().enumerate().take(n) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/basic_block/cqlin.rs:174:53 [INFO] [stdout] | [INFO] [stdout] 174 | let P_R_x: G1Affine = util::msm::(&P_R, &flat_A.raw).into(); [INFO] [stdout] | ^^^^ help: change this to: `P_R` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/basic_block/cqlin.rs:177:29 [INFO] [stdout] | [INFO] [stdout] 177 | let gamma_n = gamma.pow(&[n as u64]); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `[n as u64]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `ark_ec::short_weierstrass::Projective` [INFO] [stdout] --> src/basic_block/cqlin.rs:180:13 [INFO] [stdout] | [INFO] [stdout] 180 | let z = (srs.X1P[0] * z).into(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `(srs.X1P[0] * z)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/basic_block/cqlin.rs:181:40 [INFO] [stdout] | [INFO] [stdout] 181 | let pi = util::msm::(&L_V_i_x, &h_i).into(); [INFO] [stdout] | ^^^^^^^^ help: change this to: `L_V_i_x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/basic_block/cqlin.rs:182:42 [INFO] [stdout] | [INFO] [stdout] 182 | let pi_1 = util::msm::(&L_V_i_x_n, &h_i).into(); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `L_V_i_x_n` [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: useless conversion to the same type: `ark_ec::short_weierstrass::Projective` [INFO] [stdout] --> src/basic_block/cqlin.rs:206:17 [INFO] [stdout] | [INFO] [stdout] 206 | let M_x_2 = (setup.1[0] + srs.Y2P * r[8]).into(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `(setup.1[0] + srs.Y2P * r[8])` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp, 4>` which implements the `Copy` trait [INFO] [stdout] --> src/basic_block/cqlin.rs:238:7 [INFO] [stdout] | [INFO] [stdout] 238 | alpha.clone() [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*alpha` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/basic_block/cqlin.rs:271:29 [INFO] [stdout] | [INFO] [stdout] 271 | let gamma_n = gamma.pow(&[n as u64]); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `[n as u64]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/basic_block/matmul.rs:13:10 [INFO] [stdout] | [INFO] [stdout] 13 | fn index<'a, T>(A: &'a ArrayD, i: usize) -> &T { [INFO] [stdout] | ^^ ^^ ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 13 - fn index<'a, T>(A: &'a ArrayD, i: usize) -> &T { [INFO] [stdout] 13 + fn index(A: &ArrayD, i: usize) -> &T { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/basic_block/matmul.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 167 | return (proof, vec![flat_B_g2], Vec::new()); [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] 167 - return (proof, vec![flat_B_g2], Vec::new()); [INFO] [stdout] 167 + (proof, vec![flat_B_g2], Vec::new()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp, 4>` which implements the `Copy` trait [INFO] [stdout] --> src/basic_block/matmul.rs:72:19 [INFO] [stdout] | [INFO] [stdout] 72 | let alpha = alpha.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*alpha` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp, 4>` which implements the `Copy` trait [INFO] [stdout] --> src/basic_block/matmul.rs:76:15 [INFO] [stdout] | [INFO] [stdout] 76 | (alpha, beta.clone()) [INFO] [stdout] | ^^^^^^^^^^^^ help: try dereferencing it: `*beta` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `flat_A` [INFO] [stdout] --> src/basic_block/matmul.rs:98:16 [INFO] [stdout] | [INFO] [stdout] 98 | for j in 0..m { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 98 - for j in 0..m { [INFO] [stdout] 98 + for (j, ) in flat_A.iter_mut().enumerate().take(m) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `inputs` [INFO] [stdout] --> src/basic_block/matmul.rs:108:14 [INFO] [stdout] | [INFO] [stdout] 108 | for i in 0..n { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 108 - for i in 0..n { [INFO] [stdout] 108 + for (i, ) in inputs.iter().enumerate().take(n) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `flat_B` [INFO] [stdout] --> src/basic_block/matmul.rs:109:16 [INFO] [stdout] | [INFO] [stdout] 109 | for j in 0..m { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 109 - for j in 0..m { [INFO] [stdout] 109 + for (j, ) in flat_B.iter_mut().enumerate().take(m) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `flat_C` [INFO] [stdout] --> src/basic_block/matmul.rs:120:16 [INFO] [stdout] | [INFO] [stdout] 120 | for j in 0..n { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 120 - for j in 0..n { [INFO] [stdout] 120 + for (j, ) in flat_C.iter_mut().enumerate().take(n) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp, 4>` which implements the `Copy` trait [INFO] [stdout] --> src/basic_block/matmul.rs:195:19 [INFO] [stdout] | [INFO] [stdout] 195 | let alpha = alpha.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*alpha` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp, 4>` which implements the `Copy` trait [INFO] [stdout] --> src/basic_block/matmul.rs:199:15 [INFO] [stdout] | [INFO] [stdout] 199 | (alpha, beta.clone()) [INFO] [stdout] | ^^^^^^^^^^^^ help: try dereferencing it: `*beta` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Affine` which implements the `Copy` trait [INFO] [stdout] --> src/basic_block/matmul.rs:212:7 [INFO] [stdout] | [INFO] [stdout] 212 | beta_pow_g2.clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*beta_pow_g2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/basic_block/max.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | return *x; [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] 23 - return *x; [INFO] [stdout] 23 + *x [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/basic_block/max.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | return max; [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] 25 - return max; [INFO] [stdout] 25 + max [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/basic_block/max.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | if (*y < cq_max && *y > *max) || (*max > cq_max && *y < cq_max) || (*y > cq_max && *max > cq_max && *y > *max) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 45 - if (*y < cq_max && *y > *max) || (*max > cq_max && *y < cq_max) || (*y > cq_max && *max > cq_max && *y > *max) { [INFO] [stdout] 45 + if !(*y >= cq_max || *y <= *max && *max <= cq_max) || (*y > cq_max && *max > cq_max && *y > *max) { [INFO] [stdout] | [INFO] [stdout] 45 - if (*y < cq_max && *y > *max) || (*max > cq_max && *y < cq_max) || (*y > cq_max && *max > cq_max && *y > *max) { [INFO] [stdout] 45 + if (*max > cq_max || *y > *max) && *y < cq_max || (*y > cq_max && *max > cq_max && *y > *max) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/basic_block/mul.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | return (vec![C], vec![], Vec::new()); [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] 31 - return (vec![C], vec![], Vec::new()); [INFO] [stdout] 31 + (vec![C], vec![], Vec::new()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/basic_block/mul.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | return (vec![C], vec![gx2], Vec::new()); [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] 75 - return (vec![C], vec![gx2], Vec::new()); [INFO] [stdout] 75 + (vec![C], vec![gx2], Vec::new()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/basic_block/mul.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | / let mut checks = Vec::new(); [INFO] [stdout] 89 | | // Verify f(x)*g(x)=h(x) [INFO] [stdout] 90 | | checks.push(vec![ [INFO] [stdout] 91 | | (inputs[0].first().unwrap().g1, proof.1[0]), [INFO] [stdout] ... | [INFO] [stdout] 97 | | checks.push(vec![(inputs[1].first().unwrap().g1, srs.X2A[0]), (srs.X1A[0], -proof.1[0])]); [INFO] [stdout] | |______________________________________________________________________________________________^ help: consider using the `vec![]` macro: `let checks = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/basic_block/mul.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 136 | return (vec![tx, C], vec![gx2], Vec::new()); [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] 136 - return (vec![tx, C], vec![gx2], Vec::new()); [INFO] [stdout] 136 + (vec![tx, C], vec![gx2], Vec::new()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/basic_block/mul.rs:149:5 [INFO] [stdout] | [INFO] [stdout] 149 | / let mut checks = vec![]; [INFO] [stdout] 150 | | // Verify f(x)*g(x)-h(x)=z(x)t(x) [INFO] [stdout] 151 | | checks.push(vec![ [INFO] [stdout] 152 | | (inputs[0].first().unwrap().g1, proof.1[0]), [INFO] [stdout] ... | [INFO] [stdout] 158 | | checks.push(vec![(inputs[1].first().unwrap().g1, srs.X2A[0]), (srs.X1A[0], -proof.1[0])]); [INFO] [stdout] | |______________________________________________________________________________________________^ help: consider using the `vec![]` macro: `let checks = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `ark_ec::short_weierstrass::Affine` [INFO] [stdout] --> src/basic_block/one_to_one.rs:362:8 [INFO] [stdout] | [INFO] [stdout] 362 | (C.into(), srs.Y2A), [INFO] [stdout] | ^^^^^^^^ help: consider removing `.into()`: `C` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `ark_ec::short_weierstrass::Affine` [INFO] [stdout] --> src/basic_block/ordered.rs:249:8 [INFO] [stdout] | [INFO] [stdout] 249 | (C.into(), srs.Y2A), [INFO] [stdout] | ^^^^^^^^ help: consider removing `.into()`: `C` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/basic_block/permute.rs:152:5 [INFO] [stdout] | [INFO] [stdout] 152 | return (proof, vec![], Vec::new()); [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] 152 - return (proof, vec![], Vec::new()); [INFO] [stdout] 152 + (proof, vec![], Vec::new()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp, 4>` which implements the `Copy` trait [INFO] [stdout] --> src/basic_block/permute.rs:51:7 [INFO] [stdout] | [INFO] [stdout] 51 | alpha.clone() [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*alpha` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `flat_L` [INFO] [stdout] --> src/basic_block/permute.rs:95:16 [INFO] [stdout] | [INFO] [stdout] 95 | for j in 0..m { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 95 - for j in 0..m { [INFO] [stdout] 95 + for (j, ) in flat_L.iter_mut().enumerate().take(m) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `flat_R` [INFO] [stdout] --> src/basic_block/permute.rs:106:16 [INFO] [stdout] | [INFO] [stdout] 106 | for j in 0..m2 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 106 - for j in 0..m2 { [INFO] [stdout] 106 + for (j, ) in flat_R.iter_mut().enumerate().take(m2) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp, 4>` which implements the `Copy` trait [INFO] [stdout] --> src/basic_block/permute.rs:171:7 [INFO] [stdout] | [INFO] [stdout] 171 | alpha.clone() [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*alpha` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Affine` which implements the `Copy` trait [INFO] [stdout] --> src/basic_block/permute.rs:201:7 [INFO] [stdout] | [INFO] [stdout] 201 | b_g2.clone() [INFO] [stdout] | ^^^^^^^^^^^^ help: try dereferencing it: `*b_g2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Affine` which implements the `Copy` trait [INFO] [stdout] --> src/basic_block/permute.rs:212:7 [INFO] [stdout] | [INFO] [stdout] 212 | d_g2.clone() [INFO] [stdout] | ^^^^^^^^^^^^ help: try dereferencing it: `*d_g2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/basic_block/range.rs:55:53 [INFO] [stdout] | [INFO] [stdout] 55 | let domain = GeneralEvaluationDomain::::new(element_num_pad.clone() as usize).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `element_num_pad` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `ark_ec::short_weierstrass::Projective` [INFO] [stdout] --> src/basic_block/range.rs:82:30 [INFO] [stdout] | [INFO] [stdout] 82 | (vec![setup.0[0].into(), C.into()], vec![], vec![]) [INFO] [stdout] | ^^^^^^^^ help: consider removing `.into()`: `C` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/basic_block/repeater.rs:20:6 [INFO] [stdout] | [INFO] [stdout] 20 | ) -> ArrayD<(Vec>, Option>>)> { [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: unnecessary map of the identity function [INFO] [stdout] --> src/basic_block/repeater.rs:23:29 [INFO] [stdout] | [INFO] [stdout] 23 | let dims_ptr = dims.iter().map(|x| x).collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] = note: `#[warn(clippy::map_identity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/basic_block/repeater.rs:58:24 [INFO] [stdout] | [INFO] [stdout] 58 | let localOutputs = match outputs { [INFO] [stdout] | ________________________^ [INFO] [stdout] 59 | | None => None, [INFO] [stdout] 60 | | Some(outputs) => Some( [INFO] [stdout] 61 | | outputs [INFO] [stdout] ... | [INFO] [stdout] 70 | | ), [INFO] [stdout] 71 | | }; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 58 ~ let localOutputs = outputs.map(|outputs| outputs [INFO] [stdout] 59 + .iter() [INFO] [stdout] 60 + .map(|output| { [INFO] [stdout] 61 + let mut slice: Vec<_> = idx.iter().map(|x| SliceInfoElem::Index(*x as isize)).collect(); [INFO] [stdout] 62 + slice.resize(output.ndim(), sliceAll); [INFO] [stdout] 63 + let sliceInfo: SliceInfo<_, IxDyn, IxDyn> = SliceInfo::try_from(&slice[..]).unwrap(); [INFO] [stdout] 64 + output.slice(sliceInfo).to_owned() [INFO] [stdout] 65 + }) [INFO] [stdout] 66 ~ .collect()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/basic_block/repeater.rs:107:56 [INFO] [stdout] | [INFO] [stdout] 107 | let subArrays: Vec<_> = util::vec_iter(subArrays).map(|y| y).collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/basic_block/repeater.rs:110:37 [INFO] [stdout] | [INFO] [stdout] 110 | let temp = temp.map(|x| x.iter().map(|y| y).collect()); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/basic_block/repeater.rs:119:51 [INFO] [stdout] | [INFO] [stdout] 119 | let localInputs: Vec<_> = localInputs.iter().map(|y| y).collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/basic_block/repeater.rs:120:71 [INFO] [stdout] | [INFO] [stdout] 120 | let localOutputs: Vec<_> = localOutputs.as_ref().unwrap().iter().map(|y| y).collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/basic_block/repeater.rs:123:38 [INFO] [stdout] | [INFO] [stdout] 123 | let temp = empty.map(|x| x.iter().map(|y| y).collect()); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/basic_block/repeater.rs:157:5 [INFO] [stdout] | [INFO] [stdout] 152 | / let proof = ( [INFO] [stdout] 153 | | proof.0.into_iter().flatten().collect(), [INFO] [stdout] 154 | | proof.1.into_iter().flatten().collect(), [INFO] [stdout] 155 | | proof.2.into_iter().flatten().collect(), [INFO] [stdout] 156 | | ); [INFO] [stdout] | |______- unnecessary `let` binding [INFO] [stdout] 157 | proof [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] 152 ~ [INFO] [stdout] 153 ~ ( [INFO] [stdout] 154 + proof.0.into_iter().flatten().collect(), [INFO] [stdout] 155 + proof.1.into_iter().flatten().collect(), [INFO] [stdout] 156 + proof.2.into_iter().flatten().collect(), [INFO] [stdout] 157 + ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/basic_block/repeater.rs:145:51 [INFO] [stdout] | [INFO] [stdout] 145 | let localInputs: Vec<_> = localInputs.iter().map(|y| y).collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/basic_block/repeater.rs:146:71 [INFO] [stdout] | [INFO] [stdout] 146 | let localOutputs: Vec<_> = localOutputs.as_ref().unwrap().iter().map(|y| y).collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/basic_block/repeater.rs:151:54 [INFO] [stdout] | [INFO] [stdout] 151 | let proof: (Vec<_>, Vec<_>, Vec<_>) = multiunzip(empty.into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.13.0/src/unziptuple.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | I: IntoIterator, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 151 - let proof: (Vec<_>, Vec<_>, Vec<_>) = multiunzip(empty.into_iter()); [INFO] [stdout] 151 + let proof: (Vec<_>, Vec<_>, Vec<_>) = multiunzip(empty); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/basic_block/repeater.rs:198:5 [INFO] [stdout] | [INFO] [stdout] 196 | let pairings = empty.into_iter().flatten().collect(); [INFO] [stdout] | ----------------------------------------------------- unnecessary `let` binding [INFO] [stdout] 197 | [INFO] [stdout] 198 | pairings [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] 196 ~ [INFO] [stdout] 197 | [INFO] [stdout] 198 ~ empty.into_iter().flatten().collect() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/basic_block/repeater.rs:189:51 [INFO] [stdout] | [INFO] [stdout] 189 | let localInputs: Vec<_> = localInputs.iter().map(|y| y).collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/basic_block/repeater.rs:190:71 [INFO] [stdout] | [INFO] [stdout] 190 | let localOutputs: Vec<_> = localOutputs.as_ref().unwrap().iter().map(|y| y).collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/basic_block/sort.rs:36:51 [INFO] [stdout] | [INFO] [stdout] 36 | let mut paired: Vec<_> = data.into_iter().zip(indices.into_iter()).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/iterator.rs:629:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 36 - let mut paired: Vec<_> = data.into_iter().zip(indices.into_iter()).collect(); [INFO] [stdout] 36 + let mut paired: Vec<_> = data.into_iter().zip(indices).collect(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `outputs` [INFO] [stdout] --> src/basic_block/split.rs:52:14 [INFO] [stdout] | [INFO] [stdout] 52 | for i in 0..outputs.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 52 - for i in 0..outputs.len() { [INFO] [stdout] 52 + for (i, ) in outputs.iter().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/basic_block/sum.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | return (vec![zero_div, C], vec![], Vec::new()); [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] 41 - return (vec![zero_div, C], vec![], Vec::new()); [INFO] [stdout] 41 + (vec![zero_div, C], vec![], Vec::new()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/basic_block/training.rs:269:5 [INFO] [stdout] | [INFO] [stdout] 260 | / let update = mul_scalar.prove( [INFO] [stdout] 261 | | srs, [INFO] [stdout] 262 | | (&vec![], &vec![], &vec![]), [INFO] [stdout] 263 | | &ArrayD::from_shape_vec(IxDyn(&[0]), vec![]).unwrap(), [INFO] [stdout] ... | [INFO] [stdout] 267 | | cache, [INFO] [stdout] 268 | | ); [INFO] [stdout] | |______- unnecessary `let` binding [INFO] [stdout] 269 | update [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] 260 ~ [INFO] [stdout] 261 ~ mul_scalar.prove( [INFO] [stdout] 262 + srs, [INFO] [stdout] 263 + (&vec![], &vec![], &vec![]), [INFO] [stdout] 264 + &ArrayD::from_shape_vec(IxDyn(&[0]), vec![]).unwrap(), [INFO] [stdout] 265 + &vec![inputs[1], inputs[2]], [INFO] [stdout] 266 + &vec![&outputs[0]], [INFO] [stdout] 267 + rng, [INFO] [stdout] 268 + cache, [INFO] [stdout] 269 + ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/basic_block.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | / return Data { [INFO] [stdout] 127 | | raw: raw.to_vec(), [INFO] [stdout] 128 | | poly: f, [INFO] [stdout] 129 | | g1: fx, [INFO] [stdout] 130 | | r: Fr::rand(&mut rng), [INFO] [stdout] 131 | | }; [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] 126 ~ Data { [INFO] [stdout] 127 + raw: raw.to_vec(), [INFO] [stdout] 128 + poly: f, [INFO] [stdout] 129 + g1: fx, [INFO] [stdout] 130 + r: Fr::rand(&mut rng), [INFO] [stdout] 131 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/basic_block.rs:119:64 [INFO] [stdout] | [INFO] [stdout] 119 | let f = DensePolynomial::from_coefficients_vec(domain.ifft(&raw)); [INFO] [stdout] | ^^^^ help: change this to: `raw` [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: unneeded `return` statement [INFO] [stdout] --> src/basic_block.rs:144:5 [INFO] [stdout] | [INFO] [stdout] 144 | / return DataEnc { [INFO] [stdout] 145 | | len: data.raw.len(), [INFO] [stdout] 146 | | g1: (data.g1 + srs.Y1P * data.r).into(), [INFO] [stdout] 147 | | }; [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] 144 ~ DataEnc { [INFO] [stdout] 145 + len: data.raw.len(), [INFO] [stdout] 146 + g1: (data.g1 + srs.Y1P * data.r).into(), [INFO] [stdout] 147 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/basic_block.rs:173:3 [INFO] [stdout] | [INFO] [stdout] 173 | / fn prove( [INFO] [stdout] 174 | | &self, [INFO] [stdout] 175 | | _srs: &SRS, [INFO] [stdout] 176 | | _setup: (&Vec, &Vec, &Vec>), [INFO] [stdout] ... | [INFO] [stdout] 181 | | _cache: ProveVerifyCache, [INFO] [stdout] 182 | | ) -> (Vec, Vec, Vec) { [INFO] [stdout] | |______________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/basic_block.rs:186:3 [INFO] [stdout] | [INFO] [stdout] 186 | / fn verify( [INFO] [stdout] 187 | | &self, [INFO] [stdout] 188 | | _srs: &SRS, [INFO] [stdout] 189 | | _model: &ArrayD, [INFO] [stdout] ... | [INFO] [stdout] 194 | | _cache: ProveVerifyCache, [INFO] [stdout] 195 | | ) -> Vec { [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Precomputable` [INFO] [stdout] --> src/graph.rs:26:3 [INFO] [stdout] | [INFO] [stdout] 26 | / pub fn new() -> Self { [INFO] [stdout] 27 | | Precomputable { [INFO] [stdout] 28 | | setup: vec![], [INFO] [stdout] 29 | | prove_and_verify: vec![], [INFO] [stdout] ... | [INFO] [stdout] 32 | | } [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 25 + impl Default for Precomputable { [INFO] [stdout] 26 + fn default() -> Self { [INFO] [stdout] 27 + Self::new() [INFO] [stdout] 28 + } [INFO] [stdout] 29 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Graph` [INFO] [stdout] --> src/graph.rs:325:3 [INFO] [stdout] | [INFO] [stdout] 325 | / pub fn new() -> Self { [INFO] [stdout] 326 | | Graph { [INFO] [stdout] 327 | | basic_blocks: vec![], [INFO] [stdout] 328 | | precomputable: Precomputable::new(), [INFO] [stdout] ... | [INFO] [stdout] 333 | | } [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 50 + impl Default for Graph { [INFO] [stdout] 51 + fn default() -> Self { [INFO] [stdout] 52 + Self::new() [INFO] [stdout] 53 + } [INFO] [stdout] 54 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/graph.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | return outputs; [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] 70 - return outputs; [INFO] [stdout] 70 + outputs [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:51:29 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn run(&self, inputs: &Vec<&ArrayD>, models: &Vec<&ArrayD>) -> Vec>> { [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] 51 - pub fn run(&self, inputs: &Vec<&ArrayD>, models: &Vec<&ArrayD>) -> Vec>> { [INFO] [stdout] 51 + pub fn run(&self, inputs: &[&ArrayD], models: &Vec<&ArrayD>) -> Vec>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:51:56 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn run(&self, inputs: &Vec<&ArrayD>, models: &Vec<&ArrayD>) -> Vec>> { [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 51 - pub fn run(&self, inputs: &Vec<&ArrayD>, models: &Vec<&ArrayD>) -> Vec>> { [INFO] [stdout] 51 + pub fn run(&self, inputs: &Vec<&ArrayD>, models: &[&ArrayD]) -> Vec>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/graph.rs:68:57 [INFO] [stdout] | [INFO] [stdout] 68 | outputs[i] = self.basic_blocks[n.basic_block].run(&models[n.basic_block], &myInputs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `models[n.basic_block]` [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: unneeded `return` statement [INFO] [stdout] --> src/graph.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | return outputsEnc; [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] 114 - return outputsEnc; [INFO] [stdout] 114 + outputsEnc [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:76:13 [INFO] [stdout] | [INFO] [stdout] 76 | models: &Vec<&ArrayD>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 76 - models: &Vec<&ArrayD>, [INFO] [stdout] 76 + models: &[&ArrayD], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | inputs: &Vec<&ArrayD>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 77 - inputs: &Vec<&ArrayD>, [INFO] [stdout] 77 + inputs: &[&ArrayD], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:78:14 [INFO] [stdout] | [INFO] [stdout] 78 | outputs: &Vec<&Vec<&ArrayD>>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 78 - outputs: &Vec<&Vec<&ArrayD>>, [INFO] [stdout] 78 + outputs: &[&Vec<&ArrayD>], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/graph.rs:111:61 [INFO] [stdout] | [INFO] [stdout] 111 | self.basic_blocks[n.basic_block].encodeOutputs(srs, &models[n.basic_block], &myInputs, outputs[i]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `models[n.basic_block]` [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] --> src/graph.rs:117:66 [INFO] [stdout] | [INFO] [stdout] 117 | ...els: &Vec<&ArrayD>) -> Vec<(Vec, Vec, Vec>)> { [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: unneeded `return` statement [INFO] [stdout] --> src/graph.rs:156:9 [INFO] [stdout] | [INFO] [stdout] 156 | return setups.first().unwrap().clone(); [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] 156 - return setups.first().unwrap().clone(); [INFO] [stdout] 156 + setups.first().unwrap().clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/graph.rs:149:34 [INFO] [stdout] | [INFO] [stdout] 149 | let setup = b.setup(srs, *m); [INFO] [stdout] | ^^ help: try: `m` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] = note: `#[warn(clippy::explicit_auto_deref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/graph.rs:164:13 [INFO] [stdout] | [INFO] [stdout] 164 | setups: &Vec<(&Vec, &Vec, &Vec>)>, [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 function has too many arguments (8/7) [INFO] [stdout] --> src/graph.rs:161:3 [INFO] [stdout] | [INFO] [stdout] 161 | / pub fn prove( [INFO] [stdout] 162 | | &mut self, [INFO] [stdout] 163 | | srs: &SRS, [INFO] [stdout] 164 | | setups: &Vec<(&Vec, &Vec, &Vec>)>, [INFO] [stdout] ... | [INFO] [stdout] 169 | | timing: &mut TimingTree, [INFO] [stdout] 170 | | ) -> Vec<(Vec, Vec, Vec)> { [INFO] [stdout] | |___________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:164:13 [INFO] [stdout] | [INFO] [stdout] 164 | setups: &Vec<(&Vec, &Vec, &Vec>)>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 164 - setups: &Vec<(&Vec, &Vec, &Vec>)>, [INFO] [stdout] 164 + setups: &[(&Vec, &Vec, &Vec>)], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:165:13 [INFO] [stdout] | [INFO] [stdout] 165 | models: &Vec<&ArrayD>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 165 - models: &Vec<&ArrayD>, [INFO] [stdout] 165 + models: &[&ArrayD], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:166:13 [INFO] [stdout] | [INFO] [stdout] 166 | inputs: &Vec<&ArrayD>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 166 - inputs: &Vec<&ArrayD>, [INFO] [stdout] 166 + inputs: &[&ArrayD], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:167:14 [INFO] [stdout] | [INFO] [stdout] 167 | outputs: &Vec<&Vec<&ArrayD>>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 167 - outputs: &Vec<&Vec<&ArrayD>>, [INFO] [stdout] 167 + outputs: &[&Vec<&ArrayD>], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/graph.rs:198:15 [INFO] [stdout] | [INFO] [stdout] 198 | &(outputs[*basicblock_idx as usize][*output_idx]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `(outputs[*basicblock_idx as usize][*output_idx])` [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: useless conversion to the same type: `ark_ff::Fp, 4>` [INFO] [stdout] --> src/graph.rs:218:34 [INFO] [stdout] | [INFO] [stdout] 218 | proof.2.iter().map(|x| (*x).into()).collect(), [INFO] [stdout] | ^^^^^^^^^^^ help: consider removing `.into()`: `(*x)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:231:13 [INFO] [stdout] | [INFO] [stdout] 231 | models: &Vec<&ArrayD>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 231 - models: &Vec<&ArrayD>, [INFO] [stdout] 231 + models: &[&ArrayD], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:232:13 [INFO] [stdout] | [INFO] [stdout] 232 | inputs: &Vec<&ArrayD>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 232 - inputs: &Vec<&ArrayD>, [INFO] [stdout] 232 + inputs: &[&ArrayD], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:233:14 [INFO] [stdout] | [INFO] [stdout] 233 | outputs: &Vec<&Vec<&ArrayD>>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 233 - outputs: &Vec<&Vec<&ArrayD>>, [INFO] [stdout] 233 + outputs: &[&Vec<&ArrayD>], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:234:13 [INFO] [stdout] | [INFO] [stdout] 234 | proofs: &Vec<(&Vec, &Vec, &Vec)>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 234 - proofs: &Vec<(&Vec, &Vec, &Vec)>, [INFO] [stdout] 234 + proofs: &[(&Vec, &Vec, &Vec)], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/graph.rs:263:15 [INFO] [stdout] | [INFO] [stdout] 263 | &(outputs[*basicblock_idx as usize][*output_idx]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `(outputs[*basicblock_idx as usize][*output_idx])` [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: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:284:13 [INFO] [stdout] | [INFO] [stdout] 284 | models: &Vec<&ArrayD>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 284 - models: &Vec<&ArrayD>, [INFO] [stdout] 284 + models: &[&ArrayD], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:285:13 [INFO] [stdout] | [INFO] [stdout] 285 | inputs: &Vec<&ArrayD>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 285 - inputs: &Vec<&ArrayD>, [INFO] [stdout] 285 + inputs: &[&ArrayD], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:286:14 [INFO] [stdout] | [INFO] [stdout] 286 | outputs: &Vec<&Vec<&ArrayD>>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 286 - outputs: &Vec<&Vec<&ArrayD>>, [INFO] [stdout] 286 + outputs: &[&Vec<&ArrayD>], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:287:13 [INFO] [stdout] | [INFO] [stdout] 287 | proofs: &Vec<(&Vec, &Vec, &Vec)>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 287 - proofs: &Vec<(&Vec, &Vec, &Vec)>, [INFO] [stdout] 287 + proofs: &[(&Vec, &Vec, &Vec)], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/graph.rs:302:13 [INFO] [stdout] | [INFO] [stdout] 302 | &(outputs[*basicblock_idx as usize][*output_idx]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `(outputs[*basicblock_idx as usize][*output_idx])` [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] --> src/layer/and.rs:32:29 [INFO] [stdout] | [INFO] [stdout] 32 | let mul_basicblock = if input_shapes[1].len() == 0 || input_shapes[0].len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input_shapes[1].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] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/layer/and.rs:32:59 [INFO] [stdout] | [INFO] [stdout] 32 | let mul_basicblock = if input_shapes[1].len() == 0 || input_shapes[0].len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input_shapes[0].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] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/layer/and.rs:39:25 [INFO] [stdout] | [INFO] [stdout] 39 | let and_output = if input_shapes[0].len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input_shapes[0].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] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/cast.rs:21:20 [INFO] [stdout] | [INFO] [stdout] 21 | let to = match attributes.iter().filter(|x| x.name == "to").next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "to")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] = note: `#[warn(clippy::filter_next)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/concat.rs:16:37 [INFO] [stdout] | [INFO] [stdout] 16 | fn get_concat_indices(input_shapes: &Vec<&Vec>, output_shape: &Vec, axis: usize) -> Vec>> { [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 16 - fn get_concat_indices(input_shapes: &Vec<&Vec>, output_shape: &Vec, axis: usize) -> Vec>> { [INFO] [stdout] 16 + fn get_concat_indices(input_shapes: &[&Vec], output_shape: &Vec, axis: usize) -> Vec>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `input_shapes` [INFO] [stdout] --> src/layer/concat.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | for i in 0..input_shapes.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 19 - for i in 0..input_shapes.len() { [INFO] [stdout] 19 + for in &input_shapes { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/concat.rs:50:23 [INFO] [stdout] | [INFO] [stdout] 50 | let axis: isize = attributes.iter().filter(|x| x.name == "axis").next().unwrap().i as isize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "axis")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/layer/concat.rs:54:55 [INFO] [stdout] | [INFO] [stdout] 54 | outputShape[axis] = input_shapes.iter().map(|x| x[axis as usize]).sum(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `axis` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `cc_basicblocks` [INFO] [stdout] --> src/layer/concat.rs:76:16 [INFO] [stdout] | [INFO] [stdout] 76 | for i in 0..input_shapes.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 76 - for i in 0..input_shapes.len() { [INFO] [stdout] 76 + for (i, ) in cc_basicblocks.iter().enumerate().take(input_shapes.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/layer/concat.rs:100:66 [INFO] [stdout] | [INFO] [stdout] 100 | let concat = graph.addBB(Box::new(ConcatBasicBlock { axis: axis as usize })); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `axis` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/constantofshape.rs:24:20 [INFO] [stdout] | [INFO] [stdout] 24 | let attr_val = attributes.iter().filter(|x| x.name == "value").next().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "value")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `tract_onnx::pb::tensor_proto::DataType` [INFO] [stdout] --> src/layer/constantofshape.rs:25:17 [INFO] [stdout] | [INFO] [stdout] 25 | let dtype = DataType::from_i32(attr_val.r#type).unwrap().into(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `DataType::from_i32(attr_val.r#type).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/conv.rs:16:21 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn out_hw(dims: &Vec, strides: &Vec, ch_dims: &Vec, padding: &Vec<[usize; 2]>, is_transpose: bool) -> Vec, strides: &Vec, ch_dims: &Vec, padding: &Vec<[usize; 2]>, is_transpose: bool) -> Vec { [INFO] [stdout] 16 + pub fn out_hw(dims: &[usize], strides: &Vec, ch_dims: &Vec, padding: &Vec<[usize; 2]>, is_transpose: bool) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/conv.rs:16:43 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn out_hw(dims: &Vec, strides: &Vec, ch_dims: &Vec, padding: &Vec<[usize; 2]>, is_transpose: bool) -> Vec, strides: &Vec, ch_dims: &Vec, padding: &Vec<[usize; 2]>, is_transpose: bool) -> Vec { [INFO] [stdout] 16 + pub fn out_hw(dims: &Vec, strides: &[usize], ch_dims: &Vec, padding: &Vec<[usize; 2]>, is_transpose: bool) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/conv.rs:16:65 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn out_hw(dims: &Vec, strides: &Vec, ch_dims: &Vec, padding: &Vec<[usize; 2]>, is_transpose: bool) -> Vec, strides: &Vec, ch_dims: &Vec, padding: &Vec<[usize; 2]>, is_transpose: bool) -> Vec { [INFO] [stdout] 16 + pub fn out_hw(dims: &Vec, strides: &Vec, ch_dims: &[usize], padding: &Vec<[usize; 2]>, is_transpose: bool) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/conv.rs:16:87 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn out_hw(dims: &Vec, strides: &Vec, ch_dims: &Vec, padding: &Vec<[usize; 2]>, is_transpose: bool) -> Vec, strides: &Vec, ch_dims: &Vec, padding: &Vec<[usize; 2]>, is_transpose: bool) -> Vec { [INFO] [stdout] 16 + pub fn out_hw(dims: &Vec, strides: &Vec, ch_dims: &Vec, padding: &[[usize; 2]], is_transpose: bool) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/conv.rs:29:30 [INFO] [stdout] | [INFO] [stdout] 29 | fn conv_transpose_pads(pads: &Vec, ch_dims: &Vec) -> Vec { [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 29 - fn conv_transpose_pads(pads: &Vec, ch_dims: &Vec) -> Vec { [INFO] [stdout] 29 + fn conv_transpose_pads(pads: &[usize], ch_dims: &Vec) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/conv.rs:29:52 [INFO] [stdout] | [INFO] [stdout] 29 | fn conv_transpose_pads(pads: &Vec, ch_dims: &Vec) -> Vec { [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 29 - fn conv_transpose_pads(pads: &Vec, ch_dims: &Vec) -> Vec { [INFO] [stdout] 29 + fn conv_transpose_pads(pads: &Vec, ch_dims: &[usize]) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/conv.rs:36:16 [INFO] [stdout] | [INFO] [stdout] 36 | input_shape: &Vec, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 36 - input_shape: &Vec, [INFO] [stdout] 36 + input_shape: &[usize], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/conv.rs:54:32 [INFO] [stdout] | [INFO] [stdout] 54 | let out_dims = out_hw(&dims, &strides, &kernel_dims, &padding[2..].to_vec(), is_transpose); [INFO] [stdout] | ^^^^^^^^ help: change this to: `strides` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/conv.rs:54:42 [INFO] [stdout] | [INFO] [stdout] 54 | let out_dims = out_hw(&dims, &strides, &kernel_dims, &padding[2..].to_vec(), is_transpose); [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `kernel_dims` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/conv.rs:84:37 [INFO] [stdout] | [INFO] [stdout] 84 | for ch_idx in indices(IxDyn(&kernel_dims)) { [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `kernel_dims` [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: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/conv.rs:101:33 [INFO] [stdout] | [INFO] [stdout] 101 | fn splat_weights(weights_shape: &Vec, is_transpose: bool) -> Vec>> { [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 101 - fn splat_weights(weights_shape: &Vec, is_transpose: bool) -> Vec>> { [INFO] [stdout] 101 + fn splat_weights(weights_shape: &[usize], is_transpose: bool) -> Vec>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the variable `weight_row_idx` is used as a loop counter [INFO] [stdout] --> src/layer/conv.rs:109:3 [INFO] [stdout] | [INFO] [stdout] 109 | for chan_out in 0..out_channels { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `for (weight_row_idx, chan_out) in (0..out_channels).enumerate()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stdout] = note: `#[warn(clippy::explicit_counter_loop)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `Vec` [INFO] [stdout] --> src/layer/conv.rs:127:37 [INFO] [stdout] | [INFO] [stdout] 127 | let flattened_inp: Vec<_> = input.into_iter().flat_map(|x| x.iter().map(|y| y.clone())).collect(); [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] = note: `#[warn(clippy::into_iter_on_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/layer/conv.rs:127:62 [INFO] [stdout] | [INFO] [stdout] 127 | let flattened_inp: Vec<_> = input.into_iter().flat_map(|x| x.iter().map(|y| y.clone())).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `x.iter().cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stdout] --> src/layer/einsum.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | / if !map.contains_key(&ch) { [INFO] [stdout] 25 | | map.insert(ch, *current); [INFO] [stdout] 26 | | *current = ((*current as u8) + 1) as char; [INFO] [stdout] 27 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stdout] = note: `#[warn(clippy::map_entry)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 24 ~ if let std::collections::hash_map::Entry::Vacant(e) = map.entry(ch) { [INFO] [stdout] 25 + e.insert(*current); [INFO] [stdout] 26 + *current = ((*current as u8) + 1) as char; [INFO] [stdout] 27 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/einsum.rs:60:58 [INFO] [stdout] | [INFO] [stdout] 60 | fn vector_outer_product(graph: &mut Graph, input_shapes: &Vec<&Vec>) -> Vec { [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 60 - fn vector_outer_product(graph: &mut Graph, input_shapes: &Vec<&Vec>) -> Vec { [INFO] [stdout] 60 + fn vector_outer_product(graph: &mut Graph, input_shapes: &[&Vec]) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/layer/einsum.rs:88:28 [INFO] [stdout] | [INFO] [stdout] 88 | let permutation = ((0..b).map(|x| x).collect(), vec![0]); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/einsum.rs:160:21 [INFO] [stdout] | [INFO] [stdout] 160 | let equation = &attributes.iter().filter(|x| x.name == "equation").next().unwrap().s; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "equation")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/einsum.rs:161:40 [INFO] [stdout] | [INFO] [stdout] 161 | let equation = std::str::from_utf8(&equation).unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `equation` [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] --> src/layer/einsum.rs:170:46 [INFO] [stdout] | [INFO] [stdout] 170 | } else if input_eqs == vec!["a", "a"] && output_eq.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `output_eq.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] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/layer/expand.rs:32:43 [INFO] [stdout] | [INFO] [stdout] 32 | let newShape: Vec<_> = newShape.iter().map(|x| x).collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> src/layer/expand.rs:40:40 [INFO] [stdout] | [INFO] [stdout] 40 | let shape0_product = shape0.iter().fold(1, |acc, x| acc * x); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `product::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] = note: `#[warn(clippy::unnecessary_fold)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> src/layer/expand.rs:41:40 [INFO] [stdout] | [INFO] [stdout] 41 | let shape1_product = shape1.iter().fold(1, |acc, x| acc * x); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `product::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/layer/flatten.rs:18:56 [INFO] [stdout] | [INFO] [stdout] 18 | let permutation = ArrayD::from_shape_fn(input_shape, |index| Some(index)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `Some` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/flatten.rs:38:23 [INFO] [stdout] | [INFO] [stdout] 38 | let axis: isize = attributes.iter().filter(|x| x.name == "axis").next().unwrap().i as isize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "axis")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/flatten.rs:43:55 [INFO] [stdout] | [INFO] [stdout] 43 | let (permutation, output_shape) = get_permutation(&input_shapes[0], axis); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `input_shapes[0]` [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: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/gathernd.rs:82:15 [INFO] [stdout] | [INFO] [stdout] 82 | let b = attributes.iter().filter(|x| x.name == "axis").next().unwrap().i as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "axis")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/gemm.rs:28:7 [INFO] [stdout] | [INFO] [stdout] 28 | attributes.iter().filter(|x| x.name == "alpha").next().unwrap().f [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "alpha")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/gemm.rs:33:7 [INFO] [stdout] | [INFO] [stdout] 33 | attributes.iter().filter(|x| x.name == "beta").next().unwrap().f [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "beta")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/gemm.rs:38:7 [INFO] [stdout] | [INFO] [stdout] 38 | attributes.iter().filter(|x| x.name == "transA").next().unwrap().i as usize [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "transA")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/gemm.rs:43:7 [INFO] [stdout] | [INFO] [stdout] 43 | attributes.iter().filter(|x| x.name == "transB").next().unwrap().i as usize [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "transB")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/layer/lstm.rs:73:63 [INFO] [stdout] | [INFO] [stdout] 73 | let permutation = ((0..b).map(|x| x * a).collect(), (0..a).map(|x| x).collect()); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/layer/lstm.rs:79:13 [INFO] [stdout] | [INFO] [stdout] 79 | axis: (axis - 1) as usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `(axis - 1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `outputShapes` [INFO] [stdout] --> src/layer/lstm.rs:83:14 [INFO] [stdout] | [INFO] [stdout] 83 | for i in 0..split.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 83 - for i in 0..split.len() { [INFO] [stdout] 83 + for in outputShapes.iter().take(split.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `permute_backs` [INFO] [stdout] --> src/layer/lstm.rs:99:14 [INFO] [stdout] | [INFO] [stdout] 99 | for i in 0..split.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 99 - for i in 0..split.len() { [INFO] [stdout] 99 + for (i, ) in permute_backs.iter().enumerate().take(split.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/layer/lstm.rs:167:65 [INFO] [stdout] | [INFO] [stdout] 167 | let permutation = ((0..b).map(|x| x * a).collect(), (0..a).map(|x| x).collect()); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/layer/lstm.rs:173:15 [INFO] [stdout] | [INFO] [stdout] 173 | axis: (axis - 1) as usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `(axis - 1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `outputShapes` [INFO] [stdout] --> src/layer/lstm.rs:177:16 [INFO] [stdout] | [INFO] [stdout] 177 | for i in 0..split.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 177 - for i in 0..split.len() { [INFO] [stdout] 177 + for in outputShapes.iter().take(split.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `permute_backs` [INFO] [stdout] --> src/layer/lstm.rs:193:16 [INFO] [stdout] | [INFO] [stdout] 193 | for i in 0..split.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 193 - for i in 0..split.len() { [INFO] [stdout] 193 + for (i, ) in permute_backs.iter().enumerate().take(split.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/max.rs:12:29 [INFO] [stdout] | [INFO] [stdout] 12 | fn splat_input(input_shape: &Vec, cmp_val: Option) -> ArrayD> { [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 12 - fn splat_input(input_shape: &Vec, cmp_val: Option) -> ArrayD> { [INFO] [stdout] 12 + fn splat_input(input_shape: &[usize], cmp_val: Option) -> ArrayD> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/max.rs:33:37 [INFO] [stdout] | [INFO] [stdout] 33 | let permutation = splat_input(&input_shapes[0], None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `input_shapes[0]` [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: manual implementation of an assign operation [INFO] [stdout] --> src/layer/max.rs:96:7 [INFO] [stdout] | [INFO] [stdout] 96 | concat_shape[0] = 2 * concat_shape[0]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `concat_shape[0] *= 2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/max.rs:102:37 [INFO] [stdout] | [INFO] [stdout] 102 | let permutation = splat_input(&input_shapes[0], Some(IxDyn(©_idx))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `input_shapes[0]` [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] --> src/layer/mul.rs:24:75 [INFO] [stdout] | [INFO] [stdout] 24 | let mul_scalar = if input_shapes[0].len() == input_shapes[1].len() && input_shapes[0].len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input_shapes[0].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] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/layer/mul.rs:36:80 [INFO] [stdout] | [INFO] [stdout] 36 | let change_SF_check = if input_shapes[0].len() == input_shapes[1].len() && input_shapes[0].len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input_shapes[0].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] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/layer/mul.rs:63:29 [INFO] [stdout] | [INFO] [stdout] 63 | let mul_basicblock = if input_shapes[1].len() == 0 || input_shapes[0].len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input_shapes[1].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] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/layer/mul.rs:63:59 [INFO] [stdout] | [INFO] [stdout] 63 | let mul_basicblock = if input_shapes[1].len() == 0 || input_shapes[0].len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input_shapes[0].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] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/layer/mul.rs:70:25 [INFO] [stdout] | [INFO] [stdout] 70 | let mul_output = if input_shapes[0].len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input_shapes[0].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] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/norm.rs:39:30 [INFO] [stdout] | [INFO] [stdout] 39 | let training_mode_attr = attributes.iter().filter(|x| x.name == "training_mode").next(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "training_mode")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/norm.rs:50:24 [INFO] [stdout] | [INFO] [stdout] 50 | let epsilon_attr = attributes.iter().filter(|x| x.name == "epsilon").next(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "epsilon")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f32` -> `f32`) [INFO] [stdout] --> src/layer/norm.rs:53:7 [INFO] [stdout] | [INFO] [stdout] 53 | x.f as f32 [INFO] [stdout] | ^^^^^^^^^^ help: try: `x.f` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/norm.rs:248:24 [INFO] [stdout] | [INFO] [stdout] 248 | let epsilon_attr = attributes.iter().filter(|x| x.name == "epsilon").next(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "epsilon")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f32` -> `f32`) [INFO] [stdout] --> src/layer/norm.rs:251:7 [INFO] [stdout] | [INFO] [stdout] 251 | x.f as f32 [INFO] [stdout] | ^^^^^^^^^^ help: try: `x.f` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> src/layer/norm.rs:262:71 [INFO] [stdout] | [INFO] [stdout] 262 | X_shape.into_iter().skip(2).cloned().collect::>().iter().fold(1, |x, &y| x * y), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `product::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `Vec` [INFO] [stdout] --> src/layer/norm.rs:262:15 [INFO] [stdout] | [INFO] [stdout] 262 | X_shape.into_iter().skip(2).cloned().collect::>().iter().fold(1, |x, &y| x * y), [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> src/layer/norm.rs:277:74 [INFO] [stdout] | [INFO] [stdout] 277 | c: X_shape.into_iter().skip(2).cloned().collect::>().iter().fold(1, |x, &y| x * y) as f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `product::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `Vec` [INFO] [stdout] --> src/layer/norm.rs:277:18 [INFO] [stdout] | [INFO] [stdout] 277 | c: X_shape.into_iter().skip(2).cloned().collect::>().iter().fold(1, |x, &y| x * y) as f32, [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> src/layer/norm.rs:283:80 [INFO] [stdout] | [INFO] [stdout] 283 | c: X_shape.into_iter().skip(2).cloned().collect::>().iter().fold(1, |x, &y| x * y) as f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `product::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `Vec` [INFO] [stdout] --> src/layer/norm.rs:283:24 [INFO] [stdout] | [INFO] [stdout] 283 | c: X_shape.into_iter().skip(2).cloned().collect::>().iter().fold(1, |x, &y| x * y) as f32, [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `Vec` [INFO] [stdout] --> src/layer/norm.rs:391:22 [INFO] [stdout] | [INFO] [stdout] 391 | .chain(X_shape.into_iter().skip(2).cloned().collect::>().iter().map(|x| util::next_pow(*x as u32) as usize)) [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/layer/norm.rs:459:17 [INFO] [stdout] | [INFO] [stdout] 459 | for n in 0..N as usize { [INFO] [stdout] | ^^^^^^^^^^ help: try: `N` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/layer/norm.rs:460:19 [INFO] [stdout] | [INFO] [stdout] 460 | for c in 0..C as usize { [INFO] [stdout] | ^^^^^^^^^^ help: try: `C` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/layer/norm.rs:461:23 [INFO] [stdout] | [INFO] [stdout] 461 | let idx = n * C as usize + c; [INFO] [stdout] | ^^^^^^^^^^ help: try: `C` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/pool.rs:14:29 [INFO] [stdout] | [INFO] [stdout] 14 | fn splat_input(input_shape: &Vec, strides: &Vec, pads: &Vec, ci: usize, kernel_dims: &Vec) -> Vec, strides: &Vec, pads: &Vec, ci: usize, kernel_dims: &Vec) -> Vec>> { [INFO] [stdout] 14 + fn splat_input(input_shape: &[usize], strides: &Vec, pads: &Vec, ci: usize, kernel_dims: &Vec) -> Vec>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/pool.rs:14:70 [INFO] [stdout] | [INFO] [stdout] 14 | fn splat_input(input_shape: &Vec, strides: &Vec, pads: &Vec, ci: usize, kernel_dims: &Vec) -> Vec, strides: &Vec, pads: &Vec, ci: usize, kernel_dims: &Vec) -> Vec>> { [INFO] [stdout] 14 + fn splat_input(input_shape: &Vec, strides: &Vec, pads: &[usize], ci: usize, kernel_dims: &Vec) -> Vec>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/pool.rs:26:32 [INFO] [stdout] | [INFO] [stdout] 26 | let out_dims = out_hw(&dims, &strides, &kernel_dims, &padding[2..].to_vec(), false); [INFO] [stdout] | ^^^^^^^^ help: change this to: `strides` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/pool.rs:26:42 [INFO] [stdout] | [INFO] [stdout] 26 | let out_dims = out_hw(&dims, &strides, &kernel_dims, &padding[2..].to_vec(), false); [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `kernel_dims` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/pool.rs:36:41 [INFO] [stdout] | [INFO] [stdout] 36 | for kernel_idx in indices(IxDyn(&kernel_dims)) { [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `kernel_dims` [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: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/pool.rs:59:32 [INFO] [stdout] | [INFO] [stdout] 59 | ...let kernel_shape: Vec<_> = attributes.iter().filter(|x| x.name == "kernel_shape").next().unwrap().ints.iter().map(|x| *x as usize... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "kernel_shape")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/pool.rs:61:33 [INFO] [stdout] | [INFO] [stdout] 61 | let strides: Vec<_> = match attributes.iter().filter(|x| x.name == "strides").next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "strides")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/pool.rs:65:30 [INFO] [stdout] | [INFO] [stdout] 65 | let pads: Vec<_> = match attributes.iter().filter(|x| x.name == "pads").next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "pads")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/pool.rs:72:35 [INFO] [stdout] | [INFO] [stdout] 72 | let permutation = splat_input(&input_shapes[0], &strides, &pads, ch, &kernel_shape); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `input_shapes[0]` [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 `.fold` can be written more succinctly using another method [INFO] [stdout] --> src/layer/pool.rs:97:54 [INFO] [stdout] | [INFO] [stdout] 97 | let reshape_inp_shape = vec![output_shape.iter().fold(1, |acc, &x| acc * x), 1]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `product::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for copying elements [INFO] [stdout] --> src/layer/pow.rs:59:46 [INFO] [stdout] | [INFO] [stdout] 59 | DatumType::I32 | DatumType::I64 => constants[1].unwrap().0.iter().map(|x| *x).collect::>(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `copied` method: `constants[1].unwrap().0.iter().copied()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `constants` [INFO] [stdout] --> src/layer/range.rs:22:14 [INFO] [stdout] | [INFO] [stdout] 22 | for i in 0..3 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 22 - for i in 0..3 { [INFO] [stdout] 22 + for in constants.iter().take(3) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/reducemean.rs:23:30 [INFO] [stdout] | [INFO] [stdout] 23 | let axes: Vec<_> = match attributes.iter().filter(|x| x.name == "axes").next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "axes")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for copying elements [INFO] [stdout] --> src/layer/reducemean.rs:24:18 [INFO] [stdout] | [INFO] [stdout] 24 | Some(x) => x.ints.iter().map(|x| *x).collect(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `copied` method: `x.ints.iter().copied()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> src/layer/reshape.rs:44:38 [INFO] [stdout] | [INFO] [stdout] 44 | let a = input_shapes[0].iter().fold(1, |x, &y| x * y) as i32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `product::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> src/layer/reshape.rs:52:42 [INFO] [stdout] | [INFO] [stdout] 52 | let equal = startShape_padded.iter().fold(1, |x, &y| x * y) == endShape_padded.iter().fold(1, |x, &y| x * y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `product::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> src/layer/reshape.rs:52:91 [INFO] [stdout] | [INFO] [stdout] 52 | let equal = startShape_padded.iter().fold(1, |x, &y| x * y) == endShape_padded.iter().fold(1, |x, &y| x * y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `product::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/layer/reshape.rs:60:15 [INFO] [stdout] | [INFO] [stdout] 60 | } else if startShape.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `startShape.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] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/resize.rs:13:36 [INFO] [stdout] | [INFO] [stdout] 13 | fn resize_permutation(input_shape: &Vec, scales: &Vec) -> (Vec, ArrayD>) { [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 13 - fn resize_permutation(input_shape: &Vec, scales: &Vec) -> (Vec, ArrayD>) { [INFO] [stdout] 13 + fn resize_permutation(input_shape: &[usize], scales: &Vec) -> (Vec, ArrayD>) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/resize.rs:35:21 [INFO] [stdout] | [INFO] [stdout] 35 | let ctm = match attributes.iter().filter(|x| x.name == "coordinate_transformation_mode").next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "coordinate_transformation_mode")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/resize.rs:48:22 [INFO] [stdout] | [INFO] [stdout] 48 | let mode = match attributes.iter().filter(|x| x.name == "mode").next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "mode")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/resize.rs:61:30 [INFO] [stdout] | [INFO] [stdout] 61 | let nearest_mode = match attributes.iter().filter(|x| x.name == "nearest_mode").next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "nearest_mode")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/layer/scatternd.rs:11:53 [INFO] [stdout] | [INFO] [stdout] 11 | let preserve = ArrayD::from_shape_fn(input_shape, |index| Some(index)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `Some` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/scatternd.rs:86:64 [INFO] [stdout] | [INFO] [stdout] 86 | let (permutation_preserve, permutation_update) = get_masks(&input_shapes[0], &indices); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `input_shapes[0]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/scatternd.rs:86:82 [INFO] [stdout] | [INFO] [stdout] 86 | let (permutation_preserve, permutation_update) = get_masks(&input_shapes[0], &indices); [INFO] [stdout] | ^^^^^^^^ help: change this to: `indices` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/slice.rs:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | combine(&vecs, Vec::new(), &mut result); [INFO] [stdout] | ^^^^^ help: change this to: `vecs` [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: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/slice.rs:30:14 [INFO] [stdout] | [INFO] [stdout] 30 | input_dim: &Vec, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 30 - input_dim: &Vec, [INFO] [stdout] 30 + input_dim: &[usize], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/slice.rs:131:66 [INFO] [stdout] | [INFO] [stdout] 131 | let (permutation, output_shape, input_shape_pad) = get_slice(&input_shapes[0], &mut starts, &mut ends, &mut axes, &mut steps); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `input_shapes[0]` [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: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/split.rs:21:23 [INFO] [stdout] | [INFO] [stdout] 21 | let axis: isize = attributes.iter().filter(|x| x.name == "axis").next().unwrap().i as isize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "axis")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/split.rs:23:17 [INFO] [stdout] | [INFO] [stdout] 23 | let split = attributes.iter().filter(|x| x.name == "split").next().unwrap().ints.iter().map(|x| *x as usize).collect:: src/layer/split.rs:26:14 [INFO] [stdout] | [INFO] [stdout] 26 | for i in 0..split.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 26 - for i in 0..split.len() { [INFO] [stdout] 26 + for in &split { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/layer/split.rs:38:65 [INFO] [stdout] | [INFO] [stdout] 38 | let permutation = ((0..b).map(|x| x * a).collect(), (0..a).map(|x| x).collect()); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/layer/split.rs:44:15 [INFO] [stdout] | [INFO] [stdout] 44 | axis: (axis - 1) as usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `(axis - 1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `outputShapes` [INFO] [stdout] --> src/layer/split.rs:48:16 [INFO] [stdout] | [INFO] [stdout] 48 | for i in 0..split.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 48 - for i in 0..split.len() { [INFO] [stdout] 48 + for in outputShapes.iter().take(split.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `permute_backs` [INFO] [stdout] --> src/layer/split.rs:63:16 [INFO] [stdout] | [INFO] [stdout] 63 | for i in 0..split.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 63 - for i in 0..split.len() { [INFO] [stdout] 63 + for (i, ) in permute_backs.iter().enumerate().take(split.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/layer/split.rs:69:15 [INFO] [stdout] | [INFO] [stdout] 69 | axis: axis as usize, [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `axis` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/squeeze.rs:24:23 [INFO] [stdout] | [INFO] [stdout] 24 | let axes_result = attributes.iter().filter(|x| x.name == "axes").next(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "axes")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i64` -> `i64`) [INFO] [stdout] --> src/layer/squeeze.rs:28:36 [INFO] [stdout] | [INFO] [stdout] 28 | axes = x.ints.iter().map(|x| *x as i64).collect(); [INFO] [stdout] | ^^^^^^^^^ help: try: `*x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/squeeze.rs:89:29 [INFO] [stdout] | [INFO] [stdout] 89 | let axis: isize = match attributes.iter().filter(|x| x.name == "axes").next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "axes")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/layer/squeeze.rs:126:32 [INFO] [stdout] | [INFO] [stdout] 126 | let permutation = ((0..a).map(|x| x).collect(), vec![0]); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/layer/tile.rs:19:34 [INFO] [stdout] | [INFO] [stdout] 19 | tiled = concatenate(Axis(i), std::iter::repeat(tiled.view()).take(*repeat).collect::>().as_slice()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(tiled.view(), *repeat)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] = note: `#[warn(clippy::manual_repeat_n)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/layer/tile.rs:51:21 [INFO] [stdout] | [INFO] [stdout] 51 | input_shape = std::iter::repeat(1).take(diff).chain(input_shape.iter().cloned()).collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(1, diff)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/layer/tile.rs:60:17 [INFO] [stdout] | [INFO] [stdout] 60 | repeats = std::iter::repeat(1).take(input_shape.len() - repeats.len()).chain(repeats.iter().cloned()).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(1, input_shape.len() - repeats.len())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/topk.rs:38:23 [INFO] [stdout] | [INFO] [stdout] 38 | let axis: isize = attributes.iter().filter(|x| x.name == "axis").next().unwrap().i as isize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "axis")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/topk.rs:40:19 [INFO] [stdout] | [INFO] [stdout] 40 | let largest = attributes.iter().filter(|x| x.name == "largest").next().unwrap().i as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "largest")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/topk.rs:136:23 [INFO] [stdout] | [INFO] [stdout] 136 | let axis: isize = attributes.iter().filter(|x| x.name == "axis").next().unwrap().i as isize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "axis")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/transpose.rs:20:24 [INFO] [stdout] | [INFO] [stdout] 20 | let axes: Vec<_> = attributes.iter().filter(|x| x.name == "perm").next().unwrap().ints.iter().map(|x| *x as usize).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "perm")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/layer/where.rs:42:40 [INFO] [stdout] | [INFO] [stdout] 42 | let mul1_output = graph.addNode(if input_shapes[1].len() == 0 { mul_scalar } else { mul }, vec![(-1, 0), (-2, 0)]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input_shapes[1].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] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/layer/where.rs:44:40 [INFO] [stdout] | [INFO] [stdout] 44 | let mul2_output = graph.addNode(if input_shapes[2].len() == 0 { mul_scalar } else { mul }, vec![(sub_output, 0), (-3, 0)]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input_shapes[2].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] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer.rs:91:19 [INFO] [stdout] | [INFO] [stdout] 91 | input_shapes: &Vec<&Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `&[&Vec]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer.rs:92:18 [INFO] [stdout] | [INFO] [stdout] 92 | input_types: &Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `&[DatumType]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer.rs:93:16 [INFO] [stdout] | [INFO] [stdout] 93 | constants: &Vec, DatumType)>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Option<(&ArrayD, DatumType)>]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer.rs:94:17 [INFO] [stdout] | [INFO] [stdout] 94 | attributes: &Vec<&AttributeProto>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[&AttributeProto]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/onnx.rs:26:54 [INFO] [stdout] | [INFO] [stdout] 26 | ...ph: &pb::GraphProto) -> (HashMap, HashMap>, HashMap) { [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/onnx.rs:49:6 [INFO] [stdout] | [INFO] [stdout] 49 | ) -> ( [INFO] [stdout] | ______^ [INFO] [stdout] 50 | | impl Iterator + 'a, [INFO] [stdout] 51 | | HashMap, [INFO] [stdout] 52 | | Vec<(ArrayD, DatumType)>, [INFO] [stdout] 53 | | ) { [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: the variable `idx` is used as a loop counter [INFO] [stdout] --> src/onnx.rs:67:3 [INFO] [stdout] | [INFO] [stdout] 67 | for (name, tensor) in constants.clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `for (idx, (name, tensor)) in constants.clone().enumerate()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `tract_onnx::pb::tensor_proto::DataType` [INFO] [stdout] --> src/onnx.rs:101:19 [INFO] [stdout] | [INFO] [stdout] 101 | let dtype = DataType::from_i32(tensor.data_type).unwrap().into(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `DataType::from_i32(tensor.data_type).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/onnx.rs:131:52 [INFO] [stdout] | [INFO] [stdout] 131 | graph.layer_names.push(format!("Const {}", name.to_string())); [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] = note: `#[warn(clippy::to_string_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:150:33 [INFO] [stdout] | [INFO] [stdout] 150 | "Add" => Ok(AddLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:150:48 [INFO] [stdout] | [INFO] [stdout] 150 | "Add" => Ok(AddLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:150:62 [INFO] [stdout] | [INFO] [stdout] 150 | "Add" => Ok(AddLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:151:33 [INFO] [stdout] | [INFO] [stdout] 151 | "And" => Ok(AndLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:151:48 [INFO] [stdout] | [INFO] [stdout] 151 | "And" => Ok(AndLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:151:62 [INFO] [stdout] | [INFO] [stdout] 151 | "And" => Ok(AndLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:152:39 [INFO] [stdout] | [INFO] [stdout] 152 | "ArgMax" => Ok(ArgMaxLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:152:54 [INFO] [stdout] | [INFO] [stdout] 152 | "ArgMax" => Ok(ArgMaxLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:152:68 [INFO] [stdout] | [INFO] [stdout] 152 | "ArgMax" => Ok(ArgMaxLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:153:33 [INFO] [stdout] | [INFO] [stdout] 153 | "Mul" => Ok(MulLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:153:48 [INFO] [stdout] | [INFO] [stdout] 153 | "Mul" => Ok(MulLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:153:62 [INFO] [stdout] | [INFO] [stdout] 153 | "Mul" => Ok(MulLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:154:35 [INFO] [stdout] | [INFO] [stdout] 154 | "Cast" => Ok(CastLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:154:50 [INFO] [stdout] | [INFO] [stdout] 154 | "Cast" => Ok(CastLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:154:64 [INFO] [stdout] | [INFO] [stdout] 154 | "Cast" => Ok(CastLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:155:39 [INFO] [stdout] | [INFO] [stdout] 155 | "Identity" => Ok(CastLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), // Identity is equivalent t... [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:155:54 [INFO] [stdout] | [INFO] [stdout] 155 | "Identity" => Ok(CastLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), // Identity is equivalent t... [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:155:68 [INFO] [stdout] | [INFO] [stdout] 155 | "Identity" => Ok(CastLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), // Identity is equivalent t... [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:156:60 [INFO] [stdout] | [INFO] [stdout] 156 | "InstanceNormalization" => Ok(InstanceNormLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:156:75 [INFO] [stdout] | [INFO] [stdout] 156 | "InstanceNormalization" => Ok(InstanceNormLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:156:89 [INFO] [stdout] | [INFO] [stdout] 156 | "InstanceNormalization" => Ok(InstanceNormLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:157:54 [INFO] [stdout] | [INFO] [stdout] 157 | "BatchNormalization" => Ok(BatchNormLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:157:69 [INFO] [stdout] | [INFO] [stdout] 157 | "BatchNormalization" => Ok(BatchNormLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:157:83 [INFO] [stdout] | [INFO] [stdout] 157 | "BatchNormalization" => Ok(BatchNormLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:158:35 [INFO] [stdout] | [INFO] [stdout] 158 | "Ceil" => Ok(CeilLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:158:50 [INFO] [stdout] | [INFO] [stdout] 158 | "Ceil" => Ok(CeilLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:158:64 [INFO] [stdout] | [INFO] [stdout] 158 | "Ceil" => Ok(CeilLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:159:35 [INFO] [stdout] | [INFO] [stdout] 159 | "Clip" => Ok(ClipLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:159:50 [INFO] [stdout] | [INFO] [stdout] 159 | "Clip" => Ok(ClipLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:159:64 [INFO] [stdout] | [INFO] [stdout] 159 | "Clip" => Ok(ClipLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:160:39 [INFO] [stdout] | [INFO] [stdout] 160 | "Concat" => Ok(ConcatLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:160:54 [INFO] [stdout] | [INFO] [stdout] 160 | "Concat" => Ok(ConcatLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:160:68 [INFO] [stdout] | [INFO] [stdout] 160 | "Concat" => Ok(ConcatLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:161:54 [INFO] [stdout] | [INFO] [stdout] 161 | "ConstantOfShape" => Ok(ConstOfShapeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:161:69 [INFO] [stdout] | [INFO] [stdout] 161 | "ConstantOfShape" => Ok(ConstOfShapeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:161:83 [INFO] [stdout] | [INFO] [stdout] 161 | "ConstantOfShape" => Ok(ConstOfShapeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:162:33 [INFO] [stdout] | [INFO] [stdout] 162 | "Cos" => Ok(CosLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:162:48 [INFO] [stdout] | [INFO] [stdout] 162 | "Cos" => Ok(CosLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:162:62 [INFO] [stdout] | [INFO] [stdout] 162 | "Cos" => Ok(CosLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:163:33 [INFO] [stdout] | [INFO] [stdout] 163 | "Sin" => Ok(SinLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:163:48 [INFO] [stdout] | [INFO] [stdout] 163 | "Sin" => Ok(SinLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:163:62 [INFO] [stdout] | [INFO] [stdout] 163 | "Sin" => Ok(SinLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:164:33 [INFO] [stdout] | [INFO] [stdout] 164 | "Sub" => Ok(SubLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:164:48 [INFO] [stdout] | [INFO] [stdout] 164 | "Sub" => Ok(SubLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:164:62 [INFO] [stdout] | [INFO] [stdout] 164 | "Sub" => Ok(SubLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:165:39 [INFO] [stdout] | [INFO] [stdout] 165 | "Einsum" => Ok(EinsumLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:165:54 [INFO] [stdout] | [INFO] [stdout] 165 | "Einsum" => Ok(EinsumLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:165:68 [INFO] [stdout] | [INFO] [stdout] 165 | "Einsum" => Ok(EinsumLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:166:35 [INFO] [stdout] | [INFO] [stdout] 166 | "Less" => Ok(LessLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:166:50 [INFO] [stdout] | [INFO] [stdout] 166 | "Less" => Ok(LessLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:166:64 [INFO] [stdout] | [INFO] [stdout] 166 | "Less" => Ok(LessLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:167:35 [INFO] [stdout] | [INFO] [stdout] 167 | "LSTM" => Ok(LSTMLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:167:50 [INFO] [stdout] | [INFO] [stdout] 167 | "LSTM" => Ok(LSTMLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:167:64 [INFO] [stdout] | [INFO] [stdout] 167 | "LSTM" => Ok(LSTMLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:168:39 [INFO] [stdout] | [INFO] [stdout] 168 | "MatMul" => Ok(MatMulLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:168:54 [INFO] [stdout] | [INFO] [stdout] 168 | "MatMul" => Ok(MatMulLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:168:68 [INFO] [stdout] | [INFO] [stdout] 168 | "MatMul" => Ok(MatMulLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:169:33 [INFO] [stdout] | [INFO] [stdout] 169 | "Mod" => Ok(ModLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:169:48 [INFO] [stdout] | [INFO] [stdout] 169 | "Mod" => Ok(ModLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:169:62 [INFO] [stdout] | [INFO] [stdout] 169 | "Mod" => Ok(ModLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:170:33 [INFO] [stdout] | [INFO] [stdout] 170 | "Neg" => Ok(NegLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:170:48 [INFO] [stdout] | [INFO] [stdout] 170 | "Neg" => Ok(NegLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:170:62 [INFO] [stdout] | [INFO] [stdout] 170 | "Neg" => Ok(NegLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:171:33 [INFO] [stdout] | [INFO] [stdout] 171 | "Not" => Ok(NotLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:171:48 [INFO] [stdout] | [INFO] [stdout] 171 | "Not" => Ok(NotLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:171:62 [INFO] [stdout] | [INFO] [stdout] 171 | "Not" => Ok(NotLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:172:35 [INFO] [stdout] | [INFO] [stdout] 172 | "Relu" => Ok(ReLULayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:172:50 [INFO] [stdout] | [INFO] [stdout] 172 | "Relu" => Ok(ReLULayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:172:64 [INFO] [stdout] | [INFO] [stdout] 172 | "Relu" => Ok(ReLULayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:173:41 [INFO] [stdout] | [INFO] [stdout] 173 | "Flatten" => Ok(FlattenLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:173:56 [INFO] [stdout] | [INFO] [stdout] 173 | "Flatten" => Ok(FlattenLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:173:70 [INFO] [stdout] | [INFO] [stdout] 173 | "Flatten" => Ok(FlattenLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:174:39 [INFO] [stdout] | [INFO] [stdout] 174 | "Gather" => Ok(GatherLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:174:54 [INFO] [stdout] | [INFO] [stdout] 174 | "Gather" => Ok(GatherLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:174:68 [INFO] [stdout] | [INFO] [stdout] 174 | "Gather" => Ok(GatherLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:175:43 [INFO] [stdout] | [INFO] [stdout] 175 | "GatherND" => Ok(GatherNDLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:175:58 [INFO] [stdout] | [INFO] [stdout] 175 | "GatherND" => Ok(GatherNDLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:175:72 [INFO] [stdout] | [INFO] [stdout] 175 | "GatherND" => Ok(GatherNDLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:176:35 [INFO] [stdout] | [INFO] [stdout] 176 | "Gemm" => Ok(GemmLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:176:50 [INFO] [stdout] | [INFO] [stdout] 176 | "Gemm" => Ok(GemmLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:176:64 [INFO] [stdout] | [INFO] [stdout] 176 | "Gemm" => Ok(GemmLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:177:37 [INFO] [stdout] | [INFO] [stdout] 177 | "Range" => Ok(RangeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:177:52 [INFO] [stdout] | [INFO] [stdout] 177 | "Range" => Ok(RangeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:177:66 [INFO] [stdout] | [INFO] [stdout] 177 | "Range" => Ok(RangeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:178:47 [INFO] [stdout] | [INFO] [stdout] 178 | "Reciprocal" => Ok(ReciprocalLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:178:62 [INFO] [stdout] | [INFO] [stdout] 178 | "Reciprocal" => Ok(ReciprocalLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:178:76 [INFO] [stdout] | [INFO] [stdout] 178 | "Reciprocal" => Ok(ReciprocalLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:179:47 [INFO] [stdout] | [INFO] [stdout] 179 | "ReduceMean" => Ok(ReduceMeanLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:179:62 [INFO] [stdout] | [INFO] [stdout] 179 | "ReduceMean" => Ok(ReduceMeanLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:179:76 [INFO] [stdout] | [INFO] [stdout] 179 | "ReduceMean" => Ok(ReduceMeanLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:180:33 [INFO] [stdout] | [INFO] [stdout] 180 | "Pow" => Ok(PowLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:180:48 [INFO] [stdout] | [INFO] [stdout] 180 | "Pow" => Ok(PowLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:180:62 [INFO] [stdout] | [INFO] [stdout] 180 | "Pow" => Ok(PowLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:181:33 [INFO] [stdout] | [INFO] [stdout] 181 | "Div" => Ok(DivLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:181:48 [INFO] [stdout] | [INFO] [stdout] 181 | "Div" => Ok(DivLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:181:62 [INFO] [stdout] | [INFO] [stdout] 181 | "Div" => Ok(DivLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:182:45 [INFO] [stdout] | [INFO] [stdout] 182 | "ScatterND" => Ok(ScatterNDLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:182:60 [INFO] [stdout] | [INFO] [stdout] 182 | "ScatterND" => Ok(ScatterNDLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:182:74 [INFO] [stdout] | [INFO] [stdout] 182 | "ScatterND" => Ok(ScatterNDLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:183:37 [INFO] [stdout] | [INFO] [stdout] 183 | "Slice" => Ok(SliceLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:183:52 [INFO] [stdout] | [INFO] [stdout] 183 | "Slice" => Ok(SliceLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:183:66 [INFO] [stdout] | [INFO] [stdout] 183 | "Slice" => Ok(SliceLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:184:37 [INFO] [stdout] | [INFO] [stdout] 184 | "Split" => Ok(SplitLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:184:52 [INFO] [stdout] | [INFO] [stdout] 184 | "Split" => Ok(SplitLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:184:66 [INFO] [stdout] | [INFO] [stdout] 184 | "Split" => Ok(SplitLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:185:35 [INFO] [stdout] | [INFO] [stdout] 185 | "Sqrt" => Ok(SqrtLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:185:50 [INFO] [stdout] | [INFO] [stdout] 185 | "Sqrt" => Ok(SqrtLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:185:64 [INFO] [stdout] | [INFO] [stdout] 185 | "Sqrt" => Ok(SqrtLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:186:41 [INFO] [stdout] | [INFO] [stdout] 186 | "Reshape" => Ok(ReshapeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:186:56 [INFO] [stdout] | [INFO] [stdout] 186 | "Reshape" => Ok(ReshapeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:186:70 [INFO] [stdout] | [INFO] [stdout] 186 | "Reshape" => Ok(ReshapeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:187:39 [INFO] [stdout] | [INFO] [stdout] 187 | "Resize" => Ok(ResizeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:187:54 [INFO] [stdout] | [INFO] [stdout] 187 | "Resize" => Ok(ResizeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:187:68 [INFO] [stdout] | [INFO] [stdout] 187 | "Resize" => Ok(ResizeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:188:45 [INFO] [stdout] | [INFO] [stdout] 188 | "Transpose" => Ok(TransposeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:188:60 [INFO] [stdout] | [INFO] [stdout] 188 | "Transpose" => Ok(TransposeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:188:74 [INFO] [stdout] | [INFO] [stdout] 188 | "Transpose" => Ok(TransposeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:189:33 [INFO] [stdout] | [INFO] [stdout] 189 | "Tan" => Ok(TanLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:189:48 [INFO] [stdout] | [INFO] [stdout] 189 | "Tan" => Ok(TanLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:189:62 [INFO] [stdout] | [INFO] [stdout] 189 | "Tan" => Ok(TanLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:190:35 [INFO] [stdout] | [INFO] [stdout] 190 | "Tanh" => Ok(TanhLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:190:50 [INFO] [stdout] | [INFO] [stdout] 190 | "Tanh" => Ok(TanhLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:190:64 [INFO] [stdout] | [INFO] [stdout] 190 | "Tanh" => Ok(TanhLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:191:35 [INFO] [stdout] | [INFO] [stdout] 191 | "TopK" => Ok(TopKLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:191:50 [INFO] [stdout] | [INFO] [stdout] 191 | "TopK" => Ok(TopKLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:191:64 [INFO] [stdout] | [INFO] [stdout] 191 | "TopK" => Ok(TopKLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:192:35 [INFO] [stdout] | [INFO] [stdout] 192 | "Tile" => Ok(TileLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:192:50 [INFO] [stdout] | [INFO] [stdout] 192 | "Tile" => Ok(TileLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:192:64 [INFO] [stdout] | [INFO] [stdout] 192 | "Tile" => Ok(TileLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:193:37 [INFO] [stdout] | [INFO] [stdout] 193 | "Shape" => Ok(ShapeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:193:52 [INFO] [stdout] | [INFO] [stdout] 193 | "Shape" => Ok(ShapeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:193:66 [INFO] [stdout] | [INFO] [stdout] 193 | "Shape" => Ok(ShapeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:194:41 [INFO] [stdout] | [INFO] [stdout] 194 | "Sigmoid" => Ok(SigmoidLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:194:56 [INFO] [stdout] | [INFO] [stdout] 194 | "Sigmoid" => Ok(SigmoidLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:194:70 [INFO] [stdout] | [INFO] [stdout] 194 | "Sigmoid" => Ok(SigmoidLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:195:37 [INFO] [stdout] | [INFO] [stdout] 195 | "Equal" => Ok(EqualLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:195:52 [INFO] [stdout] | [INFO] [stdout] 195 | "Equal" => Ok(EqualLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:195:66 [INFO] [stdout] | [INFO] [stdout] 195 | "Equal" => Ok(EqualLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:196:37 [INFO] [stdout] | [INFO] [stdout] 196 | "Where" => Ok(WhereLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:196:52 [INFO] [stdout] | [INFO] [stdout] 196 | "Where" => Ok(WhereLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:196:66 [INFO] [stdout] | [INFO] [stdout] 196 | "Where" => Ok(WhereLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:197:39 [INFO] [stdout] | [INFO] [stdout] 197 | "Expand" => Ok(ExpandLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:197:54 [INFO] [stdout] | [INFO] [stdout] 197 | "Expand" => Ok(ExpandLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:197:68 [INFO] [stdout] | [INFO] [stdout] 197 | "Expand" => Ok(ExpandLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:198:41 [INFO] [stdout] | [INFO] [stdout] 198 | "Softmax" => Ok(SoftmaxLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:198:56 [INFO] [stdout] | [INFO] [stdout] 198 | "Softmax" => Ok(SoftmaxLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:198:70 [INFO] [stdout] | [INFO] [stdout] 198 | "Softmax" => Ok(SoftmaxLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:199:41 [INFO] [stdout] | [INFO] [stdout] 199 | "Squeeze" => Ok(SqueezeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:199:56 [INFO] [stdout] | [INFO] [stdout] 199 | "Squeeze" => Ok(SqueezeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:199:70 [INFO] [stdout] | [INFO] [stdout] 199 | "Squeeze" => Ok(SqueezeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:200:45 [INFO] [stdout] | [INFO] [stdout] 200 | "Unsqueeze" => Ok(UnsqueezeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:200:60 [INFO] [stdout] | [INFO] [stdout] 200 | "Unsqueeze" => Ok(UnsqueezeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:200:74 [INFO] [stdout] | [INFO] [stdout] 200 | "Unsqueeze" => Ok(UnsqueezeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:201:33 [INFO] [stdout] | [INFO] [stdout] 201 | "Erf" => Ok(ErfLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:201:48 [INFO] [stdout] | [INFO] [stdout] 201 | "Erf" => Ok(ErfLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:201:62 [INFO] [stdout] | [INFO] [stdout] 201 | "Erf" => Ok(ErfLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:202:35 [INFO] [stdout] | [INFO] [stdout] 202 | "Conv" => Ok(ConvLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:202:50 [INFO] [stdout] | [INFO] [stdout] 202 | "Conv" => Ok(ConvLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:202:64 [INFO] [stdout] | [INFO] [stdout] 202 | "Conv" => Ok(ConvLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:203:53 [INFO] [stdout] | [INFO] [stdout] 203 | "ConvTranspose" => Ok(ConvTransposeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:203:68 [INFO] [stdout] | [INFO] [stdout] 203 | "ConvTranspose" => Ok(ConvTransposeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:203:82 [INFO] [stdout] | [INFO] [stdout] 203 | "ConvTranspose" => Ok(ConvTransposeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:204:33 [INFO] [stdout] | [INFO] [stdout] 204 | "Max" => Ok(MaxLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:204:48 [INFO] [stdout] | [INFO] [stdout] 204 | "Max" => Ok(MaxLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:204:62 [INFO] [stdout] | [INFO] [stdout] 204 | "Max" => Ok(MaxLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:205:33 [INFO] [stdout] | [INFO] [stdout] 205 | "Min" => Ok(MinLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:205:48 [INFO] [stdout] | [INFO] [stdout] 205 | "Min" => Ok(MinLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:205:62 [INFO] [stdout] | [INFO] [stdout] 205 | "Min" => Ok(MinLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:206:41 [INFO] [stdout] | [INFO] [stdout] 206 | "MaxPool" => Ok(MaxPoolLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:206:56 [INFO] [stdout] | [INFO] [stdout] 206 | "MaxPool" => Ok(MaxPoolLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:206:70 [INFO] [stdout] | [INFO] [stdout] 206 | "MaxPool" => Ok(MaxPoolLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:207:33 [INFO] [stdout] | [INFO] [stdout] 207 | "Xor" => Ok(XorLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:207:48 [INFO] [stdout] | [INFO] [stdout] 207 | "Xor" => Ok(XorLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:207:62 [INFO] [stdout] | [INFO] [stdout] 207 | "Xor" => Ok(XorLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [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 function has too many arguments (8/7) [INFO] [stdout] --> src/onnx.rs:214:1 [INFO] [stdout] | [INFO] [stdout] 214 | / fn update_graph_w_local_graph( [INFO] [stdout] 215 | | graph: &mut Graph, [INFO] [stdout] 216 | | local_graph: Graph, [INFO] [stdout] 217 | | node: &pb::NodeProto, [INFO] [stdout] ... | [INFO] [stdout] 222 | | precomputable: bool, [INFO] [stdout] 223 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/onnx.rs:243:52 [INFO] [stdout] | [INFO] [stdout] 243 | let node_input = &node.input.iter().filter(|x| x as &str != "").collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!(x as &str).is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] = note: `#[warn(clippy::comparison_to_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/onnx.rs:286:1 [INFO] [stdout] | [INFO] [stdout] 286 | / fn process_node( [INFO] [stdout] 287 | | node: &pb::NodeProto, [INFO] [stdout] 288 | | graph: &mut Graph, [INFO] [stdout] 289 | | shapes: &mut HashMap>, [INFO] [stdout] ... | [INFO] [stdout] 296 | | basic_blocks_idx: &mut HashMap, [INFO] [stdout] 297 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `filter_map` with an identity function [INFO] [stdout] --> src/onnx.rs:303:47 [INFO] [stdout] | [INFO] [stdout] 303 | let input_shapes = input_shapes.into_iter().filter_map(|x| x).collect::>(); // hack: we ignore optional inputs [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `flatten()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_map_identity [INFO] [stdout] = note: `#[warn(clippy::filter_map_identity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for copying elements [INFO] [stdout] --> src/onnx.rs:305:62 [INFO] [stdout] | [INFO] [stdout] 305 | let input_types = input_types.into_iter().filter_map(|opt| opt.map(|x| *x)).collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider calling the dedicated `copied` method: `opt.copied()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/onnx.rs:317:46 [INFO] [stdout] | [INFO] [stdout] 317 | let node_attributes = node.attribute.iter().map(|x| x).collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `(&ArrayBase, 4>>, Dim>, DatumType)` which implements the `Copy` trait [INFO] [stdout] --> src/onnx.rs:322:62 [INFO] [stdout] | [INFO] [stdout] 322 | let node_inputs: Vec<_> = node_constants.iter().map(|&x| x.unwrap().clone()).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `x.unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:332:56 [INFO] [stdout] | [INFO] [stdout] 332 | update_graph_w_local_graph(graph, local_graph, node, &input_idx, outputs_idx, basic_blocks_idx, models, precomputable); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `input_idx` [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 borrows a value the compiler would automatically borrow [INFO] [stdout] --> src/onnx.rs:337:29 [INFO] [stdout] | [INFO] [stdout] 337 | passed_constants.insert((&node.output[0]).to_string(), util::pad_to_pow_of_two(&shape, &Fr::zero())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `node.output[0]` [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] --> src/ptau.rs:56:3 [INFO] [stdout] | [INFO] [stdout] 45 | / let res = SRS { [INFO] [stdout] 46 | | Y1A: g1[g2.len() - 1], [INFO] [stdout] 47 | | Y2A: g2[g2.len() - 1], [INFO] [stdout] 48 | | Y1P: g1_p[g2.len() - 1], [INFO] [stdout] ... | [INFO] [stdout] 53 | | X2P: g2_p, [INFO] [stdout] 54 | | }; [INFO] [stdout] | |____- unnecessary `let` binding [INFO] [stdout] 55 | [INFO] [stdout] 56 | res [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] 45 ~ [INFO] [stdout] 46 | [INFO] [stdout] 47 ~ SRS { [INFO] [stdout] 48 + Y1A: g1[g2.len() - 1], [INFO] [stdout] 49 + Y2A: g2[g2.len() - 1], [INFO] [stdout] 50 + Y1P: g1_p[g2.len() - 1], [INFO] [stdout] 51 + Y2P: g2_p[g2.len() - 1], [INFO] [stdout] 52 + X1A: g1, [INFO] [stdout] 53 + X2A: g2, [INFO] [stdout] 54 + X1P: g1_p, [INFO] [stdout] 55 + X2P: g2_p, [INFO] [stdout] 56 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/util/arithmetic.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 44 | let a1 = 0.254829592; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] = note: `#[warn(clippy::excessive_precision)]` on by default [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 44 - let a1 = 0.254829592; [INFO] [stdout] 44 + let a1 = 0.254_829_6; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/util/arithmetic.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | let a2 = -0.284496736; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 45 - let a2 = -0.284496736; [INFO] [stdout] 45 + let a2 = -0.284_496_72; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/util/arithmetic.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | let a3 = 1.421413741; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 46 - let a3 = 1.421413741; [INFO] [stdout] 46 + let a3 = 1.421_413_8; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/util/arithmetic.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | let a4 = -1.453152027; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 47 - let a4 = -1.453152027; [INFO] [stdout] 47 + let a4 = -1.453_152_1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/util/arithmetic.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | let a5 = 1.061405429; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 48 - let a5 = 1.061405429; [INFO] [stdout] 48 + let a5 = 1.061_405_4; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/util/copy_constraint.rs:16:3 [INFO] [stdout] | [INFO] [stdout] 15 | let padded_indices = pad_to_pow_of_two(&output_indices, &None); [INFO] [stdout] | --------------------------------------------------------------- unnecessary `let` binding [INFO] [stdout] 16 | padded_indices [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] 15 ~ [INFO] [stdout] 16 ~ pad_to_pow_of_two(&output_indices, &None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/util/fft.rs:40:92 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn fft>(domain: GeneralEvaluationDomain, a: &Vec) -> Vec { [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 40 - pub fn fft>(domain: GeneralEvaluationDomain, a: &Vec) -> Vec { [INFO] [stdout] 40 + pub fn fft>(domain: GeneralEvaluationDomain, a: &[G]) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/util/fft.rs:54:93 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn ifft>(domain: GeneralEvaluationDomain, a: &Vec) -> Vec { [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 54 - pub fn ifft>(domain: GeneralEvaluationDomain, a: &Vec) -> Vec { [INFO] [stdout] 54 + pub fn ifft>(domain: GeneralEvaluationDomain, a: &[G]) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util/fft.rs:118:11 [INFO] [stdout] | [INFO] [stdout] 118 | return curr.0[k + j] + t; [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] 118 - return curr.0[k + j] + t; [INFO] [stdout] 118 + curr.0[k + j] + t [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util/fft.rs:120:11 [INFO] [stdout] | [INFO] [stdout] 120 | return curr.0[k + j] - t; [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] 120 - return curr.0[k + j] - t; [INFO] [stdout] 120 + curr.0[k + j] - t [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/util/iter.rs:26:23 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn vec_iter(x: &Vec) -> impl Iterator { [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 26 - pub fn vec_iter(x: &Vec) -> impl Iterator { [INFO] [stdout] 26 + pub fn vec_iter(x: &[T]) -> impl Iterator { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/util/msm.rs:58:102 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn circulant_mul>(domain: GeneralEvaluationDomain, c: &Vec, a: &Vec) -> Vec { [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 58 - pub fn circulant_mul>(domain: GeneralEvaluationDomain, c: &Vec, a: &Vec) -> Vec { [INFO] [stdout] 58 + pub fn circulant_mul>(domain: GeneralEvaluationDomain, c: &[Fr], a: &Vec) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/util/msm.rs:66:61 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn toeplitz_mul(domain: GeneralEvaluationDomain, m: &Vec, a: &Vec) -> Vec { [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 66 - pub fn toeplitz_mul(domain: GeneralEvaluationDomain, m: &Vec, a: &Vec) -> Vec { [INFO] [stdout] 66 + pub fn toeplitz_mul(domain: GeneralEvaluationDomain, m: &[Fr], a: &Vec) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/util/msm.rs:67:11 [INFO] [stdout] | [INFO] [stdout] 67 | let n = (m.len() + 1) / 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `m.len().div_ceil(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] = note: `#[warn(clippy::manual_div_ceil)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util/msm.rs:90:3 [INFO] [stdout] | [INFO] [stdout] 90 | return a_chunks.zip(b_chunks).map(|(x, y)| -> P { VariableBaseMSM::msm_unchecked(&x, &y) }).sum(); [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] 90 - return a_chunks.zip(b_chunks).map(|(x, y)| -> P { VariableBaseMSM::msm_unchecked(&x, &y) }).sum(); [INFO] [stdout] 90 + a_chunks.zip(b_chunks).map(|(x, y)| -> P { VariableBaseMSM::msm_unchecked(&x, &y) }).sum() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/util/msm.rs:83:43 [INFO] [stdout] | [INFO] [stdout] 83 | return VariableBaseMSM::msm_unchecked(&a, &b); [INFO] [stdout] | ^^ help: change this to: `a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/util/msm.rs:83:47 [INFO] [stdout] | [INFO] [stdout] 83 | return VariableBaseMSM::msm_unchecked(&a, &b); [INFO] [stdout] | ^^ help: change this to: `b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/util/msm.rs:90:84 [INFO] [stdout] | [INFO] [stdout] 90 | return a_chunks.zip(b_chunks).map(|(x, y)| -> P { VariableBaseMSM::msm_unchecked(&x, &y) }).sum(); [INFO] [stdout] | ^^ help: change this to: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/util/msm.rs:90:88 [INFO] [stdout] | [INFO] [stdout] 90 | return a_chunks.zip(b_chunks).map(|(x, y)| -> P { VariableBaseMSM::msm_unchecked(&x, &y) }).sum(); [INFO] [stdout] | ^^ help: change this to: `y` [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 `.fold` can be written more succinctly using another method [INFO] [stdout] --> src/util/onnx.rs:58:30 [INFO] [stdout] | [INFO] [stdout] 58 | let val_num = shape.iter().fold(1, |acc, x| acc * x); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `product::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/util/poly.rs:32:25 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn mul_polys(polys: &Vec>) -> DensePolynomial { [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 32 - pub fn mul_polys(polys: &Vec>) -> DensePolynomial { [INFO] [stdout] 32 + pub fn mul_polys(polys: &[DensePolynomial]) -> DensePolynomial { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stdout] --> src/util/prover.rs:11:34 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn gen_cq_table(basic_block: &Box, offset: i32, size: usize) -> ArrayD { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `&dyn BasicBlock` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stdout] = note: `#[warn(clippy::borrowed_box)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/util/shape.rs:49:3 [INFO] [stdout] | [INFO] [stdout] 47 | let padded = ArrayD::from_shape_vec(dim, tmp).unwrap(); [INFO] [stdout] | ------------------------------------------------------- unnecessary `let` binding [INFO] [stdout] 48 | [INFO] [stdout] 49 | padded [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] 47 ~ [INFO] [stdout] 48 | [INFO] [stdout] 49 ~ ArrayD::from_shape_vec(dim, tmp).unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/util/shape.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | let tmp = padded.into_iter().map(|x| x.clone()).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `padded.into_iter().cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/util/shape.rs:54:7 [INFO] [stdout] | [INFO] [stdout] 54 | pad(&input, &padding, &pad_val) [INFO] [stdout] | ^^^^^^ help: change this to: `input` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/util/shape.rs:54:25 [INFO] [stdout] | [INFO] [stdout] 54 | pad(&input, &padding, &pad_val) [INFO] [stdout] | ^^^^^^^^ help: change this to: `pad_val` [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: redundant closure [INFO] [stdout] --> src/util/verifier.rs:30:41 [INFO] [stdout] | [INFO] [stdout] 30 | A.entry(pairing.0).or_insert_with(|| HashSet::new()).insert((pairing.1, curr)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `HashSet::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/util/verifier.rs:31:41 [INFO] [stdout] | [INFO] [stdout] 31 | B.entry(pairing.1).or_insert_with(|| HashSet::new()).insert((pairing.0, curr)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `HashSet::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/util/verifier.rs:56:27 [INFO] [stdout] | [INFO] [stdout] 56 | let S = B.get_mut(&p).unwrap(); [INFO] [stdout] | ^^ help: change this to: `p` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/util/verifier.rs:60:20 [INFO] [stdout] | [INFO] [stdout] 60 | B.remove(&p); [INFO] [stdout] | ^^ help: change this to: `p` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/util/verifier.rs:74:27 [INFO] [stdout] | [INFO] [stdout] 74 | let S = A.get_mut(&p).unwrap(); [INFO] [stdout] | ^^ help: change this to: `p` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/util/verifier.rs:78:20 [INFO] [stdout] | [INFO] [stdout] 78 | A.remove(&p); [INFO] [stdout] | ^^ help: change this to: `p` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `witness.x.get(0)` [INFO] [stdout] --> src/training/proof.rs:171:13 [INFO] [stdout] | [INFO] [stdout] 171 | let x0 = *witness.x.get(0).ok_or("witness.x missing index 0")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `witness.x.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `witness.grad_y.get(0)` [INFO] [stdout] --> src/training/proof.rs:172:18 [INFO] [stdout] | [INFO] [stdout] 172 | let grad_y0 = *witness.grad_y.get(0).ok_or("witness.grad_y missing index 0")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `witness.grad_y.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `witness [INFO] [stdout] .w1_before.get(0)` [INFO] [stdout] --> src/training/proof.rs:173:16 [INFO] [stdout] | [INFO] [stdout] 173 | let w1_00 = *witness [INFO] [stdout] | ________________^ [INFO] [stdout] 174 | | .w1_before [INFO] [stdout] 175 | | .get(0) [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 173 ~ let w1_00 = *witness [INFO] [stdout] 174 + .w1_before.first() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `row.get(0)` [INFO] [stdout] --> src/training/proof.rs:176:21 [INFO] [stdout] | [INFO] [stdout] 176 | .and_then(|row| row.get(0)) [INFO] [stdout] | ^^^^^^^^^^ help: try: `row.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `witness [INFO] [stdout] .w2_before.get(0)` [INFO] [stdout] --> src/training/proof.rs:178:16 [INFO] [stdout] | [INFO] [stdout] 178 | let w2_00 = *witness [INFO] [stdout] | ________________^ [INFO] [stdout] 179 | | .w2_before [INFO] [stdout] 180 | | .get(0) [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 178 ~ let w2_00 = *witness [INFO] [stdout] 179 + .w2_before.first() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `row.get(0)` [INFO] [stdout] --> src/training/proof.rs:181:21 [INFO] [stdout] | [INFO] [stdout] 181 | .and_then(|row| row.get(0)) [INFO] [stdout] | ^^^^^^^^^^ help: try: `row.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `v.get(0)` [INFO] [stdout] --> src/training/proof.rs:225:19 [INFO] [stdout] | [INFO] [stdout] 225 | .and_then(|v| v.get(0)) [INFO] [stdout] | ^^^^^^^^ help: try: `v.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/training/proof.rs:240:22 [INFO] [stdout] | [INFO] [stdout] 240 | let setups_affine: Vec<(Vec, Vec, Vec>)> = setups_proj [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/training/proof.rs:250:19 [INFO] [stdout] | [INFO] [stdout] 250 | let setups_ref: Vec<(&Vec, &Vec, &Vec>)> = [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: calls to `push` immediately after creation [INFO] [stdout] --> src/training/compile.rs:154:3 [INFO] [stdout] | [INFO] [stdout] 154 | / let mut models = Vec::new(); [INFO] [stdout] 155 | | models.push(ArrayD::zeros(IxDyn(&[1]))); [INFO] [stdout] 156 | | models.push(ArrayD::zeros(IxDyn(&[0]))); [INFO] [stdout] 157 | | models.push(ArrayD::zeros(IxDyn(&[0]))); [INFO] [stdout] ... | [INFO] [stdout] 161 | | models.push(ArrayD::zeros(IxDyn(&[0]))); [INFO] [stdout] 162 | | models.push(ArrayD::zeros(IxDyn(&[0]))); [INFO] [stdout] | |__________________________________________^ help: consider using the `vec![]` macro: `let models = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/training/mod.rs:39:16 [INFO] [stdout] | [INFO] [stdout] 39 | fn setup_graph<'a>( [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 42 | models: &'a Vec<&ArrayD>, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 39 ~ fn setup_graph( [INFO] [stdout] 40 | srs: &SRS, [INFO] [stdout] 41 | graph: &Graph, [INFO] [stdout] 42 ~ models: &Vec<&ArrayD>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/training/mod.rs:44:6 [INFO] [stdout] | [INFO] [stdout] 44 | ) -> (Vec>, Vec<(Vec, Vec, Vec>)>) { [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/training/mod.rs:54:10 [INFO] [stdout] | [INFO] [stdout] 54 | setups: &Vec<(Vec, Vec, Vec>)>, [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 function has too many arguments (8/7) [INFO] [stdout] --> src/training/mod.rs:51:1 [INFO] [stdout] | [INFO] [stdout] 51 | / fn encode_and_prove( [INFO] [stdout] 52 | | srs: &SRS, [INFO] [stdout] 53 | | graph: &mut Graph, [INFO] [stdout] 54 | | setups: &Vec<(Vec, Vec, Vec>)>, [INFO] [stdout] ... | [INFO] [stdout] 59 | | timing: &mut TimingTree, [INFO] [stdout] 60 | | ) -> Vec { [INFO] [stdout] | |____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/training/mod.rs:55:10 [INFO] [stdout] | [INFO] [stdout] 55 | models: &Vec>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 55 - models: &Vec>, [INFO] [stdout] 55 + models: &[ArrayD], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/training/mod.rs:57:11 [INFO] [stdout] | [INFO] [stdout] 57 | outputs: &Vec>>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 57 - outputs: &Vec>>, [INFO] [stdout] 57 + outputs: &[Vec>], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/training/mod.rs:61:21 [INFO] [stdout] | [INFO] [stdout] 61 | let setups_affine: Vec<(Vec, Vec, Vec>)> = setups [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/training/mod.rs:71:18 [INFO] [stdout] | [INFO] [stdout] 71 | let setups_ref: Vec<(&Vec, &Vec, &Vec>)> = [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 function has too many arguments (11/7) [INFO] [stdout] --> src/training/mod.rs:111:1 [INFO] [stdout] | [INFO] [stdout] 111 | / pub fn prove_training_step( [INFO] [stdout] 112 | | srs: &SRS, [INFO] [stdout] 113 | | forward_graph: &mut Graph, [INFO] [stdout] 114 | | backward_graph: &mut Graph, [INFO] [stdout] ... | [INFO] [stdout] 122 | | rng: &mut StdRng, [INFO] [stdout] 123 | | ) -> Result { [INFO] [stdout] | |____________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/training/mod.rs:419:6 [INFO] [stdout] | [INFO] [stdout] 419 | if gw != &optimizer_update.grad { [INFO] [stdout] | ^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `optimizer_update.grad` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/basic_block/cq2.rs:79:18 [INFO] [stdout] | [INFO] [stdout] 79 | let inputs = vec![inputs[0].first().unwrap(), inputs[1].first().unwrap()]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[inputs[0].first().unwrap(), inputs[1].first().unwrap()]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/basic_block/cq2.rs:196:18 [INFO] [stdout] | [INFO] [stdout] 196 | let inputs = vec![inputs[0].first().unwrap(), inputs[1].first().unwrap()]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[inputs[0].first().unwrap(), inputs[1].first().unwrap()]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/basic_block/cqlin.rs:187:17 [INFO] [stdout] | [INFO] [stdout] 187 | let proof = vec![R_x, Q_x, A_x, S_x, P_x, P_R_x, pi, pi_1]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[R_x, Q_x, A_x, S_x, P_x, P_R_x, pi, pi_1]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/basic_block/one_to_one.rs:221:29 [INFO] [stdout] | [INFO] [stdout] 221 | let h_numerator_terms = vec![ [INFO] [stdout] | _____________________________^ [INFO] [stdout] 222 | | t_poly.clone().sub(&evals_polys[0].clone()), [INFO] [stdout] 223 | | Z_poly.clone().sub(&evals_polys[1].clone()), [INFO] [stdout] 224 | | g_poly.clone().sub(&evals_polys[3].clone()), [INFO] [stdout] ... | [INFO] [stdout] 227 | | g_idx_s_poly.clone().sub(&evals_polys[6].clone()), [INFO] [stdout] 228 | | ]; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 221 ~ let h_numerator_terms = [t_poly.clone().sub(&evals_polys[0].clone()), [INFO] [stdout] 222 + Z_poly.clone().sub(&evals_polys[1].clone()), [INFO] [stdout] 223 + g_poly.clone().sub(&evals_polys[3].clone()), [INFO] [stdout] 224 + g_idx_poly.clone().sub(&evals_polys[4].clone()), [INFO] [stdout] 225 + g_s_poly.clone().sub(&evals_polys[5].clone()), [INFO] [stdout] 226 ~ g_idx_s_poly.clone().sub(&evals_polys[6].clone())]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/basic_block/one_to_one.rs:237:35 [INFO] [stdout] | [INFO] [stdout] 237 | let h_prime_numerator_terms = vec![Z_poly.clone().sub(&evals_polys[2].clone())]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[Z_poly.clone().sub(&evals_polys[2].clone())]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/basic_block/ordered.rs:141:29 [INFO] [stdout] | [INFO] [stdout] 141 | let h_numerator_terms = vec![ [INFO] [stdout] | _____________________________^ [INFO] [stdout] 142 | | t_poly.clone().sub(&evals_polys[0].clone()), [INFO] [stdout] 143 | | g_s_poly.clone().sub(&evals_polys[1].clone()), [INFO] [stdout] 144 | | g_diff_poly.clone().sub(&evals_polys[3].clone()), [INFO] [stdout] 145 | | ]; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 141 ~ let h_numerator_terms = [t_poly.clone().sub(&evals_polys[0].clone()), [INFO] [stdout] 142 + g_s_poly.clone().sub(&evals_polys[1].clone()), [INFO] [stdout] 143 ~ g_diff_poly.clone().sub(&evals_polys[3].clone())]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/basic_block/ordered.rs:154:35 [INFO] [stdout] | [INFO] [stdout] 154 | let h_prime_numerator_terms = vec![g_s_poly.clone().sub(&evals_polys[2].clone())]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[g_s_poly.clone().sub(&evals_polys[2].clone())]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/layer/conv.rs:128:52 [INFO] [stdout] | [INFO] [stdout] 128 | let flattened_inp = ArrayD::from_shape_vec(IxDyn(&vec![outp_size, conv_size]), flattened_inp).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[outp_size, conv_size]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/layer/expand.rs:31:20 [INFO] [stdout] | [INFO] [stdout] 31 | let newShape = vec![shape0.clone(), shape1.clone()]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[shape0.clone(), shape1.clone()]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/layer/gemm.rs:90:15 [INFO] [stdout] | [INFO] [stdout] 90 | c: arr1(&vec![Fr::from((alpha * *onnx::SF_FLOAT) as i64)]).into_dyn(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[Fr::from((alpha * *onnx::SF_FLOAT) as i64)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/layer/gemm.rs:93:15 [INFO] [stdout] | [INFO] [stdout] 93 | c: arr1(&vec![Fr::from((beta * *onnx::SF_FLOAT) as i64)]).into_dyn(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[Fr::from((beta * *onnx::SF_FLOAT) as i64)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/layer/lstm.rs:65:28 [INFO] [stdout] | [INFO] [stdout] 65 | let mut outputShapes = vec![B_shape.clone(), B_shape.clone()]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[B_shape.clone(), B_shape.clone()]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/layer/lstm.rs:280:16 [INFO] [stdout] | [INFO] [stdout] 280 | shape: vec![1, num_directions, batch_size, hidden_size].iter().map(|&x| util::next_pow(x as u32) as usize).collect(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[1, num_directions, batch_size, hidden_size]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/layer/lstm.rs:290:16 [INFO] [stdout] | [INFO] [stdout] 290 | shape: vec![1, num_directions, batch_size, hidden_size].iter().map(|&x| util::next_pow(x as u32) as usize).collect(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[1, num_directions, batch_size, hidden_size]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/layer/norm.rs:61:15 [INFO] [stdout] | [INFO] [stdout] 61 | c: arr1(&vec![Fr::from(epsilon.round() as i32)]).into_dyn(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[Fr::from(epsilon.round() as i32)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/layer/norm.rs:299:15 [INFO] [stdout] | [INFO] [stdout] 299 | c: arr1(&vec![Fr::from(epsilon.round() as i32)]).into_dyn(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[Fr::from(epsilon.round() as i32)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/training/proof.rs:203:27 [INFO] [stdout] | [INFO] [stdout] 203 | let mut input_tensors = vec![x_tensor, upstream_tensor, lr_tensor, dummy_chal_tensor, w1_tensor, w2_tensor]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[x_tensor, upstream_tensor, lr_tensor, dummy_chal_tensor, w1_tensor, w2_tensor]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/basic_block/matmul.rs:13:48 [INFO] [stdout] | [INFO] [stdout] 13 | fn index<'a, T>(A: &'a ArrayD, i: usize) -> &T { [INFO] [stdout] | -- ^^ the same lifetime is elided here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 13 | fn index<'a, T>(A: &'a ArrayD, i: usize) -> &'a T { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y_pred` [INFO] [stdout] --> src/training/proof.rs:64:7 [INFO] [stdout] | [INFO] [stdout] 64 | let y_pred = vec_to_array1(&w.y_pred); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_pred` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `splat_weights` is never used [INFO] [stdout] --> src/layer/conv.rs:101:4 [INFO] [stdout] | [INFO] [stdout] 101 | fn splat_weights(weights_shape: &Vec, is_transpose: bool) -> Vec>> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `ark_ec::short_weierstrass::Affine` [INFO] [stdout] --> src/basic_block/bool_check.rs:166:8 [INFO] [stdout] | [INFO] [stdout] 166 | (C.into(), srs.Y2A), [INFO] [stdout] | ^^^^^^^^ help: consider removing `.into()`: `C` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binary comparison to literal `Option::None` [INFO] [stdout] --> src/basic_block/copy_constraint.rs:30:11 [INFO] [stdout] | [INFO] [stdout] 30 | assert!(*idx == None || shape.ndim() == idx.as_ref().unwrap().ndim()); [INFO] [stdout] | ^^^^^^^^^^^^ help: use `Option::is_none()` instead: `idx.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none [INFO] [stdout] = note: `#[warn(clippy::partialeq_to_none)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/basic_block/copy_constraint.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 64 | idxs: &[((usize, usize), Option<(usize, usize)>)], [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/basic_block/copy_constraint.rs:67:14 [INFO] [stdout] | [INFO] [stdout] 67 | sigma_map: &HashMap, HashMap<(usize, usize), (usize, usize)>>, [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: binary comparison to literal `Option::None` [INFO] [stdout] --> src/basic_block/copy_constraint.rs:90:8 [INFO] [stdout] | [INFO] [stdout] 90 | if permutation[&i] == None { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `Option::is_none()` instead: `permutation[&i].is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/basic_block/copy_constraint.rs:95:6 [INFO] [stdout] | [INFO] [stdout] 95 | if partition.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!partition.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: length comparison to zero [INFO] [stdout] --> src/basic_block/copy_constraint.rs:127:8 [INFO] [stdout] | [INFO] [stdout] 127 | if nonzero_indices.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!nonzero_indices.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] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/basic_block/copy_constraint.rs:131:6 [INFO] [stdout] | [INFO] [stdout] 131 | if zero_indices.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!zero_indices.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] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/basic_block/copy_constraint.rs:221:10 [INFO] [stdout] | [INFO] [stdout] 221 | if flat_idxs.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!flat_idxs.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] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/basic_block/copy_constraint.rs:238:20 [INFO] [stdout] | [INFO] [stdout] 238 | let sigma_map: HashMap, HashMap<(usize, usize), (usize, usize)>> = partitions [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: unneeded `return` statement [INFO] [stdout] --> src/basic_block/copy_constraint.rs:535:5 [INFO] [stdout] | [INFO] [stdout] 535 | return (proof, vec![], evals); [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] 535 - return (proof, vec![], evals); [INFO] [stdout] 535 + (proof, vec![], evals) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/basic_block/copy_constraint.rs:640:7 [INFO] [stdout] | [INFO] [stdout] 640 | D = D + pad_x * alpha_pows[i + 1] * Lnone_zs[i]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `D += pad_x * alpha_pows[i + 1] * Lnone_zs[i]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/basic_block/cq.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | return (setup, vec![T_x_2], Vec::new()); [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] 56 - return (setup, vec![T_x_2], Vec::new()); [INFO] [stdout] 56 + (setup, vec![T_x_2], Vec::new()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/basic_block/cq.rs:41:46 [INFO] [stdout] | [INFO] [stdout] 41 | let temp2 = domain_N.group_gen_inv().pow(&[(N - 1) as u64]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `[(N - 1) as u64]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/basic_block/cq.rs:42:75 [INFO] [stdout] | [INFO] [stdout] 42 | let scalars: Vec<_> = (0..N).into_par_iter().map(|i| temp * temp2.pow(&[i as u64])).collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `[i as u64]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/basic_block/cq.rs:47:79 [INFO] [stdout] | [INFO] [stdout] 47 | let scalars = (0..N).into_par_iter().map(|i| domain_N.group_gen_inv().pow(&[i as u64])).collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `[i as u64]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/basic_block/cq.rs:153:5 [INFO] [stdout] | [INFO] [stdout] 153 | return (proof, vec![setup.1[0].into(), f_x_2], Vec::new()); [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] 153 - return (proof, vec![setup.1[0].into(), f_x_2], Vec::new()); [INFO] [stdout] 153 + (proof, vec![setup.1[0].into(), f_x_2], Vec::new()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/basic_block/cq.rs:88:10 [INFO] [stdout] | [INFO] [stdout] 88 | if table_dict.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `table_dict.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] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/basic_block/cq.rs:100:19 [INFO] [stdout] | [INFO] [stdout] 100 | m_i.entry(table_dict.get(x).unwrap().clone()).and_modify(|y| *y += 1).or_insert(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*table_dict.get(x).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: iterating on a map's values [INFO] [stdout] --> src/basic_block/cq.rs:115:72 [INFO] [stdout] | [INFO] [stdout] 115 | let A_zero = srs.X1P[0] * (Fr::from(N as u32).inverse().unwrap() * A_i.iter().map(|(_, y)| *y).sum::()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `A_i.values().map(|y| *y)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_kv_map [INFO] [stdout] = note: `#[warn(clippy::iter_kv_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/basic_block/cq2.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | return (setup, setup2, Vec::new()); [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] 64 - return (setup, setup2, Vec::new()); [INFO] [stdout] 64 + (setup, setup2, Vec::new()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/basic_block/cq2.rs:47:48 [INFO] [stdout] | [INFO] [stdout] 47 | let temp2 = domain_N.group_gen_inv().pow(&[(N - 1) as u64]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `[(N - 1) as u64]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/basic_block/cq2.rs:48:69 [INFO] [stdout] | [INFO] [stdout] 48 | let scalars = (0..N).into_par_iter().map(|i| temp * temp2.pow(&[i as u64])).collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `[i as u64]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/basic_block/cq2.rs:57:79 [INFO] [stdout] | [INFO] [stdout] 57 | let scalars = (0..N).into_par_iter().map(|i| domain_N.group_gen_inv().pow(&[i as u64])).collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `[i as u64]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/basic_block/cq2.rs:182:5 [INFO] [stdout] | [INFO] [stdout] 182 | return (proof, vec![(setup.1[0] + setup.1[1] * alpha).into(), f_x_2], Vec::new()); [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] 182 - return (proof, vec![(setup.1[0] + setup.1[1] * alpha).into(), f_x_2], Vec::new()); [INFO] [stdout] 182 + (proof, vec![(setup.1[0] + setup.1[1] * alpha).into(), f_x_2], Vec::new()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/basic_block/cq2.rs:103:10 [INFO] [stdout] | [INFO] [stdout] 103 | if table_dict.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `table_dict.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] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/basic_block/cq2.rs:116:19 [INFO] [stdout] | [INFO] [stdout] 116 | m_i.entry(table_dict.get(&temp).unwrap().clone()).and_modify(|y| *y += 1).or_insert(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*table_dict.get(&temp).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: iterating on a map's keys [INFO] [stdout] --> src/basic_block/cq2.rs:137:35 [INFO] [stdout] | [INFO] [stdout] 137 | let temp: Vec = A_i.iter().map(|(i, _)| Q_i_x_1_A[*i] + Q_i_x_1_B[*i] * alpha).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `A_i.keys().map(|i| Q_i_x_1_A[*i] + Q_i_x_1_B[*i] * alpha)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_kv_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: iterating on a map's values [INFO] [stdout] --> src/basic_block/cq2.rs:140:72 [INFO] [stdout] | [INFO] [stdout] 140 | let A_zero = srs.X1P[0] * (Fr::from(N as u32).inverse().unwrap() * A_i.iter().map(|(_, y)| *y).sum::()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `A_i.values().map(|y| *y)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_kv_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: iterating on a map's keys [INFO] [stdout] --> src/basic_block/cq2.rs:141:31 [INFO] [stdout] | [INFO] [stdout] 141 | let temp: Vec = A_i.iter().map(|(i, _)| L_i_0_x_1[*i]).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `A_i.keys().map(|i| L_i_0_x_1[*i])` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_kv_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `ark_ec::short_weierstrass::Projective` [INFO] [stdout] --> src/basic_block/cq2.rs:182:25 [INFO] [stdout] | [INFO] [stdout] 182 | return (proof, vec![(setup.1[0] + setup.1[1] * alpha).into(), f_x_2], Vec::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `(setup.1[0] + setup.1[1] * alpha)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `ark_ec::short_weierstrass::Projective` [INFO] [stdout] --> src/basic_block/cqlin.rs:39:79 [INFO] [stdout] | [INFO] [stdout] 39 | let mut L_V_i_x: Vec = srs.X1P[..m].into_par_iter().map(|x| (*x).into()).collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: consider removing `.into()`: `(*x)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `ark_ec::short_weierstrass::Projective` [INFO] [stdout] --> src/basic_block/cqlin.rs:103:18 [INFO] [stdout] | [INFO] [stdout] 103 | (setup, vec![M_x.into()], Vec::new()) [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `M_x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/basic_block/cqlin.rs:208:5 [INFO] [stdout] | [INFO] [stdout] 208 | return (proof, vec![M_x_2], Vec::new()); [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] 208 - return (proof, vec![M_x_2], Vec::new()); [INFO] [stdout] 208 + (proof, vec![M_x_2], Vec::new()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp, 4>` which implements the `Copy` trait [INFO] [stdout] --> src/basic_block/cqlin.rs:126:7 [INFO] [stdout] | [INFO] [stdout] 126 | alpha.clone() [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*alpha` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `inputs` [INFO] [stdout] --> src/basic_block/cqlin.rs:141:14 [INFO] [stdout] | [INFO] [stdout] 141 | for i in 0..l { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 141 - for i in 0..l { [INFO] [stdout] 141 + for (i, ) in inputs.iter().enumerate().take(l) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `flat_A` [INFO] [stdout] --> src/basic_block/cqlin.rs:142:16 [INFO] [stdout] | [INFO] [stdout] 142 | for j in 0..m { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 142 - for j in 0..m { [INFO] [stdout] 142 + for (j, ) in flat_A.iter_mut().enumerate().take(m) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `outputs` [INFO] [stdout] --> src/basic_block/cqlin.rs:152:14 [INFO] [stdout] | [INFO] [stdout] 152 | for i in 0..l { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 152 - for i in 0..l { [INFO] [stdout] 152 + for (i, ) in outputs.iter().enumerate().take(l) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `flat_C` [INFO] [stdout] --> src/basic_block/cqlin.rs:153:16 [INFO] [stdout] | [INFO] [stdout] 153 | for j in 0..n { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 153 - for j in 0..n { [INFO] [stdout] 153 + for (j, ) in flat_C.iter_mut().enumerate().take(n) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/basic_block/cqlin.rs:174:53 [INFO] [stdout] | [INFO] [stdout] 174 | let P_R_x: G1Affine = util::msm::(&P_R, &flat_A.raw).into(); [INFO] [stdout] | ^^^^ help: change this to: `P_R` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/basic_block/cqlin.rs:177:29 [INFO] [stdout] | [INFO] [stdout] 177 | let gamma_n = gamma.pow(&[n as u64]); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `[n as u64]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `ark_ec::short_weierstrass::Projective` [INFO] [stdout] --> src/basic_block/cqlin.rs:180:13 [INFO] [stdout] | [INFO] [stdout] 180 | let z = (srs.X1P[0] * z).into(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `(srs.X1P[0] * z)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/basic_block/cqlin.rs:181:40 [INFO] [stdout] | [INFO] [stdout] 181 | let pi = util::msm::(&L_V_i_x, &h_i).into(); [INFO] [stdout] | ^^^^^^^^ help: change this to: `L_V_i_x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/basic_block/cqlin.rs:182:42 [INFO] [stdout] | [INFO] [stdout] 182 | let pi_1 = util::msm::(&L_V_i_x_n, &h_i).into(); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `L_V_i_x_n` [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: useless conversion to the same type: `ark_ec::short_weierstrass::Projective` [INFO] [stdout] --> src/basic_block/cqlin.rs:206:17 [INFO] [stdout] | [INFO] [stdout] 206 | let M_x_2 = (setup.1[0] + srs.Y2P * r[8]).into(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `(setup.1[0] + srs.Y2P * r[8])` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp, 4>` which implements the `Copy` trait [INFO] [stdout] --> src/basic_block/cqlin.rs:238:7 [INFO] [stdout] | [INFO] [stdout] 238 | alpha.clone() [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*alpha` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/basic_block/cqlin.rs:271:29 [INFO] [stdout] | [INFO] [stdout] 271 | let gamma_n = gamma.pow(&[n as u64]); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `[n as u64]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/basic_block/matmul.rs:13:10 [INFO] [stdout] | [INFO] [stdout] 13 | fn index<'a, T>(A: &'a ArrayD, i: usize) -> &T { [INFO] [stdout] | ^^ ^^ ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 13 - fn index<'a, T>(A: &'a ArrayD, i: usize) -> &T { [INFO] [stdout] 13 + fn index(A: &ArrayD, i: usize) -> &T { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/basic_block/matmul.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 167 | return (proof, vec![flat_B_g2], Vec::new()); [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] 167 - return (proof, vec![flat_B_g2], Vec::new()); [INFO] [stdout] 167 + (proof, vec![flat_B_g2], Vec::new()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp, 4>` which implements the `Copy` trait [INFO] [stdout] --> src/basic_block/matmul.rs:72:19 [INFO] [stdout] | [INFO] [stdout] 72 | let alpha = alpha.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*alpha` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp, 4>` which implements the `Copy` trait [INFO] [stdout] --> src/basic_block/matmul.rs:76:15 [INFO] [stdout] | [INFO] [stdout] 76 | (alpha, beta.clone()) [INFO] [stdout] | ^^^^^^^^^^^^ help: try dereferencing it: `*beta` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `flat_A` [INFO] [stdout] --> src/basic_block/matmul.rs:98:16 [INFO] [stdout] | [INFO] [stdout] 98 | for j in 0..m { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 98 - for j in 0..m { [INFO] [stdout] 98 + for (j, ) in flat_A.iter_mut().enumerate().take(m) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `inputs` [INFO] [stdout] --> src/basic_block/matmul.rs:108:14 [INFO] [stdout] | [INFO] [stdout] 108 | for i in 0..n { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 108 - for i in 0..n { [INFO] [stdout] 108 + for (i, ) in inputs.iter().enumerate().take(n) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `flat_B` [INFO] [stdout] --> src/basic_block/matmul.rs:109:16 [INFO] [stdout] | [INFO] [stdout] 109 | for j in 0..m { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 109 - for j in 0..m { [INFO] [stdout] 109 + for (j, ) in flat_B.iter_mut().enumerate().take(m) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `flat_C` [INFO] [stdout] --> src/basic_block/matmul.rs:120:16 [INFO] [stdout] | [INFO] [stdout] 120 | for j in 0..n { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 120 - for j in 0..n { [INFO] [stdout] 120 + for (j, ) in flat_C.iter_mut().enumerate().take(n) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp, 4>` which implements the `Copy` trait [INFO] [stdout] --> src/basic_block/matmul.rs:195:19 [INFO] [stdout] | [INFO] [stdout] 195 | let alpha = alpha.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*alpha` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp, 4>` which implements the `Copy` trait [INFO] [stdout] --> src/basic_block/matmul.rs:199:15 [INFO] [stdout] | [INFO] [stdout] 199 | (alpha, beta.clone()) [INFO] [stdout] | ^^^^^^^^^^^^ help: try dereferencing it: `*beta` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Affine` which implements the `Copy` trait [INFO] [stdout] --> src/basic_block/matmul.rs:212:7 [INFO] [stdout] | [INFO] [stdout] 212 | beta_pow_g2.clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*beta_pow_g2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/basic_block/max.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | return *x; [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] 23 - return *x; [INFO] [stdout] 23 + *x [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/basic_block/max.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | return max; [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] 25 - return max; [INFO] [stdout] 25 + max [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/basic_block/max.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | if (*y < cq_max && *y > *max) || (*max > cq_max && *y < cq_max) || (*y > cq_max && *max > cq_max && *y > *max) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 45 - if (*y < cq_max && *y > *max) || (*max > cq_max && *y < cq_max) || (*y > cq_max && *max > cq_max && *y > *max) { [INFO] [stdout] 45 + if !(*y >= cq_max || *y <= *max && *max <= cq_max) || (*y > cq_max && *max > cq_max && *y > *max) { [INFO] [stdout] | [INFO] [stdout] 45 - if (*y < cq_max && *y > *max) || (*max > cq_max && *y < cq_max) || (*y > cq_max && *max > cq_max && *y > *max) { [INFO] [stdout] 45 + if (*max > cq_max || *y > *max) && *y < cq_max || (*y > cq_max && *max > cq_max && *y > *max) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/basic_block/mul.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | return (vec![C], vec![], Vec::new()); [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] 31 - return (vec![C], vec![], Vec::new()); [INFO] [stdout] 31 + (vec![C], vec![], Vec::new()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/basic_block/mul.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | return (vec![C], vec![gx2], Vec::new()); [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] 75 - return (vec![C], vec![gx2], Vec::new()); [INFO] [stdout] 75 + (vec![C], vec![gx2], Vec::new()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/basic_block/mul.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | / let mut checks = Vec::new(); [INFO] [stdout] 89 | | // Verify f(x)*g(x)=h(x) [INFO] [stdout] 90 | | checks.push(vec![ [INFO] [stdout] 91 | | (inputs[0].first().unwrap().g1, proof.1[0]), [INFO] [stdout] ... | [INFO] [stdout] 97 | | checks.push(vec![(inputs[1].first().unwrap().g1, srs.X2A[0]), (srs.X1A[0], -proof.1[0])]); [INFO] [stdout] | |______________________________________________________________________________________________^ help: consider using the `vec![]` macro: `let checks = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/basic_block/mul.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 136 | return (vec![tx, C], vec![gx2], Vec::new()); [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] 136 - return (vec![tx, C], vec![gx2], Vec::new()); [INFO] [stdout] 136 + (vec![tx, C], vec![gx2], Vec::new()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/basic_block/mul.rs:149:5 [INFO] [stdout] | [INFO] [stdout] 149 | / let mut checks = vec![]; [INFO] [stdout] 150 | | // Verify f(x)*g(x)-h(x)=z(x)t(x) [INFO] [stdout] 151 | | checks.push(vec![ [INFO] [stdout] 152 | | (inputs[0].first().unwrap().g1, proof.1[0]), [INFO] [stdout] ... | [INFO] [stdout] 158 | | checks.push(vec![(inputs[1].first().unwrap().g1, srs.X2A[0]), (srs.X1A[0], -proof.1[0])]); [INFO] [stdout] | |______________________________________________________________________________________________^ help: consider using the `vec![]` macro: `let checks = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `ark_ec::short_weierstrass::Affine` [INFO] [stdout] --> src/basic_block/one_to_one.rs:362:8 [INFO] [stdout] | [INFO] [stdout] 362 | (C.into(), srs.Y2A), [INFO] [stdout] | ^^^^^^^^ help: consider removing `.into()`: `C` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `ark_ec::short_weierstrass::Affine` [INFO] [stdout] --> src/basic_block/ordered.rs:249:8 [INFO] [stdout] | [INFO] [stdout] 249 | (C.into(), srs.Y2A), [INFO] [stdout] | ^^^^^^^^ help: consider removing `.into()`: `C` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/basic_block/permute.rs:152:5 [INFO] [stdout] | [INFO] [stdout] 152 | return (proof, vec![], Vec::new()); [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] 152 - return (proof, vec![], Vec::new()); [INFO] [stdout] 152 + (proof, vec![], Vec::new()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp, 4>` which implements the `Copy` trait [INFO] [stdout] --> src/basic_block/permute.rs:51:7 [INFO] [stdout] | [INFO] [stdout] 51 | alpha.clone() [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*alpha` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `flat_L` [INFO] [stdout] --> src/basic_block/permute.rs:95:16 [INFO] [stdout] | [INFO] [stdout] 95 | for j in 0..m { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 95 - for j in 0..m { [INFO] [stdout] 95 + for (j, ) in flat_L.iter_mut().enumerate().take(m) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `flat_R` [INFO] [stdout] --> src/basic_block/permute.rs:106:16 [INFO] [stdout] | [INFO] [stdout] 106 | for j in 0..m2 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 106 - for j in 0..m2 { [INFO] [stdout] 106 + for (j, ) in flat_R.iter_mut().enumerate().take(m2) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp, 4>` which implements the `Copy` trait [INFO] [stdout] --> src/basic_block/permute.rs:171:7 [INFO] [stdout] | [INFO] [stdout] 171 | alpha.clone() [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*alpha` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Affine` which implements the `Copy` trait [INFO] [stdout] --> src/basic_block/permute.rs:201:7 [INFO] [stdout] | [INFO] [stdout] 201 | b_g2.clone() [INFO] [stdout] | ^^^^^^^^^^^^ help: try dereferencing it: `*b_g2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Affine` which implements the `Copy` trait [INFO] [stdout] --> src/basic_block/permute.rs:212:7 [INFO] [stdout] | [INFO] [stdout] 212 | d_g2.clone() [INFO] [stdout] | ^^^^^^^^^^^^ help: try dereferencing it: `*d_g2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/basic_block/range.rs:55:53 [INFO] [stdout] | [INFO] [stdout] 55 | let domain = GeneralEvaluationDomain::::new(element_num_pad.clone() as usize).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `element_num_pad` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `ark_ec::short_weierstrass::Projective` [INFO] [stdout] --> src/basic_block/range.rs:82:30 [INFO] [stdout] | [INFO] [stdout] 82 | (vec![setup.0[0].into(), C.into()], vec![], vec![]) [INFO] [stdout] | ^^^^^^^^ help: consider removing `.into()`: `C` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/basic_block/repeater.rs:20:6 [INFO] [stdout] | [INFO] [stdout] 20 | ) -> ArrayD<(Vec>, Option>>)> { [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: unnecessary map of the identity function [INFO] [stdout] --> src/basic_block/repeater.rs:23:29 [INFO] [stdout] | [INFO] [stdout] 23 | let dims_ptr = dims.iter().map(|x| x).collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] = note: `#[warn(clippy::map_identity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/basic_block/repeater.rs:58:24 [INFO] [stdout] | [INFO] [stdout] 58 | let localOutputs = match outputs { [INFO] [stdout] | ________________________^ [INFO] [stdout] 59 | | None => None, [INFO] [stdout] 60 | | Some(outputs) => Some( [INFO] [stdout] 61 | | outputs [INFO] [stdout] ... | [INFO] [stdout] 70 | | ), [INFO] [stdout] 71 | | }; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 58 ~ let localOutputs = outputs.map(|outputs| outputs [INFO] [stdout] 59 + .iter() [INFO] [stdout] 60 + .map(|output| { [INFO] [stdout] 61 + let mut slice: Vec<_> = idx.iter().map(|x| SliceInfoElem::Index(*x as isize)).collect(); [INFO] [stdout] 62 + slice.resize(output.ndim(), sliceAll); [INFO] [stdout] 63 + let sliceInfo: SliceInfo<_, IxDyn, IxDyn> = SliceInfo::try_from(&slice[..]).unwrap(); [INFO] [stdout] 64 + output.slice(sliceInfo).to_owned() [INFO] [stdout] 65 + }) [INFO] [stdout] 66 ~ .collect()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/basic_block/repeater.rs:107:56 [INFO] [stdout] | [INFO] [stdout] 107 | let subArrays: Vec<_> = util::vec_iter(subArrays).map(|y| y).collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/basic_block/repeater.rs:110:37 [INFO] [stdout] | [INFO] [stdout] 110 | let temp = temp.map(|x| x.iter().map(|y| y).collect()); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/basic_block/repeater.rs:119:51 [INFO] [stdout] | [INFO] [stdout] 119 | let localInputs: Vec<_> = localInputs.iter().map(|y| y).collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/basic_block/repeater.rs:120:71 [INFO] [stdout] | [INFO] [stdout] 120 | let localOutputs: Vec<_> = localOutputs.as_ref().unwrap().iter().map(|y| y).collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/basic_block/repeater.rs:123:38 [INFO] [stdout] | [INFO] [stdout] 123 | let temp = empty.map(|x| x.iter().map(|y| y).collect()); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/basic_block/repeater.rs:157:5 [INFO] [stdout] | [INFO] [stdout] 152 | / let proof = ( [INFO] [stdout] 153 | | proof.0.into_iter().flatten().collect(), [INFO] [stdout] 154 | | proof.1.into_iter().flatten().collect(), [INFO] [stdout] 155 | | proof.2.into_iter().flatten().collect(), [INFO] [stdout] 156 | | ); [INFO] [stdout] | |______- unnecessary `let` binding [INFO] [stdout] 157 | proof [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] 152 ~ [INFO] [stdout] 153 ~ ( [INFO] [stdout] 154 + proof.0.into_iter().flatten().collect(), [INFO] [stdout] 155 + proof.1.into_iter().flatten().collect(), [INFO] [stdout] 156 + proof.2.into_iter().flatten().collect(), [INFO] [stdout] 157 + ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/basic_block/repeater.rs:145:51 [INFO] [stdout] | [INFO] [stdout] 145 | let localInputs: Vec<_> = localInputs.iter().map(|y| y).collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/basic_block/repeater.rs:146:71 [INFO] [stdout] | [INFO] [stdout] 146 | let localOutputs: Vec<_> = localOutputs.as_ref().unwrap().iter().map(|y| y).collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/basic_block/repeater.rs:151:54 [INFO] [stdout] | [INFO] [stdout] 151 | let proof: (Vec<_>, Vec<_>, Vec<_>) = multiunzip(empty.into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.13.0/src/unziptuple.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | I: IntoIterator, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 151 - let proof: (Vec<_>, Vec<_>, Vec<_>) = multiunzip(empty.into_iter()); [INFO] [stdout] 151 + let proof: (Vec<_>, Vec<_>, Vec<_>) = multiunzip(empty); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/basic_block/repeater.rs:198:5 [INFO] [stdout] | [INFO] [stdout] 196 | let pairings = empty.into_iter().flatten().collect(); [INFO] [stdout] | ----------------------------------------------------- unnecessary `let` binding [INFO] [stdout] 197 | [INFO] [stdout] 198 | pairings [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] 196 ~ [INFO] [stdout] 197 | [INFO] [stdout] 198 ~ empty.into_iter().flatten().collect() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/basic_block/repeater.rs:189:51 [INFO] [stdout] | [INFO] [stdout] 189 | let localInputs: Vec<_> = localInputs.iter().map(|y| y).collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/basic_block/repeater.rs:190:71 [INFO] [stdout] | [INFO] [stdout] 190 | let localOutputs: Vec<_> = localOutputs.as_ref().unwrap().iter().map(|y| y).collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around closure body [INFO] [stdout] --> src/main.rs:78:38 [INFO] [stdout] | [INFO] [stdout] 78 | util::vec_iter(&x.2).map(|y| (y.clone())).collect(), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 78 - util::vec_iter(&x.2).map(|y| (y.clone())).collect(), [INFO] [stdout] 78 + util::vec_iter(&x.2).map(|y| y.clone()).collect(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/basic_block/sort.rs:36:51 [INFO] [stdout] | [INFO] [stdout] 36 | let mut paired: Vec<_> = data.into_iter().zip(indices.into_iter()).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/iterator.rs:629:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 36 - let mut paired: Vec<_> = data.into_iter().zip(indices.into_iter()).collect(); [INFO] [stdout] 36 + let mut paired: Vec<_> = data.into_iter().zip(indices).collect(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `outputs` [INFO] [stdout] --> src/basic_block/split.rs:52:14 [INFO] [stdout] | [INFO] [stdout] 52 | for i in 0..outputs.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 52 - for i in 0..outputs.len() { [INFO] [stdout] 52 + for (i, ) in outputs.iter().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/basic_block/sum.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | return (vec![zero_div, C], vec![], Vec::new()); [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] 41 - return (vec![zero_div, C], vec![], Vec::new()); [INFO] [stdout] 41 + (vec![zero_div, C], vec![], Vec::new()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/basic_block/training.rs:269:5 [INFO] [stdout] | [INFO] [stdout] 260 | / let update = mul_scalar.prove( [INFO] [stdout] 261 | | srs, [INFO] [stdout] 262 | | (&vec![], &vec![], &vec![]), [INFO] [stdout] 263 | | &ArrayD::from_shape_vec(IxDyn(&[0]), vec![]).unwrap(), [INFO] [stdout] ... | [INFO] [stdout] 267 | | cache, [INFO] [stdout] 268 | | ); [INFO] [stdout] | |______- unnecessary `let` binding [INFO] [stdout] 269 | update [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] 260 ~ [INFO] [stdout] 261 ~ mul_scalar.prove( [INFO] [stdout] 262 + srs, [INFO] [stdout] 263 + (&vec![], &vec![], &vec![]), [INFO] [stdout] 264 + &ArrayD::from_shape_vec(IxDyn(&[0]), vec![]).unwrap(), [INFO] [stdout] 265 + &vec![inputs[1], inputs[2]], [INFO] [stdout] 266 + &vec![&outputs[0]], [INFO] [stdout] 267 + rng, [INFO] [stdout] 268 + cache, [INFO] [stdout] 269 + ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/basic_block.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | / return Data { [INFO] [stdout] 127 | | raw: raw.to_vec(), [INFO] [stdout] 128 | | poly: f, [INFO] [stdout] 129 | | g1: fx, [INFO] [stdout] 130 | | r: Fr::rand(&mut rng), [INFO] [stdout] 131 | | }; [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] 126 ~ Data { [INFO] [stdout] 127 + raw: raw.to_vec(), [INFO] [stdout] 128 + poly: f, [INFO] [stdout] 129 + g1: fx, [INFO] [stdout] 130 + r: Fr::rand(&mut rng), [INFO] [stdout] 131 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/basic_block.rs:119:64 [INFO] [stdout] | [INFO] [stdout] 119 | let f = DensePolynomial::from_coefficients_vec(domain.ifft(&raw)); [INFO] [stdout] | ^^^^ help: change this to: `raw` [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: unneeded `return` statement [INFO] [stdout] --> src/basic_block.rs:144:5 [INFO] [stdout] | [INFO] [stdout] 144 | / return DataEnc { [INFO] [stdout] 145 | | len: data.raw.len(), [INFO] [stdout] 146 | | g1: (data.g1 + srs.Y1P * data.r).into(), [INFO] [stdout] 147 | | }; [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] 144 ~ DataEnc { [INFO] [stdout] 145 + len: data.raw.len(), [INFO] [stdout] 146 + g1: (data.g1 + srs.Y1P * data.r).into(), [INFO] [stdout] 147 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/basic_block.rs:173:3 [INFO] [stdout] | [INFO] [stdout] 173 | / fn prove( [INFO] [stdout] 174 | | &self, [INFO] [stdout] 175 | | _srs: &SRS, [INFO] [stdout] 176 | | _setup: (&Vec, &Vec, &Vec>), [INFO] [stdout] ... | [INFO] [stdout] 181 | | _cache: ProveVerifyCache, [INFO] [stdout] 182 | | ) -> (Vec, Vec, Vec) { [INFO] [stdout] | |______________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/basic_block.rs:186:3 [INFO] [stdout] | [INFO] [stdout] 186 | / fn verify( [INFO] [stdout] 187 | | &self, [INFO] [stdout] 188 | | _srs: &SRS, [INFO] [stdout] 189 | | _model: &ArrayD, [INFO] [stdout] ... | [INFO] [stdout] 194 | | _cache: ProveVerifyCache, [INFO] [stdout] 195 | | ) -> Vec { [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around closure body [INFO] [stdout] --> src/main.rs:78:38 [INFO] [stdout] | [INFO] [stdout] 78 | util::vec_iter(&x.2).map(|y| (y.clone())).collect(), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 78 - util::vec_iter(&x.2).map(|y| (y.clone())).collect(), [INFO] [stdout] 78 + util::vec_iter(&x.2).map(|y| y.clone()).collect(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Precomputable` [INFO] [stdout] --> src/graph.rs:26:3 [INFO] [stdout] | [INFO] [stdout] 26 | / pub fn new() -> Self { [INFO] [stdout] 27 | | Precomputable { [INFO] [stdout] 28 | | setup: vec![], [INFO] [stdout] 29 | | prove_and_verify: vec![], [INFO] [stdout] ... | [INFO] [stdout] 32 | | } [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 25 + impl Default for Precomputable { [INFO] [stdout] 26 + fn default() -> Self { [INFO] [stdout] 27 + Self::new() [INFO] [stdout] 28 + } [INFO] [stdout] 29 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Graph` [INFO] [stdout] --> src/graph.rs:325:3 [INFO] [stdout] | [INFO] [stdout] 325 | / pub fn new() -> Self { [INFO] [stdout] 326 | | Graph { [INFO] [stdout] 327 | | basic_blocks: vec![], [INFO] [stdout] 328 | | precomputable: Precomputable::new(), [INFO] [stdout] ... | [INFO] [stdout] 333 | | } [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 50 + impl Default for Graph { [INFO] [stdout] 51 + fn default() -> Self { [INFO] [stdout] 52 + Self::new() [INFO] [stdout] 53 + } [INFO] [stdout] 54 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/graph.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | return outputs; [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] 70 - return outputs; [INFO] [stdout] 70 + outputs [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:51:29 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn run(&self, inputs: &Vec<&ArrayD>, models: &Vec<&ArrayD>) -> Vec>> { [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] 51 - pub fn run(&self, inputs: &Vec<&ArrayD>, models: &Vec<&ArrayD>) -> Vec>> { [INFO] [stdout] 51 + pub fn run(&self, inputs: &[&ArrayD], models: &Vec<&ArrayD>) -> Vec>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:51:56 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn run(&self, inputs: &Vec<&ArrayD>, models: &Vec<&ArrayD>) -> Vec>> { [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 51 - pub fn run(&self, inputs: &Vec<&ArrayD>, models: &Vec<&ArrayD>) -> Vec>> { [INFO] [stdout] 51 + pub fn run(&self, inputs: &Vec<&ArrayD>, models: &[&ArrayD]) -> Vec>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/graph.rs:68:57 [INFO] [stdout] | [INFO] [stdout] 68 | outputs[i] = self.basic_blocks[n.basic_block].run(&models[n.basic_block], &myInputs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `models[n.basic_block]` [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: unneeded `return` statement [INFO] [stdout] --> src/graph.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | return outputsEnc; [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] 114 - return outputsEnc; [INFO] [stdout] 114 + outputsEnc [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:76:13 [INFO] [stdout] | [INFO] [stdout] 76 | models: &Vec<&ArrayD>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 76 - models: &Vec<&ArrayD>, [INFO] [stdout] 76 + models: &[&ArrayD], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | inputs: &Vec<&ArrayD>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 77 - inputs: &Vec<&ArrayD>, [INFO] [stdout] 77 + inputs: &[&ArrayD], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:78:14 [INFO] [stdout] | [INFO] [stdout] 78 | outputs: &Vec<&Vec<&ArrayD>>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 78 - outputs: &Vec<&Vec<&ArrayD>>, [INFO] [stdout] 78 + outputs: &[&Vec<&ArrayD>], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/graph.rs:111:61 [INFO] [stdout] | [INFO] [stdout] 111 | self.basic_blocks[n.basic_block].encodeOutputs(srs, &models[n.basic_block], &myInputs, outputs[i]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `models[n.basic_block]` [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] --> src/graph.rs:117:66 [INFO] [stdout] | [INFO] [stdout] 117 | ...els: &Vec<&ArrayD>) -> Vec<(Vec, Vec, Vec>)> { [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: unneeded `return` statement [INFO] [stdout] --> src/graph.rs:156:9 [INFO] [stdout] | [INFO] [stdout] 156 | return setups.first().unwrap().clone(); [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] 156 - return setups.first().unwrap().clone(); [INFO] [stdout] 156 + setups.first().unwrap().clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/graph.rs:149:34 [INFO] [stdout] | [INFO] [stdout] 149 | let setup = b.setup(srs, *m); [INFO] [stdout] | ^^ help: try: `m` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] = note: `#[warn(clippy::explicit_auto_deref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/graph.rs:164:13 [INFO] [stdout] | [INFO] [stdout] 164 | setups: &Vec<(&Vec, &Vec, &Vec>)>, [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 function has too many arguments (8/7) [INFO] [stdout] --> src/graph.rs:161:3 [INFO] [stdout] | [INFO] [stdout] 161 | / pub fn prove( [INFO] [stdout] 162 | | &mut self, [INFO] [stdout] 163 | | srs: &SRS, [INFO] [stdout] 164 | | setups: &Vec<(&Vec, &Vec, &Vec>)>, [INFO] [stdout] ... | [INFO] [stdout] 169 | | timing: &mut TimingTree, [INFO] [stdout] 170 | | ) -> Vec<(Vec, Vec, Vec)> { [INFO] [stdout] | |___________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:164:13 [INFO] [stdout] | [INFO] [stdout] 164 | setups: &Vec<(&Vec, &Vec, &Vec>)>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 164 - setups: &Vec<(&Vec, &Vec, &Vec>)>, [INFO] [stdout] 164 + setups: &[(&Vec, &Vec, &Vec>)], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:165:13 [INFO] [stdout] | [INFO] [stdout] 165 | models: &Vec<&ArrayD>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 165 - models: &Vec<&ArrayD>, [INFO] [stdout] 165 + models: &[&ArrayD], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:166:13 [INFO] [stdout] | [INFO] [stdout] 166 | inputs: &Vec<&ArrayD>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 166 - inputs: &Vec<&ArrayD>, [INFO] [stdout] 166 + inputs: &[&ArrayD], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:167:14 [INFO] [stdout] | [INFO] [stdout] 167 | outputs: &Vec<&Vec<&ArrayD>>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 167 - outputs: &Vec<&Vec<&ArrayD>>, [INFO] [stdout] 167 + outputs: &[&Vec<&ArrayD>], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/graph.rs:198:15 [INFO] [stdout] | [INFO] [stdout] 198 | &(outputs[*basicblock_idx as usize][*output_idx]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `(outputs[*basicblock_idx as usize][*output_idx])` [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: useless conversion to the same type: `ark_ff::Fp, 4>` [INFO] [stdout] --> src/graph.rs:218:34 [INFO] [stdout] | [INFO] [stdout] 218 | proof.2.iter().map(|x| (*x).into()).collect(), [INFO] [stdout] | ^^^^^^^^^^^ help: consider removing `.into()`: `(*x)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:231:13 [INFO] [stdout] | [INFO] [stdout] 231 | models: &Vec<&ArrayD>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 231 - models: &Vec<&ArrayD>, [INFO] [stdout] 231 + models: &[&ArrayD], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:232:13 [INFO] [stdout] | [INFO] [stdout] 232 | inputs: &Vec<&ArrayD>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 232 - inputs: &Vec<&ArrayD>, [INFO] [stdout] 232 + inputs: &[&ArrayD], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:233:14 [INFO] [stdout] | [INFO] [stdout] 233 | outputs: &Vec<&Vec<&ArrayD>>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 233 - outputs: &Vec<&Vec<&ArrayD>>, [INFO] [stdout] 233 + outputs: &[&Vec<&ArrayD>], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:234:13 [INFO] [stdout] | [INFO] [stdout] 234 | proofs: &Vec<(&Vec, &Vec, &Vec)>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 234 - proofs: &Vec<(&Vec, &Vec, &Vec)>, [INFO] [stdout] 234 + proofs: &[(&Vec, &Vec, &Vec)], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/graph.rs:263:15 [INFO] [stdout] | [INFO] [stdout] 263 | &(outputs[*basicblock_idx as usize][*output_idx]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `(outputs[*basicblock_idx as usize][*output_idx])` [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: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:284:13 [INFO] [stdout] | [INFO] [stdout] 284 | models: &Vec<&ArrayD>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 284 - models: &Vec<&ArrayD>, [INFO] [stdout] 284 + models: &[&ArrayD], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:285:13 [INFO] [stdout] | [INFO] [stdout] 285 | inputs: &Vec<&ArrayD>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 285 - inputs: &Vec<&ArrayD>, [INFO] [stdout] 285 + inputs: &[&ArrayD], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:286:14 [INFO] [stdout] | [INFO] [stdout] 286 | outputs: &Vec<&Vec<&ArrayD>>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 286 - outputs: &Vec<&Vec<&ArrayD>>, [INFO] [stdout] 286 + outputs: &[&Vec<&ArrayD>], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/graph.rs:287:13 [INFO] [stdout] | [INFO] [stdout] 287 | proofs: &Vec<(&Vec, &Vec, &Vec)>, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 287 - proofs: &Vec<(&Vec, &Vec, &Vec)>, [INFO] [stdout] 287 + proofs: &[(&Vec, &Vec, &Vec)], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/graph.rs:302:13 [INFO] [stdout] | [INFO] [stdout] 302 | &(outputs[*basicblock_idx as usize][*output_idx]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `(outputs[*basicblock_idx as usize][*output_idx])` [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] --> src/layer/and.rs:32:29 [INFO] [stdout] | [INFO] [stdout] 32 | let mul_basicblock = if input_shapes[1].len() == 0 || input_shapes[0].len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input_shapes[1].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] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/layer/and.rs:32:59 [INFO] [stdout] | [INFO] [stdout] 32 | let mul_basicblock = if input_shapes[1].len() == 0 || input_shapes[0].len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input_shapes[0].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] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/layer/and.rs:39:25 [INFO] [stdout] | [INFO] [stdout] 39 | let and_output = if input_shapes[0].len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input_shapes[0].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] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/cast.rs:21:20 [INFO] [stdout] | [INFO] [stdout] 21 | let to = match attributes.iter().filter(|x| x.name == "to").next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "to")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] = note: `#[warn(clippy::filter_next)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/concat.rs:16:37 [INFO] [stdout] | [INFO] [stdout] 16 | fn get_concat_indices(input_shapes: &Vec<&Vec>, output_shape: &Vec, axis: usize) -> Vec>> { [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 16 - fn get_concat_indices(input_shapes: &Vec<&Vec>, output_shape: &Vec, axis: usize) -> Vec>> { [INFO] [stdout] 16 + fn get_concat_indices(input_shapes: &[&Vec], output_shape: &Vec, axis: usize) -> Vec>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `input_shapes` [INFO] [stdout] --> src/layer/concat.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | for i in 0..input_shapes.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 19 - for i in 0..input_shapes.len() { [INFO] [stdout] 19 + for in &input_shapes { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/concat.rs:50:23 [INFO] [stdout] | [INFO] [stdout] 50 | let axis: isize = attributes.iter().filter(|x| x.name == "axis").next().unwrap().i as isize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "axis")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/layer/concat.rs:54:55 [INFO] [stdout] | [INFO] [stdout] 54 | outputShape[axis] = input_shapes.iter().map(|x| x[axis as usize]).sum(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `axis` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `cc_basicblocks` [INFO] [stdout] --> src/layer/concat.rs:76:16 [INFO] [stdout] | [INFO] [stdout] 76 | for i in 0..input_shapes.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 76 - for i in 0..input_shapes.len() { [INFO] [stdout] 76 + for (i, ) in cc_basicblocks.iter().enumerate().take(input_shapes.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/layer/concat.rs:100:66 [INFO] [stdout] | [INFO] [stdout] 100 | let concat = graph.addBB(Box::new(ConcatBasicBlock { axis: axis as usize })); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `axis` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/constantofshape.rs:24:20 [INFO] [stdout] | [INFO] [stdout] 24 | let attr_val = attributes.iter().filter(|x| x.name == "value").next().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "value")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `tract_onnx::pb::tensor_proto::DataType` [INFO] [stdout] --> src/layer/constantofshape.rs:25:17 [INFO] [stdout] | [INFO] [stdout] 25 | let dtype = DataType::from_i32(attr_val.r#type).unwrap().into(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `DataType::from_i32(attr_val.r#type).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/conv.rs:16:21 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn out_hw(dims: &Vec, strides: &Vec, ch_dims: &Vec, padding: &Vec<[usize; 2]>, is_transpose: bool) -> Vec, strides: &Vec, ch_dims: &Vec, padding: &Vec<[usize; 2]>, is_transpose: bool) -> Vec { [INFO] [stdout] 16 + pub fn out_hw(dims: &[usize], strides: &Vec, ch_dims: &Vec, padding: &Vec<[usize; 2]>, is_transpose: bool) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/conv.rs:16:43 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn out_hw(dims: &Vec, strides: &Vec, ch_dims: &Vec, padding: &Vec<[usize; 2]>, is_transpose: bool) -> Vec, strides: &Vec, ch_dims: &Vec, padding: &Vec<[usize; 2]>, is_transpose: bool) -> Vec { [INFO] [stdout] 16 + pub fn out_hw(dims: &Vec, strides: &[usize], ch_dims: &Vec, padding: &Vec<[usize; 2]>, is_transpose: bool) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/conv.rs:16:65 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn out_hw(dims: &Vec, strides: &Vec, ch_dims: &Vec, padding: &Vec<[usize; 2]>, is_transpose: bool) -> Vec, strides: &Vec, ch_dims: &Vec, padding: &Vec<[usize; 2]>, is_transpose: bool) -> Vec { [INFO] [stdout] 16 + pub fn out_hw(dims: &Vec, strides: &Vec, ch_dims: &[usize], padding: &Vec<[usize; 2]>, is_transpose: bool) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/conv.rs:16:87 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn out_hw(dims: &Vec, strides: &Vec, ch_dims: &Vec, padding: &Vec<[usize; 2]>, is_transpose: bool) -> Vec, strides: &Vec, ch_dims: &Vec, padding: &Vec<[usize; 2]>, is_transpose: bool) -> Vec { [INFO] [stdout] 16 + pub fn out_hw(dims: &Vec, strides: &Vec, ch_dims: &Vec, padding: &[[usize; 2]], is_transpose: bool) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/conv.rs:29:30 [INFO] [stdout] | [INFO] [stdout] 29 | fn conv_transpose_pads(pads: &Vec, ch_dims: &Vec) -> Vec { [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 29 - fn conv_transpose_pads(pads: &Vec, ch_dims: &Vec) -> Vec { [INFO] [stdout] 29 + fn conv_transpose_pads(pads: &[usize], ch_dims: &Vec) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/conv.rs:29:52 [INFO] [stdout] | [INFO] [stdout] 29 | fn conv_transpose_pads(pads: &Vec, ch_dims: &Vec) -> Vec { [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 29 - fn conv_transpose_pads(pads: &Vec, ch_dims: &Vec) -> Vec { [INFO] [stdout] 29 + fn conv_transpose_pads(pads: &Vec, ch_dims: &[usize]) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/conv.rs:36:16 [INFO] [stdout] | [INFO] [stdout] 36 | input_shape: &Vec, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 36 - input_shape: &Vec, [INFO] [stdout] 36 + input_shape: &[usize], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/conv.rs:54:32 [INFO] [stdout] | [INFO] [stdout] 54 | let out_dims = out_hw(&dims, &strides, &kernel_dims, &padding[2..].to_vec(), is_transpose); [INFO] [stdout] | ^^^^^^^^ help: change this to: `strides` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/conv.rs:54:42 [INFO] [stdout] | [INFO] [stdout] 54 | let out_dims = out_hw(&dims, &strides, &kernel_dims, &padding[2..].to_vec(), is_transpose); [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `kernel_dims` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/conv.rs:84:37 [INFO] [stdout] | [INFO] [stdout] 84 | for ch_idx in indices(IxDyn(&kernel_dims)) { [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `kernel_dims` [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: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/conv.rs:101:33 [INFO] [stdout] | [INFO] [stdout] 101 | fn splat_weights(weights_shape: &Vec, is_transpose: bool) -> Vec>> { [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 101 - fn splat_weights(weights_shape: &Vec, is_transpose: bool) -> Vec>> { [INFO] [stdout] 101 + fn splat_weights(weights_shape: &[usize], is_transpose: bool) -> Vec>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the variable `weight_row_idx` is used as a loop counter [INFO] [stdout] --> src/layer/conv.rs:109:3 [INFO] [stdout] | [INFO] [stdout] 109 | for chan_out in 0..out_channels { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `for (weight_row_idx, chan_out) in (0..out_channels).enumerate()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stdout] = note: `#[warn(clippy::explicit_counter_loop)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `Vec` [INFO] [stdout] --> src/layer/conv.rs:127:37 [INFO] [stdout] | [INFO] [stdout] 127 | let flattened_inp: Vec<_> = input.into_iter().flat_map(|x| x.iter().map(|y| y.clone())).collect(); [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] = note: `#[warn(clippy::into_iter_on_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/layer/conv.rs:127:62 [INFO] [stdout] | [INFO] [stdout] 127 | let flattened_inp: Vec<_> = input.into_iter().flat_map(|x| x.iter().map(|y| y.clone())).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `x.iter().cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stdout] --> src/layer/einsum.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | / if !map.contains_key(&ch) { [INFO] [stdout] 25 | | map.insert(ch, *current); [INFO] [stdout] 26 | | *current = ((*current as u8) + 1) as char; [INFO] [stdout] 27 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stdout] = note: `#[warn(clippy::map_entry)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 24 ~ if let std::collections::hash_map::Entry::Vacant(e) = map.entry(ch) { [INFO] [stdout] 25 + e.insert(*current); [INFO] [stdout] 26 + *current = ((*current as u8) + 1) as char; [INFO] [stdout] 27 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/einsum.rs:60:58 [INFO] [stdout] | [INFO] [stdout] 60 | fn vector_outer_product(graph: &mut Graph, input_shapes: &Vec<&Vec>) -> Vec { [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 60 - fn vector_outer_product(graph: &mut Graph, input_shapes: &Vec<&Vec>) -> Vec { [INFO] [stdout] 60 + fn vector_outer_product(graph: &mut Graph, input_shapes: &[&Vec]) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/layer/einsum.rs:88:28 [INFO] [stdout] | [INFO] [stdout] 88 | let permutation = ((0..b).map(|x| x).collect(), vec![0]); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/einsum.rs:160:21 [INFO] [stdout] | [INFO] [stdout] 160 | let equation = &attributes.iter().filter(|x| x.name == "equation").next().unwrap().s; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "equation")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/einsum.rs:161:40 [INFO] [stdout] | [INFO] [stdout] 161 | let equation = std::str::from_utf8(&equation).unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `equation` [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] --> src/layer/einsum.rs:170:46 [INFO] [stdout] | [INFO] [stdout] 170 | } else if input_eqs == vec!["a", "a"] && output_eq.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `output_eq.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] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/layer/expand.rs:32:43 [INFO] [stdout] | [INFO] [stdout] 32 | let newShape: Vec<_> = newShape.iter().map(|x| x).collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> src/layer/expand.rs:40:40 [INFO] [stdout] | [INFO] [stdout] 40 | let shape0_product = shape0.iter().fold(1, |acc, x| acc * x); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `product::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] = note: `#[warn(clippy::unnecessary_fold)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> src/layer/expand.rs:41:40 [INFO] [stdout] | [INFO] [stdout] 41 | let shape1_product = shape1.iter().fold(1, |acc, x| acc * x); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `product::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/layer/flatten.rs:18:56 [INFO] [stdout] | [INFO] [stdout] 18 | let permutation = ArrayD::from_shape_fn(input_shape, |index| Some(index)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `Some` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/flatten.rs:38:23 [INFO] [stdout] | [INFO] [stdout] 38 | let axis: isize = attributes.iter().filter(|x| x.name == "axis").next().unwrap().i as isize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "axis")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/flatten.rs:43:55 [INFO] [stdout] | [INFO] [stdout] 43 | let (permutation, output_shape) = get_permutation(&input_shapes[0], axis); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `input_shapes[0]` [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: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/gathernd.rs:82:15 [INFO] [stdout] | [INFO] [stdout] 82 | let b = attributes.iter().filter(|x| x.name == "axis").next().unwrap().i as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "axis")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/gemm.rs:28:7 [INFO] [stdout] | [INFO] [stdout] 28 | attributes.iter().filter(|x| x.name == "alpha").next().unwrap().f [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "alpha")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/gemm.rs:33:7 [INFO] [stdout] | [INFO] [stdout] 33 | attributes.iter().filter(|x| x.name == "beta").next().unwrap().f [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "beta")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/gemm.rs:38:7 [INFO] [stdout] | [INFO] [stdout] 38 | attributes.iter().filter(|x| x.name == "transA").next().unwrap().i as usize [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "transA")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/gemm.rs:43:7 [INFO] [stdout] | [INFO] [stdout] 43 | attributes.iter().filter(|x| x.name == "transB").next().unwrap().i as usize [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "transB")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/layer/lstm.rs:73:63 [INFO] [stdout] | [INFO] [stdout] 73 | let permutation = ((0..b).map(|x| x * a).collect(), (0..a).map(|x| x).collect()); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/layer/lstm.rs:79:13 [INFO] [stdout] | [INFO] [stdout] 79 | axis: (axis - 1) as usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `(axis - 1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `outputShapes` [INFO] [stdout] --> src/layer/lstm.rs:83:14 [INFO] [stdout] | [INFO] [stdout] 83 | for i in 0..split.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 83 - for i in 0..split.len() { [INFO] [stdout] 83 + for in outputShapes.iter().take(split.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `permute_backs` [INFO] [stdout] --> src/layer/lstm.rs:99:14 [INFO] [stdout] | [INFO] [stdout] 99 | for i in 0..split.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 99 - for i in 0..split.len() { [INFO] [stdout] 99 + for (i, ) in permute_backs.iter().enumerate().take(split.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/layer/lstm.rs:167:65 [INFO] [stdout] | [INFO] [stdout] 167 | let permutation = ((0..b).map(|x| x * a).collect(), (0..a).map(|x| x).collect()); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/layer/lstm.rs:173:15 [INFO] [stdout] | [INFO] [stdout] 173 | axis: (axis - 1) as usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `(axis - 1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `outputShapes` [INFO] [stdout] --> src/layer/lstm.rs:177:16 [INFO] [stdout] | [INFO] [stdout] 177 | for i in 0..split.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 177 - for i in 0..split.len() { [INFO] [stdout] 177 + for in outputShapes.iter().take(split.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `permute_backs` [INFO] [stdout] --> src/layer/lstm.rs:193:16 [INFO] [stdout] | [INFO] [stdout] 193 | for i in 0..split.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 193 - for i in 0..split.len() { [INFO] [stdout] 193 + for (i, ) in permute_backs.iter().enumerate().take(split.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/max.rs:12:29 [INFO] [stdout] | [INFO] [stdout] 12 | fn splat_input(input_shape: &Vec, cmp_val: Option) -> ArrayD> { [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 12 - fn splat_input(input_shape: &Vec, cmp_val: Option) -> ArrayD> { [INFO] [stdout] 12 + fn splat_input(input_shape: &[usize], cmp_val: Option) -> ArrayD> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/max.rs:33:37 [INFO] [stdout] | [INFO] [stdout] 33 | let permutation = splat_input(&input_shapes[0], None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `input_shapes[0]` [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: manual implementation of an assign operation [INFO] [stdout] --> src/layer/max.rs:96:7 [INFO] [stdout] | [INFO] [stdout] 96 | concat_shape[0] = 2 * concat_shape[0]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `concat_shape[0] *= 2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/max.rs:102:37 [INFO] [stdout] | [INFO] [stdout] 102 | let permutation = splat_input(&input_shapes[0], Some(IxDyn(©_idx))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `input_shapes[0]` [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] --> src/layer/mul.rs:24:75 [INFO] [stdout] | [INFO] [stdout] 24 | let mul_scalar = if input_shapes[0].len() == input_shapes[1].len() && input_shapes[0].len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input_shapes[0].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] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/layer/mul.rs:36:80 [INFO] [stdout] | [INFO] [stdout] 36 | let change_SF_check = if input_shapes[0].len() == input_shapes[1].len() && input_shapes[0].len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input_shapes[0].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] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/layer/mul.rs:63:29 [INFO] [stdout] | [INFO] [stdout] 63 | let mul_basicblock = if input_shapes[1].len() == 0 || input_shapes[0].len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input_shapes[1].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] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/layer/mul.rs:63:59 [INFO] [stdout] | [INFO] [stdout] 63 | let mul_basicblock = if input_shapes[1].len() == 0 || input_shapes[0].len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input_shapes[0].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] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/layer/mul.rs:70:25 [INFO] [stdout] | [INFO] [stdout] 70 | let mul_output = if input_shapes[0].len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input_shapes[0].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] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/norm.rs:39:30 [INFO] [stdout] | [INFO] [stdout] 39 | let training_mode_attr = attributes.iter().filter(|x| x.name == "training_mode").next(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "training_mode")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/norm.rs:50:24 [INFO] [stdout] | [INFO] [stdout] 50 | let epsilon_attr = attributes.iter().filter(|x| x.name == "epsilon").next(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "epsilon")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f32` -> `f32`) [INFO] [stdout] --> src/layer/norm.rs:53:7 [INFO] [stdout] | [INFO] [stdout] 53 | x.f as f32 [INFO] [stdout] | ^^^^^^^^^^ help: try: `x.f` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/norm.rs:248:24 [INFO] [stdout] | [INFO] [stdout] 248 | let epsilon_attr = attributes.iter().filter(|x| x.name == "epsilon").next(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "epsilon")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f32` -> `f32`) [INFO] [stdout] --> src/layer/norm.rs:251:7 [INFO] [stdout] | [INFO] [stdout] 251 | x.f as f32 [INFO] [stdout] | ^^^^^^^^^^ help: try: `x.f` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> src/layer/norm.rs:262:71 [INFO] [stdout] | [INFO] [stdout] 262 | X_shape.into_iter().skip(2).cloned().collect::>().iter().fold(1, |x, &y| x * y), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `product::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `Vec` [INFO] [stdout] --> src/layer/norm.rs:262:15 [INFO] [stdout] | [INFO] [stdout] 262 | X_shape.into_iter().skip(2).cloned().collect::>().iter().fold(1, |x, &y| x * y), [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> src/layer/norm.rs:277:74 [INFO] [stdout] | [INFO] [stdout] 277 | c: X_shape.into_iter().skip(2).cloned().collect::>().iter().fold(1, |x, &y| x * y) as f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `product::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `Vec` [INFO] [stdout] --> src/layer/norm.rs:277:18 [INFO] [stdout] | [INFO] [stdout] 277 | c: X_shape.into_iter().skip(2).cloned().collect::>().iter().fold(1, |x, &y| x * y) as f32, [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> src/layer/norm.rs:283:80 [INFO] [stdout] | [INFO] [stdout] 283 | c: X_shape.into_iter().skip(2).cloned().collect::>().iter().fold(1, |x, &y| x * y) as f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `product::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `Vec` [INFO] [stdout] --> src/layer/norm.rs:283:24 [INFO] [stdout] | [INFO] [stdout] 283 | c: X_shape.into_iter().skip(2).cloned().collect::>().iter().fold(1, |x, &y| x * y) as f32, [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `Vec` [INFO] [stdout] --> src/layer/norm.rs:391:22 [INFO] [stdout] | [INFO] [stdout] 391 | .chain(X_shape.into_iter().skip(2).cloned().collect::>().iter().map(|x| util::next_pow(*x as u32) as usize)) [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/layer/norm.rs:459:17 [INFO] [stdout] | [INFO] [stdout] 459 | for n in 0..N as usize { [INFO] [stdout] | ^^^^^^^^^^ help: try: `N` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/layer/norm.rs:460:19 [INFO] [stdout] | [INFO] [stdout] 460 | for c in 0..C as usize { [INFO] [stdout] | ^^^^^^^^^^ help: try: `C` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/layer/norm.rs:461:23 [INFO] [stdout] | [INFO] [stdout] 461 | let idx = n * C as usize + c; [INFO] [stdout] | ^^^^^^^^^^ help: try: `C` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/pool.rs:14:29 [INFO] [stdout] | [INFO] [stdout] 14 | fn splat_input(input_shape: &Vec, strides: &Vec, pads: &Vec, ci: usize, kernel_dims: &Vec) -> Vec, strides: &Vec, pads: &Vec, ci: usize, kernel_dims: &Vec) -> Vec>> { [INFO] [stdout] 14 + fn splat_input(input_shape: &[usize], strides: &Vec, pads: &Vec, ci: usize, kernel_dims: &Vec) -> Vec>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/pool.rs:14:70 [INFO] [stdout] | [INFO] [stdout] 14 | fn splat_input(input_shape: &Vec, strides: &Vec, pads: &Vec, ci: usize, kernel_dims: &Vec) -> Vec, strides: &Vec, pads: &Vec, ci: usize, kernel_dims: &Vec) -> Vec>> { [INFO] [stdout] 14 + fn splat_input(input_shape: &Vec, strides: &Vec, pads: &[usize], ci: usize, kernel_dims: &Vec) -> Vec>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/pool.rs:26:32 [INFO] [stdout] | [INFO] [stdout] 26 | let out_dims = out_hw(&dims, &strides, &kernel_dims, &padding[2..].to_vec(), false); [INFO] [stdout] | ^^^^^^^^ help: change this to: `strides` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/pool.rs:26:42 [INFO] [stdout] | [INFO] [stdout] 26 | let out_dims = out_hw(&dims, &strides, &kernel_dims, &padding[2..].to_vec(), false); [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `kernel_dims` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/pool.rs:36:41 [INFO] [stdout] | [INFO] [stdout] 36 | for kernel_idx in indices(IxDyn(&kernel_dims)) { [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `kernel_dims` [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: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/pool.rs:59:32 [INFO] [stdout] | [INFO] [stdout] 59 | ...let kernel_shape: Vec<_> = attributes.iter().filter(|x| x.name == "kernel_shape").next().unwrap().ints.iter().map(|x| *x as usize... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "kernel_shape")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/pool.rs:61:33 [INFO] [stdout] | [INFO] [stdout] 61 | let strides: Vec<_> = match attributes.iter().filter(|x| x.name == "strides").next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "strides")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/pool.rs:65:30 [INFO] [stdout] | [INFO] [stdout] 65 | let pads: Vec<_> = match attributes.iter().filter(|x| x.name == "pads").next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "pads")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/pool.rs:72:35 [INFO] [stdout] | [INFO] [stdout] 72 | let permutation = splat_input(&input_shapes[0], &strides, &pads, ch, &kernel_shape); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `input_shapes[0]` [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 `.fold` can be written more succinctly using another method [INFO] [stdout] --> src/layer/pool.rs:97:54 [INFO] [stdout] | [INFO] [stdout] 97 | let reshape_inp_shape = vec![output_shape.iter().fold(1, |acc, &x| acc * x), 1]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `product::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for copying elements [INFO] [stdout] --> src/layer/pow.rs:59:46 [INFO] [stdout] | [INFO] [stdout] 59 | DatumType::I32 | DatumType::I64 => constants[1].unwrap().0.iter().map(|x| *x).collect::>(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `copied` method: `constants[1].unwrap().0.iter().copied()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `constants` [INFO] [stdout] --> src/layer/range.rs:22:14 [INFO] [stdout] | [INFO] [stdout] 22 | for i in 0..3 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 22 - for i in 0..3 { [INFO] [stdout] 22 + for in constants.iter().take(3) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/reducemean.rs:23:30 [INFO] [stdout] | [INFO] [stdout] 23 | let axes: Vec<_> = match attributes.iter().filter(|x| x.name == "axes").next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "axes")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for copying elements [INFO] [stdout] --> src/layer/reducemean.rs:24:18 [INFO] [stdout] | [INFO] [stdout] 24 | Some(x) => x.ints.iter().map(|x| *x).collect(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `copied` method: `x.ints.iter().copied()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> src/layer/reshape.rs:44:38 [INFO] [stdout] | [INFO] [stdout] 44 | let a = input_shapes[0].iter().fold(1, |x, &y| x * y) as i32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `product::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> src/layer/reshape.rs:52:42 [INFO] [stdout] | [INFO] [stdout] 52 | let equal = startShape_padded.iter().fold(1, |x, &y| x * y) == endShape_padded.iter().fold(1, |x, &y| x * y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `product::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> src/layer/reshape.rs:52:91 [INFO] [stdout] | [INFO] [stdout] 52 | let equal = startShape_padded.iter().fold(1, |x, &y| x * y) == endShape_padded.iter().fold(1, |x, &y| x * y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `product::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/layer/reshape.rs:60:15 [INFO] [stdout] | [INFO] [stdout] 60 | } else if startShape.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `startShape.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] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/resize.rs:13:36 [INFO] [stdout] | [INFO] [stdout] 13 | fn resize_permutation(input_shape: &Vec, scales: &Vec) -> (Vec, ArrayD>) { [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 13 - fn resize_permutation(input_shape: &Vec, scales: &Vec) -> (Vec, ArrayD>) { [INFO] [stdout] 13 + fn resize_permutation(input_shape: &[usize], scales: &Vec) -> (Vec, ArrayD>) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/resize.rs:35:21 [INFO] [stdout] | [INFO] [stdout] 35 | let ctm = match attributes.iter().filter(|x| x.name == "coordinate_transformation_mode").next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "coordinate_transformation_mode")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/resize.rs:48:22 [INFO] [stdout] | [INFO] [stdout] 48 | let mode = match attributes.iter().filter(|x| x.name == "mode").next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "mode")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/resize.rs:61:30 [INFO] [stdout] | [INFO] [stdout] 61 | let nearest_mode = match attributes.iter().filter(|x| x.name == "nearest_mode").next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "nearest_mode")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/layer/scatternd.rs:11:53 [INFO] [stdout] | [INFO] [stdout] 11 | let preserve = ArrayD::from_shape_fn(input_shape, |index| Some(index)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `Some` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/scatternd.rs:86:64 [INFO] [stdout] | [INFO] [stdout] 86 | let (permutation_preserve, permutation_update) = get_masks(&input_shapes[0], &indices); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `input_shapes[0]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/scatternd.rs:86:82 [INFO] [stdout] | [INFO] [stdout] 86 | let (permutation_preserve, permutation_update) = get_masks(&input_shapes[0], &indices); [INFO] [stdout] | ^^^^^^^^ help: change this to: `indices` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/slice.rs:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | combine(&vecs, Vec::new(), &mut result); [INFO] [stdout] | ^^^^^ help: change this to: `vecs` [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: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer/slice.rs:30:14 [INFO] [stdout] | [INFO] [stdout] 30 | input_dim: &Vec, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 30 - input_dim: &Vec, [INFO] [stdout] 30 + input_dim: &[usize], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/layer/slice.rs:131:66 [INFO] [stdout] | [INFO] [stdout] 131 | let (permutation, output_shape, input_shape_pad) = get_slice(&input_shapes[0], &mut starts, &mut ends, &mut axes, &mut steps); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `input_shapes[0]` [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: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/split.rs:21:23 [INFO] [stdout] | [INFO] [stdout] 21 | let axis: isize = attributes.iter().filter(|x| x.name == "axis").next().unwrap().i as isize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "axis")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/split.rs:23:17 [INFO] [stdout] | [INFO] [stdout] 23 | let split = attributes.iter().filter(|x| x.name == "split").next().unwrap().ints.iter().map(|x| *x as usize).collect:: src/layer/split.rs:26:14 [INFO] [stdout] | [INFO] [stdout] 26 | for i in 0..split.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 26 - for i in 0..split.len() { [INFO] [stdout] 26 + for in &split { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/layer/split.rs:38:65 [INFO] [stdout] | [INFO] [stdout] 38 | let permutation = ((0..b).map(|x| x * a).collect(), (0..a).map(|x| x).collect()); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/layer/split.rs:44:15 [INFO] [stdout] | [INFO] [stdout] 44 | axis: (axis - 1) as usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `(axis - 1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `outputShapes` [INFO] [stdout] --> src/layer/split.rs:48:16 [INFO] [stdout] | [INFO] [stdout] 48 | for i in 0..split.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 48 - for i in 0..split.len() { [INFO] [stdout] 48 + for in outputShapes.iter().take(split.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `permute_backs` [INFO] [stdout] --> src/layer/split.rs:63:16 [INFO] [stdout] | [INFO] [stdout] 63 | for i in 0..split.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 63 - for i in 0..split.len() { [INFO] [stdout] 63 + for (i, ) in permute_backs.iter().enumerate().take(split.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/layer/split.rs:69:15 [INFO] [stdout] | [INFO] [stdout] 69 | axis: axis as usize, [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `axis` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/squeeze.rs:24:23 [INFO] [stdout] | [INFO] [stdout] 24 | let axes_result = attributes.iter().filter(|x| x.name == "axes").next(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "axes")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i64` -> `i64`) [INFO] [stdout] --> src/layer/squeeze.rs:28:36 [INFO] [stdout] | [INFO] [stdout] 28 | axes = x.ints.iter().map(|x| *x as i64).collect(); [INFO] [stdout] | ^^^^^^^^^ help: try: `*x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/squeeze.rs:89:29 [INFO] [stdout] | [INFO] [stdout] 89 | let axis: isize = match attributes.iter().filter(|x| x.name == "axes").next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "axes")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/layer/squeeze.rs:126:32 [INFO] [stdout] | [INFO] [stdout] 126 | let permutation = ((0..a).map(|x| x).collect(), vec![0]); [INFO] [stdout] | ^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/layer/tile.rs:19:34 [INFO] [stdout] | [INFO] [stdout] 19 | tiled = concatenate(Axis(i), std::iter::repeat(tiled.view()).take(*repeat).collect::>().as_slice()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(tiled.view(), *repeat)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] = note: `#[warn(clippy::manual_repeat_n)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/layer/tile.rs:51:21 [INFO] [stdout] | [INFO] [stdout] 51 | input_shape = std::iter::repeat(1).take(diff).chain(input_shape.iter().cloned()).collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(1, diff)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/layer/tile.rs:60:17 [INFO] [stdout] | [INFO] [stdout] 60 | repeats = std::iter::repeat(1).take(input_shape.len() - repeats.len()).chain(repeats.iter().cloned()).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(1, input_shape.len() - repeats.len())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/topk.rs:38:23 [INFO] [stdout] | [INFO] [stdout] 38 | let axis: isize = attributes.iter().filter(|x| x.name == "axis").next().unwrap().i as isize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "axis")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/topk.rs:40:19 [INFO] [stdout] | [INFO] [stdout] 40 | let largest = attributes.iter().filter(|x| x.name == "largest").next().unwrap().i as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "largest")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/topk.rs:136:23 [INFO] [stdout] | [INFO] [stdout] 136 | let axis: isize = attributes.iter().filter(|x| x.name == "axis").next().unwrap().i as isize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "axis")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/main.rs:47:53 [INFO] [stdout] | [INFO] [stdout] 47 | let models_ref: Vec<&ArrayD> = models.iter().map(|model| model).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] = note: `#[warn(clippy::map_identity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/layer/transpose.rs:20:24 [INFO] [stdout] | [INFO] [stdout] 20 | let axes: Vec<_> = attributes.iter().filter(|x| x.name == "perm").next().unwrap().ints.iter().map(|x| *x as usize).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `attributes.iter().find(|x| x.name == "perm")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/layer/where.rs:42:40 [INFO] [stdout] | [INFO] [stdout] 42 | let mul1_output = graph.addNode(if input_shapes[1].len() == 0 { mul_scalar } else { mul }, vec![(-1, 0), (-2, 0)]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input_shapes[1].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] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/layer/where.rs:44:40 [INFO] [stdout] | [INFO] [stdout] 44 | let mul2_output = graph.addNode(if input_shapes[2].len() == 0 { mul_scalar } else { mul }, vec![(sub_output, 0), (-3, 0)]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input_shapes[2].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] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer.rs:91:19 [INFO] [stdout] | [INFO] [stdout] 91 | input_shapes: &Vec<&Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `&[&Vec]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer.rs:92:18 [INFO] [stdout] | [INFO] [stdout] 92 | input_types: &Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `&[DatumType]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer.rs:93:16 [INFO] [stdout] | [INFO] [stdout] 93 | constants: &Vec, DatumType)>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Option<(&ArrayD, DatumType)>]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/layer.rs:94:17 [INFO] [stdout] | [INFO] [stdout] 94 | attributes: &Vec<&AttributeProto>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[&AttributeProto]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/main.rs:73:15 [INFO] [stdout] | [INFO] [stdout] 73 | let setups: Vec<(Vec, Vec, Vec>)> = util::vec_iter(&setups) [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/onnx.rs:26:54 [INFO] [stdout] | [INFO] [stdout] 26 | ...ph: &pb::GraphProto) -> (HashMap, HashMap>, HashMap) { [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/onnx.rs:49:6 [INFO] [stdout] | [INFO] [stdout] 49 | ) -> ( [INFO] [stdout] | ______^ [INFO] [stdout] 50 | | impl Iterator + 'a, [INFO] [stdout] 51 | | HashMap, [INFO] [stdout] 52 | | Vec<(ArrayD, DatumType)>, [INFO] [stdout] 53 | | ) { [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: the variable `idx` is used as a loop counter [INFO] [stdout] --> src/onnx.rs:67:3 [INFO] [stdout] | [INFO] [stdout] 67 | for (name, tensor) in constants.clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `for (idx, (name, tensor)) in constants.clone().enumerate()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `tract_onnx::pb::tensor_proto::DataType` [INFO] [stdout] --> src/onnx.rs:101:19 [INFO] [stdout] | [INFO] [stdout] 101 | let dtype = DataType::from_i32(tensor.data_type).unwrap().into(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `DataType::from_i32(tensor.data_type).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/onnx.rs:131:52 [INFO] [stdout] | [INFO] [stdout] 131 | graph.layer_names.push(format!("Const {}", name.to_string())); [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] = note: `#[warn(clippy::to_string_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/main.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | util::vec_iter(&x.2).map(|y| (y.clone())).collect(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `util::vec_iter(&x.2).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:150:33 [INFO] [stdout] | [INFO] [stdout] 150 | "Add" => Ok(AddLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:150:48 [INFO] [stdout] | [INFO] [stdout] 150 | "Add" => Ok(AddLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:150:62 [INFO] [stdout] | [INFO] [stdout] 150 | "Add" => Ok(AddLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:151:33 [INFO] [stdout] | [INFO] [stdout] 151 | "And" => Ok(AndLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [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: unnecessary map of the identity function [INFO] [stdout] --> src/main.rs:87:49 [INFO] [stdout] | [INFO] [stdout] 87 | let models: Vec<&ArrayD> = models.iter().map(|model| model).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:151:48 [INFO] [stdout] | [INFO] [stdout] 151 | "And" => Ok(AndLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:151:62 [INFO] [stdout] | [INFO] [stdout] 151 | "And" => Ok(AndLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:152:39 [INFO] [stdout] | [INFO] [stdout] 152 | "ArgMax" => Ok(ArgMaxLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:152:54 [INFO] [stdout] | [INFO] [stdout] 152 | "ArgMax" => Ok(ArgMaxLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:152:68 [INFO] [stdout] | [INFO] [stdout] 152 | "ArgMax" => Ok(ArgMaxLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:153:33 [INFO] [stdout] | [INFO] [stdout] 153 | "Mul" => Ok(MulLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:153:48 [INFO] [stdout] | [INFO] [stdout] 153 | "Mul" => Ok(MulLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:153:62 [INFO] [stdout] | [INFO] [stdout] 153 | "Mul" => Ok(MulLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:154:35 [INFO] [stdout] | [INFO] [stdout] 154 | "Cast" => Ok(CastLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:154:50 [INFO] [stdout] | [INFO] [stdout] 154 | "Cast" => Ok(CastLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:154:64 [INFO] [stdout] | [INFO] [stdout] 154 | "Cast" => Ok(CastLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:155:39 [INFO] [stdout] | [INFO] [stdout] 155 | "Identity" => Ok(CastLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), // Identity is equivalent t... [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:155:54 [INFO] [stdout] | [INFO] [stdout] 155 | "Identity" => Ok(CastLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), // Identity is equivalent t... [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:155:68 [INFO] [stdout] | [INFO] [stdout] 155 | "Identity" => Ok(CastLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), // Identity is equivalent t... [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:156:60 [INFO] [stdout] | [INFO] [stdout] 156 | "InstanceNormalization" => Ok(InstanceNormLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:156:75 [INFO] [stdout] | [INFO] [stdout] 156 | "InstanceNormalization" => Ok(InstanceNormLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:156:89 [INFO] [stdout] | [INFO] [stdout] 156 | "InstanceNormalization" => Ok(InstanceNormLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:157:54 [INFO] [stdout] | [INFO] [stdout] 157 | "BatchNormalization" => Ok(BatchNormLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:157:69 [INFO] [stdout] | [INFO] [stdout] 157 | "BatchNormalization" => Ok(BatchNormLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:157:83 [INFO] [stdout] | [INFO] [stdout] 157 | "BatchNormalization" => Ok(BatchNormLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:158:35 [INFO] [stdout] | [INFO] [stdout] 158 | "Ceil" => Ok(CeilLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:158:50 [INFO] [stdout] | [INFO] [stdout] 158 | "Ceil" => Ok(CeilLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:158:64 [INFO] [stdout] | [INFO] [stdout] 158 | "Ceil" => Ok(CeilLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:159:35 [INFO] [stdout] | [INFO] [stdout] 159 | "Clip" => Ok(ClipLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:159:50 [INFO] [stdout] | [INFO] [stdout] 159 | "Clip" => Ok(ClipLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:159:64 [INFO] [stdout] | [INFO] [stdout] 159 | "Clip" => Ok(ClipLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:160:39 [INFO] [stdout] | [INFO] [stdout] 160 | "Concat" => Ok(ConcatLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:160:54 [INFO] [stdout] | [INFO] [stdout] 160 | "Concat" => Ok(ConcatLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:160:68 [INFO] [stdout] | [INFO] [stdout] 160 | "Concat" => Ok(ConcatLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:161:54 [INFO] [stdout] | [INFO] [stdout] 161 | "ConstantOfShape" => Ok(ConstOfShapeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:161:69 [INFO] [stdout] | [INFO] [stdout] 161 | "ConstantOfShape" => Ok(ConstOfShapeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:161:83 [INFO] [stdout] | [INFO] [stdout] 161 | "ConstantOfShape" => Ok(ConstOfShapeLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:162:33 [INFO] [stdout] | [INFO] [stdout] 162 | "Cos" => Ok(CosLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:162:48 [INFO] [stdout] | [INFO] [stdout] 162 | "Cos" => Ok(CosLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:162:62 [INFO] [stdout] | [INFO] [stdout] 162 | "Cos" => Ok(CosLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:163:33 [INFO] [stdout] | [INFO] [stdout] 163 | "Sin" => Ok(SinLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:163:48 [INFO] [stdout] | [INFO] [stdout] 163 | "Sin" => Ok(SinLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:163:62 [INFO] [stdout] | [INFO] [stdout] 163 | "Sin" => Ok(SinLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:164:33 [INFO] [stdout] | [INFO] [stdout] 164 | "Sub" => Ok(SubLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:164:48 [INFO] [stdout] | [INFO] [stdout] 164 | "Sub" => Ok(SubLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:164:62 [INFO] [stdout] | [INFO] [stdout] 164 | "Sub" => Ok(SubLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:165:39 [INFO] [stdout] | [INFO] [stdout] 165 | "Einsum" => Ok(EinsumLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:165:54 [INFO] [stdout] | [INFO] [stdout] 165 | "Einsum" => Ok(EinsumLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:165:68 [INFO] [stdout] | [INFO] [stdout] 165 | "Einsum" => Ok(EinsumLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:166:35 [INFO] [stdout] | [INFO] [stdout] 166 | "Less" => Ok(LessLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:166:50 [INFO] [stdout] | [INFO] [stdout] 166 | "Less" => Ok(LessLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:166:64 [INFO] [stdout] | [INFO] [stdout] 166 | "Less" => Ok(LessLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:167:35 [INFO] [stdout] | [INFO] [stdout] 167 | "LSTM" => Ok(LSTMLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:167:50 [INFO] [stdout] | [INFO] [stdout] 167 | "LSTM" => Ok(LSTMLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:167:64 [INFO] [stdout] | [INFO] [stdout] 167 | "LSTM" => Ok(LSTMLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:168:39 [INFO] [stdout] | [INFO] [stdout] 168 | "MatMul" => Ok(MatMulLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:168:54 [INFO] [stdout] | [INFO] [stdout] 168 | "MatMul" => Ok(MatMulLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:168:68 [INFO] [stdout] | [INFO] [stdout] 168 | "MatMul" => Ok(MatMulLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:169:33 [INFO] [stdout] | [INFO] [stdout] 169 | "Mod" => Ok(ModLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:169:48 [INFO] [stdout] | [INFO] [stdout] 169 | "Mod" => Ok(ModLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:169:62 [INFO] [stdout] | [INFO] [stdout] 169 | "Mod" => Ok(ModLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:170:33 [INFO] [stdout] | [INFO] [stdout] 170 | "Neg" => Ok(NegLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `input_shapes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:170:48 [INFO] [stdout] | [INFO] [stdout] 170 | "Neg" => Ok(NegLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `input_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/onnx.rs:170:62 [INFO] [stdout] | [INFO] [stdout] 170 | "Neg" => Ok(NegLayer::graph(&input_shapes, &input_types, &node_constants, &node_attributes)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `node_constants` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [WARN] too many lines in the log, truncating it