[INFO] fetching crate f1r3fly-rholang 0.1.1... [INFO] linting f1r3fly-rholang-0.1.1 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate f1r3fly-rholang 0.1.1 into /workspace/builds/worker-2-tc1/source [INFO] removed /workspace/builds/worker-2-tc1/source/rust-toolchain.toml [INFO] started tweaking crates.io crate f1r3fly-rholang 0.1.1 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate f1r3fly-rholang 0.1.1 [INFO] tweaked toml for crates.io crate f1r3fly-rholang 0.1.1 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate f1r3fly-rholang 0.1.1 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 crates.io crate f1r3fly-rholang 0.1.1 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded uuid-macro-internal v1.10.0 [INFO] [stderr] Downloaded counter v0.5.7 [INFO] [stderr] Downloaded heed-traits v0.8.0 [INFO] [stderr] Downloaded thiserror v2.0.9 [INFO] [stderr] Downloaded f1r3fly-crypto v0.1.0 [INFO] [stderr] Downloaded cc v1.1.24 [INFO] [stderr] Downloaded prettyplease v0.2.22 [INFO] [stderr] Downloaded f1r3fly-models v0.1.0 [INFO] [stderr] Downloaded syn v2.0.93 [INFO] [stderr] Downloaded proptest-derive v0.5.1 [INFO] [stderr] Downloaded async-trait v0.1.83 [INFO] [stderr] Downloaded f1r3fly-rspace-plus-plus v0.1.1 [INFO] [stderr] Downloaded f1r3fly-tree-sitter-rholang v0.1.0 [INFO] [stderr] Downloaded lmdb-rkv-sys v0.11.2 [INFO] [stderr] Downloaded openai-api-rs v6.0.3 [INFO] [stderr] Downloaded tree-sitter v0.23.2 [INFO] [stderr] Downloaded tonic-build v0.12.3 [INFO] [stderr] Downloaded heed v0.11.0 [INFO] [stderr] Downloaded state v0.6.0 [INFO] [stderr] Downloaded tree-sitter-rust v0.23.0 [INFO] [stderr] Downloaded monadic v0.5.5 [INFO] [stderr] Downloaded f1r3fly-shared v0.1.0 [INFO] [stderr] Downloaded heed-types v0.8.0 [INFO] [stderr] Downloaded synchronoise v1.0.1 [INFO] [stderr] Downloaded rustls v0.23.23 [INFO] [stderr] Downloaded thiserror-impl v2.0.9 [INFO] [stderr] Downloaded tree-sitter-language v0.1.1 [INFO] [stderr] Downloaded zbase32 v0.1.2 [INFO] [stderr] Downloaded ring v0.17.9 [INFO] [stderr] Downloaded openssl-src v300.5.0+3.5.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 12c24320e7490aaab25d129ac7fd5b50e4e2a2a04cbf7d14e76944f6fe31c393 [INFO] running `Command { std: "docker" "start" "-a" "12c24320e7490aaab25d129ac7fd5b50e4e2a2a04cbf7d14e76944f6fe31c393", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "12c24320e7490aaab25d129ac7fd5b50e4e2a2a04cbf7d14e76944f6fe31c393", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "12c24320e7490aaab25d129ac7fd5b50e4e2a2a04cbf7d14e76944f6fe31c393", kill_on_drop: false }` [INFO] [stdout] 12c24320e7490aaab25d129ac7fd5b50e4e2a2a04cbf7d14e76944f6fe31c393 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 87ace7bf09ff0f01772f5608b9fdf5589aaeba665f19960a658970bba4fc3c95 [INFO] running `Command { std: "docker" "start" "-a" "87ace7bf09ff0f01772f5608b9fdf5589aaeba665f19960a658970bba4fc3c95", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.92 [INFO] [stderr] Compiling cc v1.1.24 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Checking bytes v1.7.2 [INFO] [stderr] Checking once_cell v1.20.1 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking mio v1.0.2 [INFO] [stderr] Checking generic-array v0.14.7 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking socket2 v0.5.7 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking http v1.2.0 [INFO] [stderr] Compiling anyhow v1.0.95 [INFO] [stderr] Compiling rustix v1.0.5 [INFO] [stderr] Compiling getrandom v0.3.2 [INFO] [stderr] Compiling semver v1.0.23 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling openssl-src v300.5.0+3.5.0 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Compiling serde v1.0.210 [INFO] [stderr] Compiling httparse v1.10.0 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Compiling syn v2.0.93 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Compiling either v1.13.0 [INFO] [stderr] Compiling libm v0.2.8 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Checking hashbrown v0.15.0 [INFO] [stderr] Compiling openssl-sys v0.9.106 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling libc v0.2.172 [INFO] [stderr] Compiling openssl v0.10.71 [INFO] [stderr] Checking num-traits v0.2.19 [INFO] [stderr] Checking cpufeatures v0.2.14 [INFO] [stderr] Checking indexmap v2.6.0 [INFO] [stderr] Compiling linux-raw-sys v0.9.4 [INFO] [stderr] Compiling prettyplease v0.2.22 [INFO] [stderr] Compiling native-tls v0.2.13 [INFO] [stderr] Checking der v0.7.9 [INFO] [stderr] Compiling fixedbitset v0.4.2 [INFO] [stderr] Compiling regex-automata v0.4.8 [INFO] [stderr] Compiling serde_json v1.0.128 [INFO] [stderr] Compiling fastrand v2.1.1 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling petgraph v0.6.5 [INFO] [stderr] Compiling multimap v0.10.0 [INFO] [stderr] Checking spki v0.7.3 [INFO] [stderr] Checking signature v2.2.0 [INFO] [stderr] Checking ff v0.13.0 [INFO] [stderr] Compiling unicase v2.8.1 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Compiling tempfile v3.19.1 [INFO] [stderr] Checking group v0.13.0 [INFO] [stderr] Checking sec1 v0.7.3 [INFO] [stderr] Checking pkcs8 v0.10.2 [INFO] [stderr] Checking unicode-normalization v0.1.24 [INFO] [stderr] Compiling rstest_macros v0.19.0 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Compiling lmdb-rkv-sys v0.11.2 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking crypto-bigint v0.5.5 [INFO] [stderr] Checking wait-timeout v0.2.0 [INFO] [stderr] Checking unicode-bidi v0.3.17 [INFO] [stderr] Checking rfc6979 v0.4.0 [INFO] [stderr] Compiling regex v1.11.0 [INFO] [stderr] Checking idna v0.5.0 [INFO] [stderr] Checking rusty-fork v0.3.0 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking crossbeam-queue v0.3.11 [INFO] [stderr] Checking sha2 v0.10.8 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Compiling tree-sitter v0.23.2 [INFO] [stderr] Compiling blake3 v1.5.4 [INFO] [stderr] Checking rand_xorshift v0.3.0 [INFO] [stderr] Checking heed-traits v0.8.0 [INFO] [stderr] Compiling relative-path v1.9.3 [INFO] [stderr] Checking bytemuck v1.18.0 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling tokio-macros v2.4.0 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling serde_derive v1.0.210 [INFO] [stderr] Compiling prost-derive v0.13.5 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Checking tokio v1.40.0 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Compiling async-trait v0.1.83 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Compiling pin-project-internal v1.1.9 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling prost v0.13.5 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling prost-types v0.13.5 [INFO] [stderr] Checking async-stream v0.3.6 [INFO] [stderr] Checking pin-project v1.1.9 [INFO] [stderr] Checking elliptic-curve v0.13.8 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling uuid-macro-internal v1.10.0 [INFO] [stderr] Compiling glob v0.3.1 [INFO] [stderr] Checking data-encoding v2.8.0 [INFO] [stderr] Checking http-body-util v0.1.2 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking tree-sitter-language v0.1.1 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Checking axum-core v0.4.5 [INFO] [stderr] Checking rustls-pemfile v2.2.0 [INFO] [stderr] Compiling prost-build v0.13.5 [INFO] [stderr] Checking proptest v1.5.0 [INFO] [stderr] Checking tokio-util v0.7.13 [INFO] [stderr] Checking tower v0.5.2 [INFO] [stderr] Compiling tonic-build v0.12.3 [INFO] [stderr] Checking h2 v0.4.8 [INFO] [stderr] Checking tower v0.4.13 [INFO] [stderr] Checking tokio-stream v0.1.17 [INFO] [stderr] Checking axum v0.7.9 [INFO] [stderr] Compiling f1r3fly-models v0.1.0 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking tokio-socks v0.5.2 [INFO] [stderr] Checking uuid v1.10.0 [INFO] [stderr] Checking ecdsa v0.16.9 [INFO] [stderr] Checking heed-types v0.8.0 [INFO] [stderr] Compiling proptest-derive v0.5.1 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking synchronoise v1.0.1 [INFO] [stderr] Checking url v2.5.2 [INFO] [stderr] Checking ed25519 v2.2.3 [INFO] [stderr] Compiling f1r3fly-tree-sitter-rholang v0.1.0 [INFO] [stderr] Compiling tree-sitter-rust v0.23.0 [INFO] [stderr] Checking hyper v1.6.0 [INFO] [stderr] Checking blake2 v0.10.6 [INFO] [stderr] Checking page_size v0.4.2 [INFO] [stderr] Compiling thiserror v2.0.9 [INFO] [stderr] Checking iana-time-zone v0.1.61 [INFO] [stderr] Checking futures-timer v3.0.3 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking rstest v0.19.0 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Checking heed v0.11.0 [INFO] [stderr] Checking yasna v0.5.2 [INFO] [stderr] Checking dashmap v5.5.3 [INFO] [stderr] Checking ed25519-dalek v2.1.1 [INFO] [stderr] Checking hyper-util v0.1.10 [INFO] [stderr] Checking tiny-keccak v2.0.2 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking k256 v0.13.4 [INFO] [stderr] Compiling thiserror-impl v2.0.9 [INFO] [stderr] Checking counter v0.5.7 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking monadic v0.5.5 [INFO] [stderr] Compiling f1r3fly-rholang v0.1.1 (/opt/rustwide/workdir) [INFO] [stderr] Checking multiset v0.0.5 [INFO] [stderr] Checking state v0.6.0 [INFO] [stderr] Checking shlex v1.3.0 [INFO] [stderr] Checking pretty_assertions v1.4.1 [INFO] [stderr] Checking f1r3fly-crypto v0.1.0 [INFO] [stderr] Checking hyper-timeout v0.5.2 [INFO] [stderr] Checking f1r3fly-shared v0.1.0 [INFO] [stderr] Checking dotenv v0.15.0 [INFO] [stderr] Checking zbase32 v0.1.2 [INFO] [stderr] Checking tonic v0.12.3 [INFO] [stderr] Checking f1r3fly-rspace-plus-plus v0.1.1 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking tungstenite v0.24.0 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking reqwest v0.12.12 [INFO] [stderr] Checking tokio-tungstenite v0.24.0 [INFO] [stderr] Checking openai-api-rs v6.0.3 [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/rust/interpreter/reduce.rs:2937:37 [INFO] [stdout] | [INFO] [stdout] 2937 | ... ps: ps, [INFO] [stdout] | ^^^^^^ help: replace it with: `ps` [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/rust/interpreter/reduce.rs:2937:37 [INFO] [stdout] | [INFO] [stdout] 2937 | ... ps: ps, [INFO] [stdout] | ^^^^^^ help: replace it with: `ps` [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: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/rust/interpreter/accounting/costs.rs:138:31 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn hex_to_bytes_cost(str: &String) -> Cost { [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] 138 - pub fn hex_to_bytes_cost(str: &String) -> Cost { [INFO] [stdout] 138 + pub fn hex_to_bytes_cost(str: &str) -> Cost { [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/rust/interpreter/accounting/costs.rs:143:33 [INFO] [stdout] | [INFO] [stdout] 143 | pub fn bytes_to_hex_cost(bytes: &Vec) -> Cost { [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] 143 - pub fn bytes_to_hex_cost(bytes: &Vec) -> Cost { [INFO] [stdout] 143 + pub fn bytes_to_hex_cost(bytes: &[u8]) -> Cost { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless call to `as_bytes` [INFO] [stdout] --> src/rust/interpreter/accounting/costs.rs:217:18 [INFO] [stdout] | [INFO] [stdout] 217 | Cost::create(term.as_bytes().len() as i64, "parsing".to_string()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: `len()` can be called directly on strings: `term.len()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_as_bytes [INFO] [stdout] = note: `#[warn(clippy::needless_as_bytes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `BoundMap` [INFO] [stdout] --> src/rust/interpreter/compiler/bound_map.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | / pub fn new() -> Self { [INFO] [stdout] 12 | | BoundMap { [INFO] [stdout] 13 | | next_index: 0, [INFO] [stdout] 14 | | index_bindings: HashMap::new(), [INFO] [stdout] 15 | | } [INFO] [stdout] 16 | | } [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] 10 + impl Default for BoundMap { [INFO] [stdout] 11 + fn default() -> Self { [INFO] [stdout] 12 + Self::new() [INFO] [stdout] 13 + } [INFO] [stdout] 14 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/rust/interpreter/compiler/mod.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | pub mod compiler; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] = note: `#[warn(clippy::module_inception)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/rust/interpreter/compiler/free_map.rs:84:30 [INFO] [stdout] | [INFO] [stdout] 84 | new_wildcards.extend(free_map.wildcards.into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/91021ccc790478a1a89c003e7d32b8d155ae6aae/library/core/src/iter/traits/collect.rs:416:17 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 84 - new_wildcards.extend(free_map.wildcards.into_iter()); [INFO] [stdout] 84 + new_wildcards.extend(free_map.wildcards); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `ProcVisitInputs` [INFO] [stdout] --> src/rust/interpreter/compiler/normalize.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | / pub fn new() -> Self { [INFO] [stdout] 38 | | ProcVisitInputs { [INFO] [stdout] 39 | | par: Par::default(), [INFO] [stdout] 40 | | bound_map_chain: BoundMapChain::new(), [INFO] [stdout] ... | [INFO] [stdout] 43 | | } [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] 36 + impl Default for ProcVisitInputs { [INFO] [stdout] 37 + fn default() -> Self { [INFO] [stdout] 38 + Self::new() [INFO] [stdout] 39 + } [INFO] [stdout] 40 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalize.rs:213:66 [INFO] [stdout] | [INFO] [stdout] 213 | Proc::Matches { left, right, .. } => normalize_p_matches(&left, &right, input, env), [INFO] [stdout] | ^^^^^ help: change this to: `left` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalize.rs:213:73 [INFO] [stdout] | [INFO] [stdout] 213 | Proc::Matches { left, right, .. } => normalize_p_matches(&left, &right, input, env), [INFO] [stdout] | ^^^^^^ help: change this to: `right` [INFO] [stdout] | [INFO] [stdout] = 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: `f1r3fly_models::rhoapi::Expr` [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/collection_normalize_matcher.rs:56:26 [INFO] [stdout] | [INFO] [stdout] 56 | let expr: Expr = constructed_expr.into(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `constructed_expr` [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 `Var` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/collection_normalize_matcher.rs:108:50 [INFO] [stdout] | [INFO] [stdout] 108 | Some(ref var) => var.connective_used(var.clone()), [INFO] [stdout] | ^^^^^^^^^^^ help: try dereferencing it: `*var` [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: using `clone` on type `Var` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/collection_normalize_matcher.rs:113:47 [INFO] [stdout] | [INFO] [stdout] 113 | Some(ref var) => var.locally_free(var.clone(), 0), [INFO] [stdout] | ^^^^^^^^^^^ help: try dereferencing it: `*var` [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 `Option` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/collection_normalize_matcher.rs:125:32 [INFO] [stdout] | [INFO] [stdout] 125 | remainder: remainder.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `remainder` [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 `Option` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/collection_normalize_matcher.rs:147:36 [INFO] [stdout] | [INFO] [stdout] 147 | remainder: optional_remainder.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `optional_remainder` [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 `Option` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/collection_normalize_matcher.rs:187:36 [INFO] [stdout] | [INFO] [stdout] 187 | remainder: optional_remainder.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `optional_remainder` [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/rust/interpreter/compiler/normalizer/name_normalize_matcher.rs:62:25 [INFO] [stdout] | [INFO] [stdout] 62 | / return Ok(NameVisitOutputs { [INFO] [stdout] 63 | | par: prepend_expr( [INFO] [stdout] 64 | | Par::default(), [INFO] [stdout] 65 | | new_expr, [INFO] [stdout] ... | [INFO] [stdout] 68 | | free_map: input.free_map.clone(), [INFO] [stdout] 69 | | }); [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] 62 ~ Ok(NameVisitOutputs { [INFO] [stdout] 63 + par: prepend_expr( [INFO] [stdout] 64 + Par::default(), [INFO] [stdout] 65 + new_expr, [INFO] [stdout] 66 + input.bound_map_chain.depth() as i32, [INFO] [stdout] 67 + ), [INFO] [stdout] 68 + free_map: input.free_map.clone(), [INFO] [stdout] 69 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/name_normalize_matcher.rs:76:25 [INFO] [stdout] | [INFO] [stdout] 76 | / return Err(InterpreterError::UnexpectedNameContext { [INFO] [stdout] 77 | | var_name: name.to_string(), [INFO] [stdout] 78 | | proc_var_source_position: source_position.to_string(), [INFO] [stdout] 79 | | name_source_position: SourcePosition { [INFO] [stdout] ... | [INFO] [stdout] 85 | | .into()); [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] 76 ~ Err(InterpreterError::UnexpectedNameContext { [INFO] [stdout] 77 + var_name: name.to_string(), [INFO] [stdout] 78 + proc_var_source_position: source_position.to_string(), [INFO] [stdout] 79 + name_source_position: SourcePosition { [INFO] [stdout] 80 + row: line_num, [INFO] [stdout] 81 + column: col_num, [INFO] [stdout] 82 + } [INFO] [stdout] 83 + .to_string(), [INFO] [stdout] 84 + } [INFO] [stdout] 85 ~ .into()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `rust::interpreter::errors::InterpreterError` [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/name_normalize_matcher.rs:76:36 [INFO] [stdout] | [INFO] [stdout] 76 | return Err(InterpreterError::UnexpectedNameContext { [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 77 | | var_name: name.to_string(), [INFO] [stdout] 78 | | proc_var_source_position: source_position.to_string(), [INFO] [stdout] 79 | | name_source_position: SourcePosition { [INFO] [stdout] ... | [INFO] [stdout] 85 | | .into()); [INFO] [stdout] | |_______________________________^ [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 `.into()` [INFO] [stdout] | [INFO] [stdout] 76 ~ return Err(InterpreterError::UnexpectedNameContext { [INFO] [stdout] 77 + var_name: name.to_string(), [INFO] [stdout] 78 + proc_var_source_position: source_position.to_string(), [INFO] [stdout] 79 + name_source_position: SourcePosition { [INFO] [stdout] 80 + row: line_num, [INFO] [stdout] 81 + column: col_num, [INFO] [stdout] 82 + } [INFO] [stdout] 83 + .to_string(), [INFO] [stdout] 84 ~ }); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `rust::interpreter::errors::InterpreterError` [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/name_normalize_matcher.rs:119:31 [INFO] [stdout] | [INFO] [stdout] 119 | }) => Err(InterpreterError::UnexpectedReuseOfNameContextFree { [INFO] [stdout] | _______________________________^ [INFO] [stdout] 120 | | var_name: name.to_string(), [INFO] [stdout] 121 | | first_use: source_position.to_string(), [INFO] [stdout] 122 | | second_use: SourcePosition { [INFO] [stdout] ... | [INFO] [stdout] 128 | | .into()), [INFO] [stdout] | |___________________________^ [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 `.into()` [INFO] [stdout] | [INFO] [stdout] 119 ~ }) => Err(InterpreterError::UnexpectedReuseOfNameContextFree { [INFO] [stdout] 120 + var_name: name.to_string(), [INFO] [stdout] 121 + first_use: source_position.to_string(), [INFO] [stdout] 122 + second_use: SourcePosition { [INFO] [stdout] 123 + row: line_num, [INFO] [stdout] 124 + column: col_num, [INFO] [stdout] 125 + } [INFO] [stdout] 126 + .to_string(), [INFO] [stdout] 127 ~ }), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/name_normalize_matcher.rs:141:17 [INFO] [stdout] | [INFO] [stdout] 141 | "able, [INFO] [stdout] | ^^^^^^^^^ help: change this to: `quotable` [INFO] [stdout] | [INFO] [stdout] = 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/rust/interpreter/compiler/normalizer/parser.rs:707:25 [INFO] [stdout] | [INFO] [stdout] 707 | / return Err(InterpreterError::ParserError( [INFO] [stdout] 708 | | "Expected named node inside neg parentheses".to_string(), [INFO] [stdout] 709 | | )) [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] 707 ~ Err(InterpreterError::ParserError( [INFO] [stdout] 708 + "Expected named node inside neg parentheses".to_string(), [INFO] [stdout] 709 + )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/parser.rs:117:66 [INFO] [stdout] | [INFO] [stdout] 117 | return Err(InterpreterError::ParserError(format!( [INFO] [stdout] | __________________________________________________________________^ [INFO] [stdout] 118 | | "No child choice node at index 0 for sync_send_cont", [INFO] [stdout] 119 | | ))) [INFO] [stdout] | |_________________________^ help: consider using `.to_string()`: `"No child choice node at index 0 for sync_send_cont".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/parser.rs:429:25 [INFO] [stdout] | [INFO] [stdout] 429 | / return Err(InterpreterError::ParserError(format!( [INFO] [stdout] 430 | | "Unexpected choice node kind: {:?} of _receipt", [INFO] [stdout] 431 | | receipt_node.kind(), [INFO] [stdout] 432 | | ))) [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] 429 ~ Err(InterpreterError::ParserError(format!( [INFO] [stdout] 430 + "Unexpected choice node kind: {:?} of _receipt", [INFO] [stdout] 431 + receipt_node.kind(), [INFO] [stdout] 432 + ))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/parser.rs:394:25 [INFO] [stdout] | [INFO] [stdout] 394 | &receipt_node, [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `receipt_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/parser.rs:399:66 [INFO] [stdout] | [INFO] [stdout] 399 | let names_node = get_child_by_field_name(&receipt_node, "names")?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `receipt_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/parser.rs:402:66 [INFO] [stdout] | [INFO] [stdout] 402 | let input_node = get_child_by_field_name(&receipt_node, "input")?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `receipt_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/parser.rs:414:66 [INFO] [stdout] | [INFO] [stdout] 414 | let names_node = get_child_by_field_name(&receipt_node, "names")?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `receipt_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/parser.rs:417:66 [INFO] [stdout] | [INFO] [stdout] 417 | let input_node = get_child_by_field_name(&receipt_node, "input")?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `receipt_node` [INFO] [stdout] | [INFO] [stdout] = 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/rust/interpreter/compiler/normalizer/parser.rs:755:29 [INFO] [stdout] | [INFO] [stdout] 755 | / ... return Err(InterpreterError::ParserError( [INFO] [stdout] 756 | | ... "Expected rule on cont node".to_string(), [INFO] [stdout] 757 | | ... )) [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] 755 ~ Err(InterpreterError::ParserError( [INFO] [stdout] 756 + "Expected rule on cont node".to_string(), [INFO] [stdout] 757 + )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/parser.rs:773:29 [INFO] [stdout] | [INFO] [stdout] 773 | / ... return Err(InterpreterError::ParserError( [INFO] [stdout] 774 | | ... "Expected rule on cont node".to_string(), [INFO] [stdout] 775 | | ... )) [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] 773 ~ Err(InterpreterError::ParserError( [INFO] [stdout] 774 + "Expected rule on cont node".to_string(), [INFO] [stdout] 775 + )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/parser.rs:1119:39 [INFO] [stdout] | [INFO] [stdout] 1119 | let procs = parse_comma_sep_procs(&node, source)?; [INFO] [stdout] | ^^^^^ help: change this to: `node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/parser.rs:1128:70 [INFO] [stdout] | [INFO] [stdout] 1128 | let names_proc = if let Ok(names_node) = get_child_by_field_name(&node, "names") { [INFO] [stdout] | ^^^^^ help: change this to: `node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/parser.rs:1139:46 [INFO] [stdout] | [INFO] [stdout] 1139 | let input_node = get_child_by_field_name(&node, "input")?; [INFO] [stdout] | ^^^^^ help: change this to: `node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_bundle_normalizer.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | block: &Box, [INFO] [stdout] | ^^^^^^^^^^^ help: try: `&Block` [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/rust/interpreter/compiler/normalizer/processes/p_bundle_normalizer.rs:118:17 [INFO] [stdout] | [INFO] [stdout] 117 | let updated_bundle = prepend_bundle(input.par.clone(), new_bundle); [INFO] [stdout] | ------------------------------------------------------------------- unnecessary `let` binding [INFO] [stdout] 118 | updated_bundle [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] 117 ~ [INFO] [stdout] 118 ~ prepend_bundle(input.par.clone(), new_bundle) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_contr_normalizer.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | proc: &Box, [INFO] [stdout] | ^^^^^^^^^^^ help: try: `&Block` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_contr_normalizer.rs:78:24 [INFO] [stdout] | [INFO] [stdout] 78 | remainder: remainder_result.0.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `remainder_result.0` [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/rust/interpreter/compiler/normalizer/processes/p_if_normalizer.rs:18:30 [INFO] [stdout] | [INFO] [stdout] 18 | normalize_match_proc(&value_proc, ProcVisitInputs { ..input.clone() }, env)?; [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `value_proc` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_if_normalizer.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | &true_body_proc, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `true_body_proc` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_if_normalizer.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | &false_body_proc, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `false_body_proc` [INFO] [stdout] | [INFO] [stdout] = 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/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | / return Err(InterpreterError::BugFoundError( [INFO] [stdout] 44 | | "Exepected at least one receipt".to_string(), [INFO] [stdout] 45 | | )); [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] 43 ~ Err(InterpreterError::BugFoundError( [INFO] [stdout] 44 + "Exepected at least one receipt".to_string(), [INFO] [stdout] 45 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:261:25 [INFO] [stdout] | [INFO] [stdout] 261 | / return Err(InterpreterError::BugFoundError(format!( [INFO] [stdout] 262 | | "Expected SimpleSource, found {:?}", [INFO] [stdout] 263 | | &linear_bind.input [INFO] [stdout] 264 | | ))) [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] 261 ~ Err(InterpreterError::BugFoundError(format!( [INFO] [stdout] 262 + "Expected SimpleSource, found {:?}", [INFO] [stdout] 263 + &linear_bind.input [INFO] [stdout] 264 + ))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:268:21 [INFO] [stdout] | [INFO] [stdout] 268 | / return Err(InterpreterError::BugFoundError(format!( [INFO] [stdout] 269 | | "Expected LinearBinds, found {:?}", [INFO] [stdout] 270 | | &formals.receipts[0] [INFO] [stdout] 271 | | ))) [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] 268 ~ Err(InterpreterError::BugFoundError(format!( [INFO] [stdout] 269 + "Expected LinearBinds, found {:?}", [INFO] [stdout] 270 + &formals.receipts[0] [INFO] [stdout] 271 + ))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:50:50 [INFO] [stdout] | [INFO] [stdout] 50 | Receipt::LinearBinds(linear_bind) => match linear_bind.input { [INFO] [stdout] | __________________________________________________^ [INFO] [stdout] 51 | | Source::Simple { .. } => false, [INFO] [stdout] 52 | | _ => true, [INFO] [stdout] 53 | | }, [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 50 - Receipt::LinearBinds(linear_bind) => match linear_bind.input { [INFO] [stdout] 51 - Source::Simple { .. } => false, [INFO] [stdout] 52 - _ => true, [INFO] [stdout] 53 - }, [INFO] [stdout] 50 + Receipt::LinearBinds(linear_bind) => !matches!(linear_bind.input, Source::Simple { .. }), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:323:18 [INFO] [stdout] | [INFO] [stdout] 323 | ) -> Result< [INFO] [stdout] | __________________^ [INFO] [stdout] 324 | | Vec<( [INFO] [stdout] 325 | | Vec, [INFO] [stdout] 326 | | Option, [INFO] [stdout] ... | [INFO] [stdout] 330 | | InterpreterError, [INFO] [stdout] 331 | | > { [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/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:387:47 [INFO] [stdout] | [INFO] [stdout] 387 | let (consumes, persistent, peek): ( [INFO] [stdout] | _______________________________________________^ [INFO] [stdout] 388 | | Vec<((Vec, Option>), Name)>, [INFO] [stdout] 389 | | bool, [INFO] [stdout] 390 | | bool, [INFO] [stdout] 391 | | ) = { [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/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:392:31 [INFO] [stdout] | [INFO] [stdout] 392 | let consumes: Vec<((Vec, Option>), Name)> = formals [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/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:426:36 [INFO] [stdout] | [INFO] [stdout] 426 | let (patterns, names): (Vec<(Vec, Option>)>, 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: useless conversion to the same type: `std::iter::Zip, std::option::Option, rust::interpreter::compiler::free_map::FreeMap, std::vec::Vec)>, std::vec::IntoIter>` [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:440:17 [INFO] [stdout] | [INFO] [stdout] 440 | / processed_patterns [INFO] [stdout] 441 | | .clone() [INFO] [stdout] 442 | | .into_iter() [INFO] [stdout] 443 | | .zip(sources) [INFO] [stdout] 444 | | .into_iter() [INFO] [stdout] | |________________________________^ [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 `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 440 ~ processed_patterns [INFO] [stdout] 441 + .clone() [INFO] [stdout] 442 + .into_iter() [INFO] [stdout] 443 + .zip(sources) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_let_normalizer.rs:55:26 [INFO] [stdout] | [INFO] [stdout] 55 | .map(|conc_decl_impl| extract_names_and_procs(conc_decl_impl)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `extract_names_and_procs` [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: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_match_normalizer.rs:13:18 [INFO] [stdout] | [INFO] [stdout] 13 | expressions: &Box, [INFO] [stdout] | ^^^^^^^^^^ help: try: `&Proc` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be written as a `let` statement [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_match_normalizer.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | / match case { [INFO] [stdout] 21 | | Case { pattern, proc, .. } => Ok((pattern, proc)), [INFO] [stdout] 22 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] = note: `#[warn(clippy::match_single_binding)]` on by default [INFO] [stdout] help: consider using a `let` statement [INFO] [stdout] | [INFO] [stdout] 20 ~ let Case { pattern, proc, .. } = case; [INFO] [stdout] 21 + Ok((pattern, proc)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `bool` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_match_normalizer.rs:83:40 [INFO] [stdout] | [INFO] [stdout] 83 | connective_used: init_acc.3 || target_result.par.connective_used.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `target_result.par.connective_used` [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/rust/interpreter/compiler/normalizer/processes/p_method_normalizer.rs:43:30 [INFO] [stdout] | [INFO] [stdout] 43 | normalize_match_proc(&arg, acc.1.clone(), env).map(|proc_match_result| { [INFO] [stdout] | ^^^^ help: change this to: `arg` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_new_normalizer.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | proc: &Box, [INFO] [stdout] | ^^^^^^^^^^ help: try: `&Proc` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_new_normalizer.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | &proc, [INFO] [stdout] | ^^^^^ help: change this to: `proc` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_par_normalizer.rs:15:39 [INFO] [stdout] | [INFO] [stdout] 15 | let result = normalize_match_proc(&left, input.clone(), env)?; [INFO] [stdout] | ^^^^^ help: change this to: `left` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_par_normalizer.rs:22:44 [INFO] [stdout] | [INFO] [stdout] 22 | let chained_res = normalize_match_proc(&right, chained_input, env)?; [INFO] [stdout] | ^^^^^^ help: change this to: `right` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/remainder_normalizer_matcher.rs:33:34 [INFO] [stdout] | [INFO] [stdout] 33 | match known_free.get(&name) { [INFO] [stdout] | ^^^^^ help: change this to: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/remainder_normalizer_matcher.rs:79:37 [INFO] [stdout] | [INFO] [stdout] 79 | Some(pr) => handle_proc_var(&pr, known_free), [INFO] [stdout] | ^^^ help: change this to: `pr` [INFO] [stdout] | [INFO] [stdout] = 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/rust/interpreter/compiler/receive_binds_sort_matcher.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | binds: Vec<(Vec, Option, Par, FreeMap)>, [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: manual implementation of `Option::map` [INFO] [stdout] --> src/rust/interpreter/compiler/rholang_ast.rs:757:17 [INFO] [stdout] | [INFO] [stdout] 757 | / match uri_value { [INFO] [stdout] 758 | | Some(value) => Some(UriLiteral { [INFO] [stdout] 759 | | value: value.to_string(), [INFO] [stdout] 760 | | line_num: 0, [INFO] [stdout] ... | [INFO] [stdout] 763 | | None => None, [INFO] [stdout] 764 | | } [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] 757 ~ uri_value.map(|value| UriLiteral { [INFO] [stdout] 758 + value: value.to_string(), [INFO] [stdout] 759 + line_num: 0, [INFO] [stdout] 760 + col_num: 0, [INFO] [stdout] 761 + }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `from_*` usually take no `self` [INFO] [stdout] --> src/rust/interpreter/compiler/utils.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | fn from_par(&self, p: Par) -> Expr; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider choosing a less ambiguous name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stdout] = note: `#[warn(clippy::wrong_self_convention)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `from_*` usually take no `self` [INFO] [stdout] --> src/rust/interpreter/compiler/utils.rs:12:18 [INFO] [stdout] | [INFO] [stdout] 12 | fn from_pars(&self, p1: Par, p2: Par) -> Expr; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider choosing a less ambiguous name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/contract_call.rs:63:25 [INFO] [stdout] | [INFO] [stdout] 63 | let mut space_lock = space.try_lock().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/contract_call.rs:97:34 [INFO] [stdout] | [INFO] [stdout] 97 | ... .await; [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] = note: `#[warn(clippy::await_holding_lock)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/contract_call.rs:81:33 [INFO] [stdout] | [INFO] [stdout] 81 | ... let dispatcher_lock = dispatcher.try_read().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/contract_call.rs:97:34 [INFO] [stdout] | [INFO] [stdout] 97 | ... .await; [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/dispatch.rs:71:43 [INFO] [stdout] | [INFO] [stdout] 71 | let dispatch_table = &self._dispatch_table.try_read().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/dispatch.rs:78:85 [INFO] [stdout] | [INFO] [stdout] 78 | ... let output = f((data_list, is_replay, previous_output)).await?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Env` [INFO] [stdout] --> src/rust/interpreter/env.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | / pub fn new() -> Env { [INFO] [stdout] 13 | | Env { [INFO] [stdout] 14 | | env_map: HashMap::new(), [INFO] [stdout] 15 | | level: 0, [INFO] [stdout] ... | [INFO] [stdout] 18 | | } [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] 11 + impl Default for Env { [INFO] [stdout] 12 + fn default() -> Self { [INFO] [stdout] 13 + Self::new() [INFO] [stdout] 14 + } [INFO] [stdout] 15 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/rust/interpreter/mod.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | pub mod interpreter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/interpreter.rs:70:17 [INFO] [stdout] | [INFO] [stdout] 70 | let mut merge_chs_lock = self.merge_chs.write().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/interpreter.rs:74:45 [INFO] [stdout] | [INFO] [stdout] 74 | match reducer.inj(parsed, rand).await { [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/rust/interpreter/interpreter.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | let _ = self.c.set(initial_phlo.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] = note: `#[warn(clippy::let_unit_value)]` on by default [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 50 - let _ = self.c.set(initial_phlo.clone()); [INFO] [stdout] 50 + self.c.set(initial_phlo.clone()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/rust/interpreter/interpreter.rs:52:13 [INFO] [stdout] | [INFO] [stdout] 52 | let _ = self.c.charge(parsing_cost.clone())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 52 - let _ = self.c.charge(parsing_cost.clone())?; [INFO] [stdout] 52 + self.c.charge(parsing_cost.clone())?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: parameter is only used in recursion [INFO] [stdout] --> src/rust/interpreter/matcher/fold_match.rs:65:40 [INFO] [stdout] | [INFO] [stdout] 65 | fn free_check(&self, trem: &[Par], level: i32, mut acc: Vec) -> Option> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_level` [INFO] [stdout] | [INFO] [stdout] note: parameter used here [INFO] [stdout] --> src/rust/interpreter/matcher/fold_match.rs:72:42 [INFO] [stdout] | [INFO] [stdout] 72 | self.free_check(rem, level, acc) [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#only_used_in_recursion [INFO] [stdout] = note: `#[warn(clippy::only_used_in_recursion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: parameter is only used in recursion [INFO] [stdout] --> src/rust/interpreter/matcher/fold_match.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | level: i32, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_level` [INFO] [stdout] | [INFO] [stdout] note: parameter used here [INFO] [stdout] --> src/rust/interpreter/matcher/fold_match.rs:127:42 [INFO] [stdout] | [INFO] [stdout] 127 | self.free_check(rem, level, acc) [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#only_used_in_recursion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Var` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/matcher/has_locally_free.rs:390:9 [INFO] [stdout] | [INFO] [stdout] 390 | v.clone() [INFO] [stdout] | ^^^^^^^^^ help: try removing the `clone` call: `v` [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 `Var` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/matcher/has_locally_free.rs:397:9 [INFO] [stdout] | [INFO] [stdout] 397 | v.clone() [INFO] [stdout] | ^^^^^^^^^ help: try removing the `clone` call: `v` [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 `Option` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/matcher/has_locally_free.rs:418:43 [INFO] [stdout] | [INFO] [stdout] 418 | Some(EVarBody(EVar { v })) => v.clone().unwrap().connective_used(v.unwrap()), [INFO] [stdout] | ^^^^^^^^^ help: try removing the `clone` call: `v` [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 `Option` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/matcher/has_locally_free.rs:492:43 [INFO] [stdout] | [INFO] [stdout] 492 | Some(EVarBody(EVar { v })) => v.clone().unwrap().locally_free(v.unwrap(), depth), [INFO] [stdout] | ^^^^^^^^^ help: try removing the `clone` call: `v` [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: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/rust/interpreter/accounting/costs.rs:138:31 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn hex_to_bytes_cost(str: &String) -> Cost { [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] 138 - pub fn hex_to_bytes_cost(str: &String) -> Cost { [INFO] [stdout] 138 + pub fn hex_to_bytes_cost(str: &str) -> Cost { [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/rust/interpreter/accounting/costs.rs:143:33 [INFO] [stdout] | [INFO] [stdout] 143 | pub fn bytes_to_hex_cost(bytes: &Vec) -> Cost { [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] 143 - pub fn bytes_to_hex_cost(bytes: &Vec) -> Cost { [INFO] [stdout] 143 + pub fn bytes_to_hex_cost(bytes: &[u8]) -> Cost { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless call to `as_bytes` [INFO] [stdout] --> src/rust/interpreter/accounting/costs.rs:217:18 [INFO] [stdout] | [INFO] [stdout] 217 | Cost::create(term.as_bytes().len() as i64, "parsing".to_string()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: `len()` can be called directly on strings: `term.len()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_as_bytes [INFO] [stdout] = note: `#[warn(clippy::needless_as_bytes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/matcher/match.rs:21:69 [INFO] [stdout] | [INFO] [stdout] 21 | spatial_matcher.fold_match(data.pars, pattern.patterns, pattern.remainder.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `pattern.remainder` [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/rust/interpreter/matcher/match_pars.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | && match_pars(&a.body.as_ref().unwrap(), &b.body.as_ref().unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `a.body.as_ref().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/matcher/match_pars.rs:25:50 [INFO] [stdout] | [INFO] [stdout] 25 | && match_pars(&a.body.as_ref().unwrap(), &b.body.as_ref().unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `b.body.as_ref().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/matcher/match_pars.rs:34:23 [INFO] [stdout] | [INFO] [stdout] 34 | && match_pars(&a.p.as_ref().unwrap(), &b.p.as_ref().unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `a.p.as_ref().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/matcher/match_pars.rs:34:47 [INFO] [stdout] | [INFO] [stdout] 34 | && match_pars(&a.p.as_ref().unwrap(), &b.p.as_ref().unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `b.p.as_ref().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/matcher/match_pars.rs:64:23 [INFO] [stdout] | [INFO] [stdout] 64 | && match_pars(&a.source.as_ref().unwrap(), &b.source.as_ref().unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `a.source.as_ref().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/matcher/match_pars.rs:64:52 [INFO] [stdout] | [INFO] [stdout] 64 | && match_pars(&a.source.as_ref().unwrap(), &b.source.as_ref().unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `b.source.as_ref().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `BoundMap` [INFO] [stdout] --> src/rust/interpreter/compiler/bound_map.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | / pub fn new() -> Self { [INFO] [stdout] 12 | | BoundMap { [INFO] [stdout] 13 | | next_index: 0, [INFO] [stdout] 14 | | index_bindings: HashMap::new(), [INFO] [stdout] 15 | | } [INFO] [stdout] 16 | | } [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] 10 + impl Default for BoundMap { [INFO] [stdout] 11 + fn default() -> Self { [INFO] [stdout] 12 + Self::new() [INFO] [stdout] 13 + } [INFO] [stdout] 14 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/rust/interpreter/compiler/mod.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | pub mod compiler; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] = note: `#[warn(clippy::module_inception)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/rust/interpreter/compiler/free_map.rs:84:30 [INFO] [stdout] | [INFO] [stdout] 84 | new_wildcards.extend(free_map.wildcards.into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/91021ccc790478a1a89c003e7d32b8d155ae6aae/library/core/src/iter/traits/collect.rs:416:17 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 84 - new_wildcards.extend(free_map.wildcards.into_iter()); [INFO] [stdout] 84 + new_wildcards.extend(free_map.wildcards); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `ProcVisitInputs` [INFO] [stdout] --> src/rust/interpreter/compiler/normalize.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | / pub fn new() -> Self { [INFO] [stdout] 38 | | ProcVisitInputs { [INFO] [stdout] 39 | | par: Par::default(), [INFO] [stdout] 40 | | bound_map_chain: BoundMapChain::new(), [INFO] [stdout] ... | [INFO] [stdout] 43 | | } [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] 36 + impl Default for ProcVisitInputs { [INFO] [stdout] 37 + fn default() -> Self { [INFO] [stdout] 38 + Self::new() [INFO] [stdout] 39 + } [INFO] [stdout] 40 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/rust/interpreter/matcher/maximum_bipartite_match.rs:143:29 [INFO] [stdout] | [INFO] [stdout] 143 | fn reset_seen(&mut self) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/rust/interpreter/matcher/maximum_bipartite_match.rs:151:52 [INFO] [stdout] | [INFO] [stdout] 151 | fn add_seen(&mut self, candidate: Candidate) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalize.rs:213:66 [INFO] [stdout] | [INFO] [stdout] 213 | Proc::Matches { left, right, .. } => normalize_p_matches(&left, &right, input, env), [INFO] [stdout] | ^^^^^ help: change this to: `left` [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: unneeded unit return type [INFO] [stdout] --> src/rust/interpreter/matcher/maximum_bipartite_match.rs:159:90 [INFO] [stdout] | [INFO] [stdout] 159 | fn claim_match(&mut self, candidate: Candidate, pattern: Pattern, result: R) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalize.rs:213:73 [INFO] [stdout] | [INFO] [stdout] 213 | Proc::Matches { left, right, .. } => normalize_p_matches(&left, &right, input, env), [INFO] [stdout] | ^^^^^^ help: change this to: `right` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/rust/interpreter/matcher/par_count.rs:93:43 [INFO] [stdout] | [INFO] [stdout] 93 | Some(EVarBody(EVar { v })) => match v.as_ref().unwrap().var_instance { [INFO] [stdout] | ___________________________________________^ [INFO] [stdout] 94 | | Some(Wildcard(_)) => true, [INFO] [stdout] 95 | | Some(FreeVar(_)) => true, [INFO] [stdout] 96 | | _ => false, [INFO] [stdout] 97 | | }, [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 93 - Some(EVarBody(EVar { v })) => match v.as_ref().unwrap().var_instance { [INFO] [stdout] 94 - Some(Wildcard(_)) => true, [INFO] [stdout] 95 - Some(FreeVar(_)) => true, [INFO] [stdout] 96 - _ => false, [INFO] [stdout] 97 - }, [INFO] [stdout] 93 + Some(EVarBody(EVar { v })) => matches!(v.as_ref().unwrap().var_instance, Some(Wildcard(_)) | Some(FreeVar(_))), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `true` [INFO] [stdout] --> src/rust/interpreter/compiler/normalize.rs:694:26 [INFO] [stdout] | [INFO] [stdout] 694 | Ok(_) => assert!(true), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove the assertion [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] = note: `#[warn(clippy::assertions_on_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `SpatialMatcherContext` [INFO] [stdout] --> src/rust/interpreter/matcher/spatial_matcher.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | / pub fn new() -> Self { [INFO] [stdout] 42 | | SpatialMatcherContext { [INFO] [stdout] 43 | | free_map: new_free_map(), [INFO] [stdout] 44 | | } [INFO] [stdout] 45 | | } [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] 40 + impl Default for SpatialMatcherContext { [INFO] [stdout] 41 + fn default() -> Self { [INFO] [stdout] 42 + Self::new() [INFO] [stdout] 43 + } [INFO] [stdout] 44 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/rust/interpreter/matcher/spatial_matcher.rs:96:17 [INFO] [stdout] | [INFO] [stdout] 90 | / let all_matches = connective_body.ps.into_iter().find_map(|p| { [INFO] [stdout] 91 | | let matches = self.free_map.clone(); [INFO] [stdout] 92 | | self.spatial_match(target.clone(), p)?; [INFO] [stdout] 93 | | self.free_map = matches; [INFO] [stdout] 94 | | Some(()) [INFO] [stdout] 95 | | }); [INFO] [stdout] | |___________________- unnecessary `let` binding [INFO] [stdout] 96 | all_matches [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] 90 ~ [INFO] [stdout] 91 ~ connective_body.ps.into_iter().find_map(|p| { [INFO] [stdout] 92 + let matches = self.free_map.clone(); [INFO] [stdout] 93 + self.spatial_match(target.clone(), p)?; [INFO] [stdout] 94 + self.free_map = matches; [INFO] [stdout] 95 + Some(()) [INFO] [stdout] 96 + }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be written as a `let` statement [INFO] [stdout] --> src/rust/interpreter/matcher/spatial_matcher.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | / let has_or_body = match &p { [INFO] [stdout] 102 | | Par { connectives, .. } => connectives [INFO] [stdout] 103 | | .iter() [INFO] [stdout] 104 | | .any(|c| matches!(c.connective_instance, Some(ConnOrBody(_)))), [INFO] [stdout] 105 | | }; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] help: consider using a `let` statement [INFO] [stdout] | [INFO] [stdout] 101 ~ let Par { connectives, .. } = &p; [INFO] [stdout] 102 + let has_or_body = connectives [INFO] [stdout] 103 + .iter() [INFO] [stdout] 104 + .any(|c| matches!(c.connective_instance, Some(ConnOrBody(_)))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/rust/interpreter/matcher/spatial_matcher.rs:225:42 [INFO] [stdout] | [INFO] [stdout] 225 | let max_rem = if wildcard || !var_level.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `var_level.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `f1r3fly_models::rhoapi::Expr` [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/collection_normalize_matcher.rs:56:26 [INFO] [stdout] | [INFO] [stdout] 56 | let expr: Expr = constructed_expr.into(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `constructed_expr` [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 `Var` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/collection_normalize_matcher.rs:108:50 [INFO] [stdout] | [INFO] [stdout] 108 | Some(ref var) => var.connective_used(var.clone()), [INFO] [stdout] | ^^^^^^^^^^^ help: try dereferencing it: `*var` [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: using `clone` on type `Var` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/collection_normalize_matcher.rs:113:47 [INFO] [stdout] | [INFO] [stdout] 113 | Some(ref var) => var.locally_free(var.clone(), 0), [INFO] [stdout] | ^^^^^^^^^^^ help: try dereferencing it: `*var` [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 `Option` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/collection_normalize_matcher.rs:125:32 [INFO] [stdout] | [INFO] [stdout] 125 | remainder: remainder.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `remainder` [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 `Option` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/collection_normalize_matcher.rs:147:36 [INFO] [stdout] | [INFO] [stdout] 147 | remainder: optional_remainder.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `optional_remainder` [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/rust/interpreter/matcher/spatial_matcher.rs:250:42 [INFO] [stdout] | [INFO] [stdout] 250 | let connectives_with_bounds: Vec<( [INFO] [stdout] | __________________________________________^ [INFO] [stdout] 251 | | &Connective, [INFO] [stdout] 252 | | &(ParCount, ParCount), [INFO] [stdout] 253 | | &(ParCount, ParCount), [INFO] [stdout] 254 | | )> = filtered_pattern [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: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/rust/interpreter/matcher/spatial_matcher.rs:291:23 [INFO] [stdout] | [INFO] [stdout] 291 | |acc, &(ref connective, ref bounds1, ref bounds2)| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] = note: `#[warn(clippy::needless_borrowed_reference)]` on by default [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 291 - |acc, &(ref connective, ref bounds1, ref bounds2)| { [INFO] [stdout] 291 + |acc, (connective, bounds1, bounds2)| { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern creates a reference to a reference [INFO] [stdout] --> src/rust/interpreter/matcher/spatial_matcher.rs:291:25 [INFO] [stdout] | [INFO] [stdout] 291 | |acc, &(ref connective, ref bounds1, ref bounds2)| { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 291 ~ |acc, &(connective, ref bounds1, ref bounds2)| { [INFO] [stdout] 292 | match_connective_with_bounds( [INFO] [stdout] ... [INFO] [stdout] 295 | ( [INFO] [stdout] 296 ~ connective.clone(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern creates a reference to a reference [INFO] [stdout] --> src/rust/interpreter/matcher/spatial_matcher.rs:291:41 [INFO] [stdout] | [INFO] [stdout] 291 | |acc, &(ref connective, ref bounds1, ref bounds2)| { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 291 ~ |acc, &(ref connective, bounds1, ref bounds2)| { [INFO] [stdout] 292 | match_connective_with_bounds( [INFO] [stdout] ... [INFO] [stdout] 296 | (*connective).clone(), [INFO] [stdout] 297 ~ bounds1.clone(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern creates a reference to a reference [INFO] [stdout] --> src/rust/interpreter/matcher/spatial_matcher.rs:291:54 [INFO] [stdout] | [INFO] [stdout] 291 | |acc, &(ref connective, ref bounds1, ref bounds2)| { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 291 ~ |acc, &(ref connective, ref bounds1, bounds2)| { [INFO] [stdout] 292 | match_connective_with_bounds( [INFO] [stdout] ... [INFO] [stdout] 297 | (*bounds1).clone(), [INFO] [stdout] 298 ~ bounds2.clone(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/collection_normalize_matcher.rs:187:36 [INFO] [stdout] | [INFO] [stdout] 187 | remainder: optional_remainder.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `optional_remainder` [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 `Option` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/matcher/spatial_matcher.rs:444:65 [INFO] [stdout] | [INFO] [stdout] 444 | let matched_rem = self.fold_match(tlist, plist, rem.clone())?; [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `rem` [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: match expression looks like `matches!` macro [INFO] [stdout] --> src/rust/interpreter/matcher/spatial_matcher.rs:500:35 [INFO] [stdout] | [INFO] [stdout] 500 | let is_wildcard = match rem { [INFO] [stdout] | ___________________________________^ [INFO] [stdout] 501 | | Some(Var { [INFO] [stdout] 502 | | var_instance: Some(Wildcard(_)), [INFO] [stdout] 503 | | }) => true, [INFO] [stdout] 504 | | _ => false, [INFO] [stdout] 505 | | }; [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 500 ~ let is_wildcard = matches!(rem, Some(Var { [INFO] [stdout] 501 + var_instance: Some(Wildcard(_)), [INFO] [stdout] 502 ~ })); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/rust/interpreter/matcher/spatial_matcher.rs:549:35 [INFO] [stdout] | [INFO] [stdout] 549 | let is_wildcard = match rem { [INFO] [stdout] | ___________________________________^ [INFO] [stdout] 550 | | Some(Var { [INFO] [stdout] 551 | | var_instance: Some(Wildcard(_)), [INFO] [stdout] 552 | | }) => true, [INFO] [stdout] 553 | | _ => false, [INFO] [stdout] 554 | | }; [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 549 ~ let is_wildcard = matches!(rem, Some(Var { [INFO] [stdout] 550 + var_instance: Some(Wildcard(_)), [INFO] [stdout] 551 ~ })); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/collection_normalize_matcher.rs:312:33 [INFO] [stdout] | [INFO] [stdout] 312 | assert_equal_normalized(&rho1, &rho2); [INFO] [stdout] | ^^^^^ help: change this to: `rho1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/collection_normalize_matcher.rs:312:40 [INFO] [stdout] | [INFO] [stdout] 312 | assert_equal_normalized(&rho1, &rho2); [INFO] [stdout] | ^^^^^ help: change this to: `rho2` [INFO] [stdout] | [INFO] [stdout] = 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/rust/interpreter/matcher/sub_pars.rs:201:5 [INFO] [stdout] | [INFO] [stdout] 159 | / let result = min_max_subsets(&par.sends, send_min, send_max) [INFO] [stdout] 160 | | .into_iter() [INFO] [stdout] 161 | | .cartesian_product(min_max_subsets(&par.receives, receive_min, receive_max).into_iter()) [INFO] [stdout] 162 | | .cartesian_product(min_max_subsets(&par.news, new_min, new_max).into_iter()) [INFO] [stdout] ... | [INFO] [stdout] 198 | | }, [INFO] [stdout] 199 | | ); [INFO] [stdout] | |__________- unnecessary `let` binding [INFO] [stdout] 200 | [INFO] [stdout] 201 | result [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] 159 ~ [INFO] [stdout] 160 | [INFO] [stdout] 161 ~ min_max_subsets(&par.sends, send_min, send_max) [INFO] [stdout] 162 + .into_iter() [INFO] [stdout] 163 + .cartesian_product(min_max_subsets(&par.receives, receive_min, receive_max).into_iter()) [INFO] [stdout] 164 + .cartesian_product(min_max_subsets(&par.news, new_min, new_max).into_iter()) [INFO] [stdout] 165 + .cartesian_product(min_max_subsets(&par.exprs, expr_min, expr_max).into_iter()) [INFO] [stdout] 166 + .cartesian_product(min_max_subsets(&par.matches, match_min, match_max).into_iter()) [INFO] [stdout] 167 + .cartesian_product(min_max_subsets(&par.unforgeables, unf_min, unf_max).into_iter()) [INFO] [stdout] 168 + .cartesian_product(min_max_subsets(&par.bundles, bundle_min, bundle_max).into_iter()) [INFO] [stdout] 169 + .map( [INFO] [stdout] 170 + |( [INFO] [stdout] 171 + (((((sub_sends, sub_receives), sub_news), sub_exprs), sub_matches), sub_unfs), [INFO] [stdout] 172 + sub_bundles, [INFO] [stdout] 173 + )| { [INFO] [stdout] 174 + ( [INFO] [stdout] 175 + Par { [INFO] [stdout] 176 + sends: sub_sends.0, [INFO] [stdout] 177 + receives: sub_receives.0, [INFO] [stdout] 178 + news: sub_news.0, [INFO] [stdout] 179 + exprs: sub_exprs.0, [INFO] [stdout] 180 + matches: sub_matches.0, [INFO] [stdout] 181 + unforgeables: sub_unfs.0, [INFO] [stdout] 182 + bundles: sub_bundles.0, [INFO] [stdout] 183 + connectives: Vec::default(), [INFO] [stdout] 184 + locally_free: Vec::default(), [INFO] [stdout] 185 + connective_used: false, [INFO] [stdout] 186 + }, [INFO] [stdout] 187 + Par { [INFO] [stdout] 188 + sends: sub_sends.1, [INFO] [stdout] 189 + receives: sub_receives.1, [INFO] [stdout] 190 + news: sub_news.1, [INFO] [stdout] 191 + exprs: sub_exprs.1, [INFO] [stdout] 192 + matches: sub_matches.1, [INFO] [stdout] 193 + unforgeables: sub_unfs.1, [INFO] [stdout] 194 + bundles: sub_bundles.1, [INFO] [stdout] 195 + connectives: Vec::default(), [INFO] [stdout] 196 + locally_free: Vec::default(), [INFO] [stdout] 197 + connective_used: false, [INFO] [stdout] 198 + }, [INFO] [stdout] 199 + ) [INFO] [stdout] 200 + }, [INFO] [stdout] 201 + ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/rust/interpreter/matcher/sub_pars.rs:114:29 [INFO] [stdout] | [INFO] [stdout] 114 | if max_size < 0 { [INFO] [stdout] | _____________________________^ [INFO] [stdout] 115 | | vec![] [INFO] [stdout] 116 | | } else if min_size > max_size { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/rust/interpreter/matcher/sub_pars.rs:116:43 [INFO] [stdout] | [INFO] [stdout] 116 | } else if min_size > max_size { [INFO] [stdout] | ___________________________________________^ [INFO] [stdout] 117 | | vec![] [INFO] [stdout] 118 | | } else if min_size <= 0 { [INFO] [stdout] | |_____________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/rust/interpreter/matcher/sub_pars.rs:161:28 [INFO] [stdout] | [INFO] [stdout] 161 | .cartesian_product(min_max_subsets(&par.receives, receive_min, receive_max).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.10.5/src/lib.rs:1081:18 [INFO] [stdout] | [INFO] [stdout] 1081 | J: 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] 161 - .cartesian_product(min_max_subsets(&par.receives, receive_min, receive_max).into_iter()) [INFO] [stdout] 161 + .cartesian_product(min_max_subsets(&par.receives, receive_min, receive_max)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/rust/interpreter/matcher/sub_pars.rs:162:28 [INFO] [stdout] | [INFO] [stdout] 162 | .cartesian_product(min_max_subsets(&par.news, new_min, new_max).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.10.5/src/lib.rs:1081:18 [INFO] [stdout] | [INFO] [stdout] 1081 | J: 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] 162 - .cartesian_product(min_max_subsets(&par.news, new_min, new_max).into_iter()) [INFO] [stdout] 162 + .cartesian_product(min_max_subsets(&par.news, new_min, new_max)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/rust/interpreter/matcher/sub_pars.rs:163:28 [INFO] [stdout] | [INFO] [stdout] 163 | .cartesian_product(min_max_subsets(&par.exprs, expr_min, expr_max).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.10.5/src/lib.rs:1081:18 [INFO] [stdout] | [INFO] [stdout] 1081 | J: 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] 163 - .cartesian_product(min_max_subsets(&par.exprs, expr_min, expr_max).into_iter()) [INFO] [stdout] 163 + .cartesian_product(min_max_subsets(&par.exprs, expr_min, expr_max)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/rust/interpreter/matcher/sub_pars.rs:164:28 [INFO] [stdout] | [INFO] [stdout] 164 | .cartesian_product(min_max_subsets(&par.matches, match_min, match_max).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.10.5/src/lib.rs:1081:18 [INFO] [stdout] | [INFO] [stdout] 1081 | J: 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] 164 - .cartesian_product(min_max_subsets(&par.matches, match_min, match_max).into_iter()) [INFO] [stdout] 164 + .cartesian_product(min_max_subsets(&par.matches, match_min, match_max)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/rust/interpreter/matcher/sub_pars.rs:165:28 [INFO] [stdout] | [INFO] [stdout] 165 | .cartesian_product(min_max_subsets(&par.unforgeables, unf_min, unf_max).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.10.5/src/lib.rs:1081:18 [INFO] [stdout] | [INFO] [stdout] 1081 | J: 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] 165 - .cartesian_product(min_max_subsets(&par.unforgeables, unf_min, unf_max).into_iter()) [INFO] [stdout] 165 + .cartesian_product(min_max_subsets(&par.unforgeables, unf_min, unf_max)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/rust/interpreter/matcher/sub_pars.rs:166:28 [INFO] [stdout] | [INFO] [stdout] 166 | .cartesian_product(min_max_subsets(&par.bundles, bundle_min, bundle_max).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.10.5/src/lib.rs:1081:18 [INFO] [stdout] | [INFO] [stdout] 1081 | J: 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] 166 - .cartesian_product(min_max_subsets(&par.bundles, bundle_min, bundle_max).into_iter()) [INFO] [stdout] 166 + .cartesian_product(min_max_subsets(&par.bundles, bundle_min, bundle_max)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `OpenAIService` [INFO] [stdout] --> src/rust/interpreter/openai_service.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | / pub fn new() -> Self { [INFO] [stdout] 21 | | dotenv().ok(); [INFO] [stdout] 22 | | let api_key = env::var("OPENAI_API_KEY").unwrap_or_else(|_| { [INFO] [stdout] 23 | | println!("Failed to load OPENAI_API_KEY environment variable, using default key '123'"); [INFO] [stdout] ... | [INFO] [stdout] 32 | | Self { client } [INFO] [stdout] 33 | | } [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] 19 + impl Default for OpenAIService { [INFO] [stdout] 20 + fn default() -> Self { [INFO] [stdout] 21 + Self::new() [INFO] [stdout] 22 + } [INFO] [stdout] 23 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `PrettyPrinter` [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | / pub fn new() -> Self { [INFO] [stdout] 33 | | PrettyPrinter::create(0, 0) [INFO] [stdout] 34 | | } [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] 31 + impl Default for PrettyPrinter { [INFO] [stdout] 32 + fn default() -> Self { [INFO] [stdout] 33 + Self::new() [INFO] [stdout] 34 + } [INFO] [stdout] 35 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/name_normalize_matcher.rs:62:25 [INFO] [stdout] | [INFO] [stdout] 62 | / return Ok(NameVisitOutputs { [INFO] [stdout] 63 | | par: prepend_expr( [INFO] [stdout] 64 | | Par::default(), [INFO] [stdout] 65 | | new_expr, [INFO] [stdout] ... | [INFO] [stdout] 68 | | free_map: input.free_map.clone(), [INFO] [stdout] 69 | | }); [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] 62 ~ Ok(NameVisitOutputs { [INFO] [stdout] 63 + par: prepend_expr( [INFO] [stdout] 64 + Par::default(), [INFO] [stdout] 65 + new_expr, [INFO] [stdout] 66 + input.bound_map_chain.depth() as i32, [INFO] [stdout] 67 + ), [INFO] [stdout] 68 + free_map: input.free_map.clone(), [INFO] [stdout] 69 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/name_normalize_matcher.rs:76:25 [INFO] [stdout] | [INFO] [stdout] 76 | / return Err(InterpreterError::UnexpectedNameContext { [INFO] [stdout] 77 | | var_name: name.to_string(), [INFO] [stdout] 78 | | proc_var_source_position: source_position.to_string(), [INFO] [stdout] 79 | | name_source_position: SourcePosition { [INFO] [stdout] ... | [INFO] [stdout] 85 | | .into()); [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] 76 ~ Err(InterpreterError::UnexpectedNameContext { [INFO] [stdout] 77 + var_name: name.to_string(), [INFO] [stdout] 78 + proc_var_source_position: source_position.to_string(), [INFO] [stdout] 79 + name_source_position: SourcePosition { [INFO] [stdout] 80 + row: line_num, [INFO] [stdout] 81 + column: col_num, [INFO] [stdout] 82 + } [INFO] [stdout] 83 + .to_string(), [INFO] [stdout] 84 + } [INFO] [stdout] 85 ~ .into()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:86:18 [INFO] [stdout] | [INFO] [stdout] 86 | self.cap(&str) [INFO] [stdout] | ^^^^ help: change this to: `str` [INFO] [stdout] | [INFO] [stdout] = 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: `rust::interpreter::errors::InterpreterError` [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/name_normalize_matcher.rs:76:36 [INFO] [stdout] | [INFO] [stdout] 76 | return Err(InterpreterError::UnexpectedNameContext { [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 77 | | var_name: name.to_string(), [INFO] [stdout] 78 | | proc_var_source_position: source_position.to_string(), [INFO] [stdout] 79 | | name_source_position: SourcePosition { [INFO] [stdout] ... | [INFO] [stdout] 85 | | .into()); [INFO] [stdout] | |_______________________________^ [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 `.into()` [INFO] [stdout] | [INFO] [stdout] 76 ~ return Err(InterpreterError::UnexpectedNameContext { [INFO] [stdout] 77 + var_name: name.to_string(), [INFO] [stdout] 78 + proc_var_source_position: source_position.to_string(), [INFO] [stdout] 79 + name_source_position: SourcePosition { [INFO] [stdout] 80 + row: line_num, [INFO] [stdout] 81 + column: col_num, [INFO] [stdout] 82 + } [INFO] [stdout] 83 + .to_string(), [INFO] [stdout] 84 ~ }); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `rust::interpreter::errors::InterpreterError` [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/name_normalize_matcher.rs:119:31 [INFO] [stdout] | [INFO] [stdout] 119 | }) => Err(InterpreterError::UnexpectedReuseOfNameContextFree { [INFO] [stdout] | _______________________________^ [INFO] [stdout] 120 | | var_name: name.to_string(), [INFO] [stdout] 121 | | first_use: source_position.to_string(), [INFO] [stdout] 122 | | second_use: SourcePosition { [INFO] [stdout] ... | [INFO] [stdout] 128 | | .into()), [INFO] [stdout] | |___________________________^ [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 `.into()` [INFO] [stdout] | [INFO] [stdout] 119 ~ }) => Err(InterpreterError::UnexpectedReuseOfNameContextFree { [INFO] [stdout] 120 + var_name: name.to_string(), [INFO] [stdout] 121 + first_use: source_position.to_string(), [INFO] [stdout] 122 + second_use: SourcePosition { [INFO] [stdout] 123 + row: line_num, [INFO] [stdout] 124 + column: col_num, [INFO] [stdout] 125 + } [INFO] [stdout] 126 + .to_string(), [INFO] [stdout] 127 ~ }), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/name_normalize_matcher.rs:141:17 [INFO] [stdout] | [INFO] [stdout] 141 | "able, [INFO] [stdout] | ^^^^^^^^^ help: change this to: `quotable` [INFO] [stdout] | [INFO] [stdout] = 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/rust/interpreter/compiler/normalizer/name_normalize_matcher.rs:184:17 [INFO] [stdout] | [INFO] [stdout] 176 | / let updated_bound_map_chain = input.bound_map_chain.put(( [INFO] [stdout] 177 | | name.to_string(), [INFO] [stdout] 178 | | v_type, [INFO] [stdout] 179 | | SourcePosition { [INFO] [stdout] ... | [INFO] [stdout] 182 | | }, [INFO] [stdout] 183 | | )); [INFO] [stdout] | |___________________- unnecessary `let` binding [INFO] [stdout] 184 | updated_bound_map_chain [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] 176 ~ [INFO] [stdout] 177 ~ input.bound_map_chain.put(( [INFO] [stdout] 178 + name.to_string(), [INFO] [stdout] 179 + v_type, [INFO] [stdout] 180 + SourcePosition { [INFO] [stdout] 181 + row: line_num, [INFO] [stdout] 182 + column: col_num, [INFO] [stdout] 183 + }, [INFO] [stdout] 184 + )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/name_normalize_matcher.rs:207:17 [INFO] [stdout] | [INFO] [stdout] 199 | / let updated_free_map = input.clone().free_map.put(( [INFO] [stdout] 200 | | name.to_string(), [INFO] [stdout] 201 | | v_type, [INFO] [stdout] 202 | | SourcePosition { [INFO] [stdout] ... | [INFO] [stdout] 205 | | }, [INFO] [stdout] 206 | | )); [INFO] [stdout] | |___________________- unnecessary `let` binding [INFO] [stdout] 207 | updated_free_map [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] 199 ~ [INFO] [stdout] 200 ~ input.clone().free_map.put(( [INFO] [stdout] 201 + name.to_string(), [INFO] [stdout] 202 + v_type, [INFO] [stdout] 203 + SourcePosition { [INFO] [stdout] 204 + row: line_num, [INFO] [stdout] 205 + column: col_num, [INFO] [stdout] 206 + }, [INFO] [stdout] 207 + )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:407:21 [INFO] [stdout] | [INFO] [stdout] 407 | result.push_str("}"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `result.push('}')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] = note: `#[warn(clippy::single_char_add_str)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/parser.rs:707:25 [INFO] [stdout] | [INFO] [stdout] 707 | / return Err(InterpreterError::ParserError( [INFO] [stdout] 708 | | "Expected named node inside neg parentheses".to_string(), [INFO] [stdout] 709 | | )) [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] 707 ~ Err(InterpreterError::ParserError( [INFO] [stdout] 708 + "Expected named node inside neg parentheses".to_string(), [INFO] [stdout] 709 + )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:475:21 [INFO] [stdout] | [INFO] [stdout] 475 | None => format!(""), [INFO] [stdout] | ^^^^^^^^^^^ help: consider using `String::new()`: `String::new()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/parser.rs:117:66 [INFO] [stdout] | [INFO] [stdout] 117 | return Err(InterpreterError::ParserError(format!( [INFO] [stdout] | __________________________________________________________________^ [INFO] [stdout] 118 | | "No child choice node at index 0 for sync_send_cont", [INFO] [stdout] 119 | | ))) [INFO] [stdout] | |_________________________^ help: consider using `.to_string()`: `"No child choice node at index 0 for sync_send_cont".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` can be collapsed into the outer `match` [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:517:39 [INFO] [stdout] | [INFO] [stdout] 517 | Some(instance) => match instance { [INFO] [stdout] | _______________________________________^ [INFO] [stdout] 518 | | ExprInstance::EVarBody(EVar { v }) => match v { [INFO] [stdout] 519 | | Some(v) => match &v.var_instance { [INFO] [stdout] 520 | | Some(instance) => match instance { [INFO] [stdout] ... | [INFO] [stdout] 533 | | _ => false, [INFO] [stdout] 534 | | }, [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:517:26 [INFO] [stdout] | [INFO] [stdout] 517 | Some(instance) => match instance { [INFO] [stdout] | ^^^^^^^^ replace this binding [INFO] [stdout] 518 | ExprInstance::EVarBody(EVar { v }) => match v { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` can be collapsed into the outer `match` [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:518:63 [INFO] [stdout] | [INFO] [stdout] 518 | ExprInstance::EVarBody(EVar { v }) => match v { [INFO] [stdout] | _______________________________________________________________^ [INFO] [stdout] 519 | | Some(v) => match &v.var_instance { [INFO] [stdout] 520 | | Some(instance) => match instance { [INFO] [stdout] 521 | | VarInstance::BoundVar(level) => PrettyPrinter::is_new_var( [INFO] [stdout] ... | [INFO] [stdout] 530 | | None => false, [INFO] [stdout] 531 | | }, [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:518:55 [INFO] [stdout] | [INFO] [stdout] 518 | ExprInstance::EVarBody(EVar { v }) => match v { [INFO] [stdout] | ^ replace this binding [INFO] [stdout] 519 | Some(v) => match &v.var_instance { [INFO] [stdout] | ^^^^^^^ with this pattern, prefixed by `v: ` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` can be collapsed into the outer `match` [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:520:51 [INFO] [stdout] | [INFO] [stdout] 520 | ... Some(instance) => match instance { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 521 | | ... VarInstance::BoundVar(level) => PrettyPrinter::is_new_var( [INFO] [stdout] 522 | | ... &level, [INFO] [stdout] 523 | | ... news_shift_indices, [INFO] [stdout] ... | [INFO] [stdout] 526 | | ... _ => false, [INFO] [stdout] 527 | | ... }, [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:520:38 [INFO] [stdout] | [INFO] [stdout] 520 | ... Some(instance) => match instance { [INFO] [stdout] | ^^^^^^^^ replace this binding [INFO] [stdout] 521 | ... VarInstance::BoundVar(level) => PrettyPrinter::is_new_var( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:522:41 [INFO] [stdout] | [INFO] [stdout] 522 | ... &level, [INFO] [stdout] | ^^^^^^ help: change this to: `level` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:613:29 [INFO] [stdout] | [INFO] [stdout] 613 | / ... &bind [INFO] [stdout] 614 | | ... .source [INFO] [stdout] 615 | | ... .as_ref() [INFO] [stdout] 616 | | ... .expect("source field on bind was None, should be Some"), [INFO] [stdout] | |__________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 613 ~ bind [INFO] [stdout] 614 + .source [INFO] [stdout] 615 + .as_ref() [INFO] [stdout] 616 ~ .expect("source field on bind was None, should be Some"), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:632:13 [INFO] [stdout] | [INFO] [stdout] 632 | self.bound_shift = self.bound_shift + totally_free; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.bound_shift += totally_free` [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: manual implementation of an assign operation [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:672:21 [INFO] [stdout] | [INFO] [stdout] 672 | self.bound_shift = self.bound_shift + n.bind_count; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.bound_shift += n.bind_count` [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: usage of `Iterator::fold` on a type that implements `Try` [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:700:44 [INFO] [stdout] | [INFO] [stdout] 700 | m.cases.iter().enumerate().fold( [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 701 | | Ok(String::new()), [INFO] [stdout] 702 | | |acc: Result, (i, match_case)| { [INFO] [stdout] 703 | | let string = acc?; [INFO] [stdout] ... | [INFO] [stdout] 714 | | )? [INFO] [stdout] | |_________________^ help: use `try_fold` instead: `try_fold(String::new(), |acc: Result, (i, match_case)| ...)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_try_fold [INFO] [stdout] = note: `#[warn(clippy::manual_try_fold)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/parser.rs:429:25 [INFO] [stdout] | [INFO] [stdout] 429 | / return Err(InterpreterError::ParserError(format!( [INFO] [stdout] 430 | | "Unexpected choice node kind: {:?} of _receipt", [INFO] [stdout] 431 | | receipt_node.kind(), [INFO] [stdout] 432 | | ))) [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] 429 ~ Err(InterpreterError::ParserError(format!( [INFO] [stdout] 430 + "Unexpected choice node kind: {:?} of _receipt", [INFO] [stdout] 431 + receipt_node.kind(), [INFO] [stdout] 432 + ))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/parser.rs:394:25 [INFO] [stdout] | [INFO] [stdout] 394 | &receipt_node, [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `receipt_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/parser.rs:399:66 [INFO] [stdout] | [INFO] [stdout] 399 | let names_node = get_child_by_field_name(&receipt_node, "names")?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `receipt_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/parser.rs:402:66 [INFO] [stdout] | [INFO] [stdout] 402 | let input_node = get_child_by_field_name(&receipt_node, "input")?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `receipt_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/parser.rs:414:66 [INFO] [stdout] | [INFO] [stdout] 414 | let names_node = get_child_by_field_name(&receipt_node, "names")?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `receipt_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/parser.rs:417:66 [INFO] [stdout] | [INFO] [stdout] 417 | let input_node = get_child_by_field_name(&receipt_node, "input")?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `receipt_node` [INFO] [stdout] | [INFO] [stdout] = 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/rust/interpreter/pretty_printer.rs:982:13 [INFO] [stdout] | [INFO] [stdout] 980 | let new_char = ((char_id as u8 + 1 - b'a') % 26 + b'a') as char; [INFO] [stdout] | ---------------------------------------------------------------- unnecessary `let` binding [INFO] [stdout] 981 | [INFO] [stdout] 982 | new_char [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] 980 ~ [INFO] [stdout] 981 | [INFO] [stdout] 982 ~ ((char_id as u8 + 1 - b'a') % 26 + b'a') as char [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:1003:17 [INFO] [stdout] | [INFO] [stdout] 1001 | let new_char = ((char as u8 + self.rotation as u8 - b'a') % 26 + b'a') as char; [INFO] [stdout] | ------------------------------------------------------------------------------- unnecessary `let` binding [INFO] [stdout] 1002 | [INFO] [stdout] 1003 | new_char [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] 1001 ~ [INFO] [stdout] 1002 | [INFO] [stdout] 1003 ~ ((char as u8 + self.rotation as u8 - b'a') % 26 + b'a') as char [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/rust/interpreter/pretty_printer.rs:1015:32 [INFO] [stdout] | [INFO] [stdout] 1015 | fn build_vec(&mut self, s: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 1015 - fn build_vec(&mut self, s: &Vec) -> String { [INFO] [stdout] 1015 + fn build_vec(&mut self, s: &[Par]) -> String { [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/rust/interpreter/pretty_printer.rs:1029:43 [INFO] [stdout] | [INFO] [stdout] 1029 | fn build_pattern(&mut self, patterns: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 1029 - fn build_pattern(&mut self, patterns: &Vec) -> String { [INFO] [stdout] 1029 + fn build_pattern(&mut self, patterns: &[Par]) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:1071:17 [INFO] [stdout] | [INFO] [stdout] 1071 | self.bound_shift = self.bound_shift + pattern_free; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.bound_shift += pattern_free` [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: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/parser.rs:755:29 [INFO] [stdout] | [INFO] [stdout] 755 | / ... return Err(InterpreterError::ParserError( [INFO] [stdout] 756 | | ... "Expected rule on cont node".to_string(), [INFO] [stdout] 757 | | ... )) [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] 755 ~ Err(InterpreterError::ParserError( [INFO] [stdout] 756 + "Expected rule on cont node".to_string(), [INFO] [stdout] 757 + )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/parser.rs:773:29 [INFO] [stdout] | [INFO] [stdout] 773 | / ... return Err(InterpreterError::ParserError( [INFO] [stdout] 774 | | ... "Expected rule on cont node".to_string(), [INFO] [stdout] 775 | | ... )) [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] 773 ~ Err(InterpreterError::ParserError( [INFO] [stdout] 774 + "Expected rule on cont node".to_string(), [INFO] [stdout] 775 + )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/rust/interpreter/reduce.rs:119:44 [INFO] [stdout] | [INFO] [stdout] 119 | Some(expr_instance) => match expr_instance { [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 120 | | ExprInstance::EVarBody(_) => true, [INFO] [stdout] 121 | | ExprInstance::EMethodBody(_) => true, [INFO] [stdout] 122 | | _ => false, [INFO] [stdout] 123 | | }, [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 119 - Some(expr_instance) => match expr_instance { [INFO] [stdout] 120 - ExprInstance::EVarBody(_) => true, [INFO] [stdout] 121 - ExprInstance::EMethodBody(_) => true, [INFO] [stdout] 122 - _ => false, [INFO] [stdout] 123 - }, [INFO] [stdout] 119 + Some(expr_instance) => matches!(expr_instance, ExprInstance::EVarBody(_) | ExprInstance::EMethodBody(_)), [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/rust/interpreter/reduce.rs:138:20 [INFO] [stdout] | [INFO] [stdout] 138 | terms: &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] 138 - terms: &Vec, [INFO] [stdout] 138 + terms: &[GeneratedMessage], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/rust/interpreter/reduce.rs:160:26 [INFO] [stdout] | [INFO] [stdout] 160 | let futures: 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 `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/reduce.rs:211:13 [INFO] [stdout] | [INFO] [stdout] 211 | let mut space_locked = self.space.try_lock().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/reduce.rs:228:22 [INFO] [stdout] | [INFO] [stdout] 228 | .await?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/reduce.rs:266:13 [INFO] [stdout] | [INFO] [stdout] 266 | let mut space_locked = self.space.try_lock().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/reduce.rs:295:10 [INFO] [stdout] | [INFO] [stdout] 295 | .await [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/rust/interpreter/reduce.rs:319:38 [INFO] [stdout] | [INFO] [stdout] 319 | let mut futures: Vec< [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 320 | | Pin< [INFO] [stdout] 321 | | Box< [INFO] [stdout] 322 | | dyn futures::Future>, [INFO] [stdout] 323 | | >, [INFO] [stdout] 324 | | >, [INFO] [stdout] 325 | | > = vec![Box::pin(self.dispatch( [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/rust/interpreter/reduce.rs:344:38 [INFO] [stdout] | [INFO] [stdout] 344 | let mut futures: Vec< [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 345 | | Pin< [INFO] [stdout] 346 | | Box< [INFO] [stdout] 347 | | dyn futures::Future>, [INFO] [stdout] 348 | | >, [INFO] [stdout] 349 | | >, [INFO] [stdout] 350 | | > = vec![Box::pin(self.dispatch( [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/rust/interpreter/reduce.rs:376:5 [INFO] [stdout] | [INFO] [stdout] 376 | / async fn continue_consume_process( [INFO] [stdout] 377 | | &self, [INFO] [stdout] 378 | | res: Application, [INFO] [stdout] 379 | | binds: Vec<(BindPattern, Par)>, [INFO] [stdout] ... | [INFO] [stdout] 384 | | previous_output: Vec>, [INFO] [stdout] 385 | | ) -> 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] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/rust/interpreter/reduce.rs:399:38 [INFO] [stdout] | [INFO] [stdout] 399 | let mut futures: Vec< [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 400 | | Pin< [INFO] [stdout] 401 | | Box< [INFO] [stdout] 402 | | dyn futures::Future>, [INFO] [stdout] 403 | | >, [INFO] [stdout] 404 | | >, [INFO] [stdout] 405 | | > = vec![Box::pin(self.dispatch( [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/rust/interpreter/reduce.rs:424:38 [INFO] [stdout] | [INFO] [stdout] 424 | let mut futures: Vec< [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 425 | | Pin< [INFO] [stdout] 426 | | Box< [INFO] [stdout] 427 | | dyn futures::Future>, [INFO] [stdout] 428 | | >, [INFO] [stdout] 429 | | >, [INFO] [stdout] 430 | | > = vec![Box::pin(self.dispatch( [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 `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/reduce.rs:464:32 [INFO] [stdout] | [INFO] [stdout] 464 | let dispatcher_lock = &self.dispatcher.try_read().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/reduce.rs:473:14 [INFO] [stdout] | [INFO] [stdout] 473 | .await [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/rust/interpreter/reduce.rs:496:52 [INFO] [stdout] | [INFO] [stdout] 496 | fn update_mergeable_channels(&self, chan: &Par) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` can be collapsed into the outer `match` [INFO] [stdout] --> src/rust/interpreter/reduce.rs:511:40 [INFO] [stdout] | [INFO] [stdout] 511 | Some(expr_instance) => match expr_instance { [INFO] [stdout] | ________________________________________^ [INFO] [stdout] 512 | | ExprInstance::ETupleBody(etuple) => etuple.ps.clone(), [INFO] [stdout] 513 | | _ => ETuple::default().ps, [INFO] [stdout] 514 | | }, [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/rust/interpreter/reduce.rs:511:22 [INFO] [stdout] | [INFO] [stdout] 511 | Some(expr_instance) => match expr_instance { [INFO] [stdout] | ^^^^^^^^^^^^^ replace this binding [INFO] [stdout] 512 | ExprInstance::ETupleBody(etuple) => etuple.ps.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/rust/interpreter/reduce.rs:519:9 [INFO] [stdout] | [INFO] [stdout] 519 | / tuple_elms [INFO] [stdout] 520 | | .first() [INFO] [stdout] 521 | | .map_or(false, |head| head == &self.mergeable_tag_name) [INFO] [stdout] | |___________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use a standard comparison instead [INFO] [stdout] | [INFO] [stdout] 519 ~ tuple_elms [INFO] [stdout] 520 + .first() == Some(&self.mergeable_tag_name) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `EVar` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/reduce.rs:568:50 [INFO] [stdout] | [INFO] [stdout] 568 | let res = self.eval_var(&e.clone().v.unwrap(), &env)?; [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `(*e)` [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/rust/interpreter/reduce.rs:568:72 [INFO] [stdout] | [INFO] [stdout] 568 | let res = self.eval_var(&e.clone().v.unwrap(), &env)?; [INFO] [stdout] | ^^^^ help: change this to: `env` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/parser.rs:1119:39 [INFO] [stdout] | [INFO] [stdout] 1119 | let procs = parse_comma_sep_procs(&node, source)?; [INFO] [stdout] | ^^^^^ help: change this to: `node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/rust/interpreter/reduce.rs:585:61 [INFO] [stdout] | [INFO] [stdout] 585 | None => Err(InterpreterError::BugFoundError(format!( [INFO] [stdout] | _____________________________________________________________^ [INFO] [stdout] 586 | | "Undefined term, expr_instance was None" [INFO] [stdout] 587 | | ))), [INFO] [stdout] | |_________________^ help: consider using `.to_string()`: `"Undefined term, expr_instance was None".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/parser.rs:1128:70 [INFO] [stdout] | [INFO] [stdout] 1128 | let names_proc = if let Ok(names_node) = get_child_by_field_name(&node, "names") { [INFO] [stdout] | ^^^^^ help: change this to: `node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/parser.rs:1139:46 [INFO] [stdout] | [INFO] [stdout] 1139 | let input_node = get_child_by_field_name(&node, "input")?; [INFO] [stdout] | ^^^^^ help: change this to: `node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/rust/interpreter/reduce.rs:798:37 [INFO] [stdout] | [INFO] [stdout] 798 | / ... let eval_result = self [INFO] [stdout] 799 | | ... .eval( [INFO] [stdout] 800 | | ... single_case.source.clone().unwrap(), [INFO] [stdout] 801 | | ... &add_to_env( [INFO] [stdout] ... | [INFO] [stdout] 808 | | ... .await?; [INFO] [stdout] | |__________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding and replace variable usages with `()` [INFO] [stdout] | [INFO] [stdout] 798 ~ self [INFO] [stdout] 799 | .eval( [INFO] [stdout] ... [INFO] [stdout] 809 | [INFO] [stdout] 810 ~ return Ok(()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/reduce.rs:820:44 [INFO] [stdout] | [INFO] [stdout] 820 | let evaled_target = self.eval_expr(&mat.target.as_ref().unwrap(), env)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `mat.target.as_ref().unwrap()` [INFO] [stdout] | [INFO] [stdout] = 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: `std::ops::Range` [INFO] [stdout] --> src/rust/interpreter/reduce.rs:847:17 [INFO] [stdout] | [INFO] [stdout] 847 | / (0..(count - urns.len())) [INFO] [stdout] 848 | | .into_iter() [INFO] [stdout] | |________________________________^ help: consider removing `.into_iter()`: `(0..(count - urns.len()))` [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: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_bundle_normalizer.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | block: &Box, [INFO] [stdout] | ^^^^^^^^^^^ help: try: `&Block` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/reduce.rs:1058:47 [INFO] [stdout] | [INFO] [stdout] 1058 | let b = self.eval_to_bool(&enot.p.as_ref().unwrap(), env)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `enot.p.as_ref().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/reduce.rs:1065:46 [INFO] [stdout] | [INFO] [stdout] 1065 | let v = self.eval_to_i64(&eneg.p.as_ref().unwrap(), env)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `eneg.p.as_ref().unwrap()` [INFO] [stdout] | [INFO] [stdout] = 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/rust/interpreter/compiler/normalizer/processes/p_bundle_normalizer.rs:118:17 [INFO] [stdout] | [INFO] [stdout] 117 | let updated_bundle = prepend_bundle(input.par.clone(), new_bundle); [INFO] [stdout] | ------------------------------------------------------------------- unnecessary `let` binding [INFO] [stdout] 118 | updated_bundle [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] 117 ~ [INFO] [stdout] 118 ~ prepend_bundle(input.par.clone(), new_bundle) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: order comparisons between booleans can be simplified [INFO] [stdout] --> src/rust/interpreter/reduce.rs:1205:46 [INFO] [stdout] | [INFO] [stdout] 1205 | |b1: bool, b2: bool| b1 < b2, [INFO] [stdout] | ^^^^^^^ help: try: `!b1 & b2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_comparison)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: order comparisons between booleans can be simplified [INFO] [stdout] --> src/rust/interpreter/reduce.rs:1227:46 [INFO] [stdout] | [INFO] [stdout] 1227 | |b1: bool, b2: bool| b1 > b2, [INFO] [stdout] | ^^^^^^^ help: try: `b1 & !b2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/rust/interpreter/reduce.rs:1343:68 [INFO] [stdout] | [INFO] [stdout] 1343 | ... _ => Err(InterpreterError::ReduceError(format!( [INFO] [stdout] | ______________________________________________________________^ [INFO] [stdout] 1344 | | ... "Error: interpolation Map should only contain String keys" [INFO] [stdout] 1345 | | ... ))), [INFO] [stdout] | |_______________________^ help: consider using `.to_string()`: `"Error: interpolation Map should only contain String keys".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/rust/interpreter/reduce.rs:1445:59 [INFO] [stdout] | [INFO] [stdout] 1445 | ... lhs.into_iter().chain(rhs.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/91021ccc790478a1a89c003e7d32b8d155ae6aae/library/core/src/iter/traits/iterator.rs:510:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 1445 - lhs.into_iter().chain(rhs.into_iter()).collect(), [INFO] [stdout] 1445 + lhs.into_iter().chain(rhs).collect(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/rust/interpreter/reduce.rs:1454:66 [INFO] [stdout] | [INFO] [stdout] 1454 | ... ps: lhs.ps.into_iter().chain(rhs.ps.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/91021ccc790478a1a89c003e7d32b8d155ae6aae/library/core/src/iter/traits/iterator.rs:510:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 1454 - ps: lhs.ps.into_iter().chain(rhs.ps.into_iter()).collect(), [INFO] [stdout] 1454 + ps: lhs.ps.into_iter().chain(rhs.ps).collect(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_contr_normalizer.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | proc: &Box, [INFO] [stdout] | ^^^^^^^^^^^ help: try: `&Block` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/reduce.rs:1565:44 [INFO] [stdout] | [INFO] [stdout] 1565 | let p = self.eval_var(&v.clone().unwrap(), env)?; [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `(*v)` [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 `Option` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_contr_normalizer.rs:78:24 [INFO] [stdout] | [INFO] [stdout] 78 | remainder: remainder_result.0.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `remainder_result.0` [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/rust/interpreter/reduce.rs:1669:56 [INFO] [stdout] | [INFO] [stdout] 1669 | let evaled_target = self.eval_expr(&target.as_ref().unwrap(), env)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `target.as_ref().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/rust/interpreter/reduce.rs:1740:37 [INFO] [stdout] | [INFO] [stdout] 1740 | ... let b = bs[nth] & 0xff; // Convert to unsigned; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `bs[nth]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] = note: `#[warn(clippy::identity_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:1770:25 [INFO] [stdout] | [INFO] [stdout] 1770 | / return Err(InterpreterError::ReduceError(format!( [INFO] [stdout] 1771 | | "Error thrown when serializing: {}", [INFO] [stdout] 1772 | | err [INFO] [stdout] 1773 | | ))); [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] 1770 ~ Err(InterpreterError::ReduceError(format!( [INFO] [stdout] 1771 + "Error thrown when serializing: {}", [INFO] [stdout] 1772 + err [INFO] [stdout] 1773 ~ ))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:1828:21 [INFO] [stdout] | [INFO] [stdout] 1828 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 1829 | | method: String::from("hexToBytes"), [INFO] [stdout] 1830 | | expected: 0, [INFO] [stdout] 1831 | | actual: args.len(), [INFO] [stdout] 1832 | | }); [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] 1828 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 1829 + method: String::from("hexToBytes"), [INFO] [stdout] 1830 + expected: 0, [INFO] [stdout] 1831 + actual: args.len(), [INFO] [stdout] 1832 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:1875:21 [INFO] [stdout] | [INFO] [stdout] 1875 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 1876 | | method: String::from("bytesToHex"), [INFO] [stdout] 1877 | | expected: 0, [INFO] [stdout] 1878 | | actual: args.len(), [INFO] [stdout] 1879 | | }); [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] 1875 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 1876 + method: String::from("bytesToHex"), [INFO] [stdout] 1877 + expected: 0, [INFO] [stdout] 1878 + actual: args.len(), [INFO] [stdout] 1879 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:1922:21 [INFO] [stdout] | [INFO] [stdout] 1922 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 1923 | | method: String::from("toUtf8Bytes"), [INFO] [stdout] 1924 | | expected: 0, [INFO] [stdout] 1925 | | actual: args.len(), [INFO] [stdout] 1926 | | }); [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] 1922 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 1923 + method: String::from("toUtf8Bytes"), [INFO] [stdout] 1924 + expected: 0, [INFO] [stdout] 1925 + actual: args.len(), [INFO] [stdout] 1926 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `as_str` is redundant and can be removed as the method immediately following exists on `String` too [INFO] [stdout] --> src/rust/interpreter/reduce.rs:1935:53 [INFO] [stdout] | [INFO] [stdout] 1935 | ... utf8_string.as_str().as_bytes().to_vec(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `as_bytes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_as_str [INFO] [stdout] = note: `#[warn(clippy::redundant_as_str)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:2037:21 [INFO] [stdout] | [INFO] [stdout] 2037 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2038 | | method: String::from("union"), [INFO] [stdout] 2039 | | expected: 1, [INFO] [stdout] 2040 | | actual: args.len(), [INFO] [stdout] 2041 | | }); [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] 2037 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2038 + method: String::from("union"), [INFO] [stdout] 2039 + expected: 1, [INFO] [stdout] 2040 + actual: args.len(), [INFO] [stdout] 2041 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::collections::hash_set::Difference<'_, f1r3fly_models::rhoapi::Par, std::hash::RandomState>` [INFO] [stdout] --> src/rust/interpreter/reduce.rs:2083:29 [INFO] [stdout] | [INFO] [stdout] 2083 | / ... base_sorted_pars_set [INFO] [stdout] 2084 | | ... .difference(&other_sorted_pars_set) [INFO] [stdout] 2085 | | ... .into_iter() [INFO] [stdout] | |______________________________________^ [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 `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 2083 ~ base_sorted_pars_set [INFO] [stdout] 2084 + .difference(&other_sorted_pars_set) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:2135:21 [INFO] [stdout] | [INFO] [stdout] 2135 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2136 | | method: String::from("diff"), [INFO] [stdout] 2137 | | expected: 1, [INFO] [stdout] 2138 | | actual: args.len(), [INFO] [stdout] 2139 | | }); [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] 2135 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2136 + method: String::from("diff"), [INFO] [stdout] 2137 + expected: 1, [INFO] [stdout] 2138 + actual: args.len(), [INFO] [stdout] 2139 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:2200:21 [INFO] [stdout] | [INFO] [stdout] 2200 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2201 | | method: String::from("add"), [INFO] [stdout] 2202 | | expected: 1, [INFO] [stdout] 2203 | | actual: args.len(), [INFO] [stdout] 2204 | | }); [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] 2200 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2201 + method: String::from("add"), [INFO] [stdout] 2202 + expected: 1, [INFO] [stdout] 2203 + actual: args.len(), [INFO] [stdout] 2204 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:2283:21 [INFO] [stdout] | [INFO] [stdout] 2283 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2284 | | method: String::from("delete"), [INFO] [stdout] 2285 | | expected: 1, [INFO] [stdout] 2286 | | actual: args.len(), [INFO] [stdout] 2287 | | }); [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] 2283 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2284 + method: String::from("delete"), [INFO] [stdout] 2285 + expected: 1, [INFO] [stdout] 2286 + actual: args.len(), [INFO] [stdout] 2287 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:2349:21 [INFO] [stdout] | [INFO] [stdout] 2349 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2350 | | method: String::from("contains"), [INFO] [stdout] 2351 | | expected: 1, [INFO] [stdout] 2352 | | actual: args.len(), [INFO] [stdout] 2353 | | }); [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] 2349 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2350 + method: String::from("contains"), [INFO] [stdout] 2351 + expected: 1, [INFO] [stdout] 2352 + actual: args.len(), [INFO] [stdout] 2353 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:2403:21 [INFO] [stdout] | [INFO] [stdout] 2403 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2404 | | method: String::from("get"), [INFO] [stdout] 2405 | | expected: 1, [INFO] [stdout] 2406 | | actual: args.len(), [INFO] [stdout] 2407 | | }); [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] 2403 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2404 + method: String::from("get"), [INFO] [stdout] 2405 + expected: 1, [INFO] [stdout] 2406 + actual: args.len(), [INFO] [stdout] 2407 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_if_normalizer.rs:18:30 [INFO] [stdout] | [INFO] [stdout] 18 | normalize_match_proc(&value_proc, ProcVisitInputs { ..input.clone() }, env)?; [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `value_proc` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_if_normalizer.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | &true_body_proc, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `true_body_proc` [INFO] [stdout] | [INFO] [stdout] = 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/rust/interpreter/reduce.rs:2462:21 [INFO] [stdout] | [INFO] [stdout] 2462 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2463 | | method: String::from("get_or_else"), [INFO] [stdout] 2464 | | expected: 2, [INFO] [stdout] 2465 | | actual: args.len(), [INFO] [stdout] 2466 | | }); [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] 2462 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2463 + method: String::from("get_or_else"), [INFO] [stdout] 2464 + expected: 2, [INFO] [stdout] 2465 + actual: args.len(), [INFO] [stdout] 2466 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_if_normalizer.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | &false_body_proc, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `false_body_proc` [INFO] [stdout] | [INFO] [stdout] = 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/rust/interpreter/reduce.rs:2528:21 [INFO] [stdout] | [INFO] [stdout] 2528 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2529 | | method: String::from("set"), [INFO] [stdout] 2530 | | expected: 2, [INFO] [stdout] 2531 | | actual: args.len(), [INFO] [stdout] 2532 | | }); [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] 2528 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2529 + method: String::from("set"), [INFO] [stdout] 2530 + expected: 2, [INFO] [stdout] 2531 + actual: args.len(), [INFO] [stdout] 2532 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:2589:21 [INFO] [stdout] | [INFO] [stdout] 2589 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2590 | | method: String::from("keys"), [INFO] [stdout] 2591 | | expected: 0, [INFO] [stdout] 2592 | | actual: args.len(), [INFO] [stdout] 2593 | | }); [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] 2589 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2590 + method: String::from("keys"), [INFO] [stdout] 2591 + expected: 0, [INFO] [stdout] 2592 + actual: args.len(), [INFO] [stdout] 2593 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:2651:21 [INFO] [stdout] | [INFO] [stdout] 2651 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2652 | | method: String::from("size"), [INFO] [stdout] 2653 | | expected: 0, [INFO] [stdout] 2654 | | actual: args.len(), [INFO] [stdout] 2655 | | }); [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] 2651 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2652 + method: String::from("size"), [INFO] [stdout] 2653 + expected: 0, [INFO] [stdout] 2654 + actual: args.len(), [INFO] [stdout] 2655 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:2705:21 [INFO] [stdout] | [INFO] [stdout] 2705 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2706 | | method: String::from("length"), [INFO] [stdout] 2707 | | expected: 0, [INFO] [stdout] 2708 | | actual: args.len(), [INFO] [stdout] 2709 | | }); [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] 2705 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2706 + method: String::from("length"), [INFO] [stdout] 2707 + expected: 0, [INFO] [stdout] 2708 + actual: args.len(), [INFO] [stdout] 2709 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:2793:21 [INFO] [stdout] | [INFO] [stdout] 2793 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2794 | | method: String::from("slice"), [INFO] [stdout] 2795 | | expected: 2, [INFO] [stdout] 2796 | | actual: args.len(), [INFO] [stdout] 2797 | | }); [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] 2793 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2794 + method: String::from("slice"), [INFO] [stdout] 2795 + expected: 2, [INFO] [stdout] 2796 + actual: args.len(), [INFO] [stdout] 2797 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:2856:21 [INFO] [stdout] | [INFO] [stdout] 2856 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2857 | | method: String::from("take"), [INFO] [stdout] 2858 | | expected: 1, [INFO] [stdout] 2859 | | actual: args.len(), [INFO] [stdout] 2860 | | }); [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] 2856 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2857 + method: String::from("take"), [INFO] [stdout] 2858 + expected: 1, [INFO] [stdout] 2859 + actual: args.len(), [INFO] [stdout] 2860 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:2967:21 [INFO] [stdout] | [INFO] [stdout] 2967 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2968 | | method: String::from("to_list"), [INFO] [stdout] 2969 | | expected: 0, [INFO] [stdout] 2970 | | actual: args.len(), [INFO] [stdout] 2971 | | }); [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] 2967 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2968 + method: String::from("to_list"), [INFO] [stdout] 2969 + expected: 0, [INFO] [stdout] 2970 + actual: args.len(), [INFO] [stdout] 2971 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:3059:21 [INFO] [stdout] | [INFO] [stdout] 3059 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 3060 | | method: String::from("to_set"), [INFO] [stdout] 3061 | | expected: 0, [INFO] [stdout] 3062 | | actual: args.len(), [INFO] [stdout] 3063 | | }); [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] 3059 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 3060 + method: String::from("to_set"), [INFO] [stdout] 3061 + expected: 0, [INFO] [stdout] 3062 + actual: args.len(), [INFO] [stdout] 3063 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/rust/interpreter/reduce.rs:3089:40 [INFO] [stdout] | [INFO] [stdout] 3089 | ps.into_iter().map(|p| RhoTuple2::unapply(p)).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `RhoTuple2::unapply` [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: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:3163:21 [INFO] [stdout] | [INFO] [stdout] 3163 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 3164 | | method: String::from("to_map"), [INFO] [stdout] 3165 | | expected: 0, [INFO] [stdout] 3166 | | actual: args.len(), [INFO] [stdout] 3167 | | }); [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] 3163 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 3164 + method: String::from("to_map"), [INFO] [stdout] 3165 + expected: 0, [INFO] [stdout] 3166 + actual: args.len(), [INFO] [stdout] 3167 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:3212:21 [INFO] [stdout] | [INFO] [stdout] 3212 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 3213 | | method: String::from("to_map"), [INFO] [stdout] 3214 | | expected: 0, [INFO] [stdout] 3215 | | actual: args.len(), [INFO] [stdout] 3216 | | }); [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] 3212 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 3213 + method: String::from("to_map"), [INFO] [stdout] 3214 + expected: 0, [INFO] [stdout] 3215 + actual: args.len(), [INFO] [stdout] 3216 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/reduce.rs:3268:50 [INFO] [stdout] | [INFO] [stdout] 3268 | [e] => Ok(self.eval_expr_to_expr(&e, env)?), [INFO] [stdout] | ^^ help: change this to: `e` [INFO] [stdout] | [INFO] [stdout] = 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/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | / return Err(InterpreterError::BugFoundError( [INFO] [stdout] 44 | | "Exepected at least one receipt".to_string(), [INFO] [stdout] 45 | | )); [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] 43 ~ Err(InterpreterError::BugFoundError( [INFO] [stdout] 44 + "Exepected at least one receipt".to_string(), [INFO] [stdout] 45 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:261:25 [INFO] [stdout] | [INFO] [stdout] 261 | / return Err(InterpreterError::BugFoundError(format!( [INFO] [stdout] 262 | | "Expected SimpleSource, found {:?}", [INFO] [stdout] 263 | | &linear_bind.input [INFO] [stdout] 264 | | ))) [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] 261 ~ Err(InterpreterError::BugFoundError(format!( [INFO] [stdout] 262 + "Expected SimpleSource, found {:?}", [INFO] [stdout] 263 + &linear_bind.input [INFO] [stdout] 264 + ))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/reduce.rs:3328:63 [INFO] [stdout] | [INFO] [stdout] 3328 | let p = self.eval_var(&unwrap_option_safe(v.clone())?, env)?; [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*v` [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/rust/interpreter/reduce.rs:3333:57 [INFO] [stdout] | [INFO] [stdout] 3333 | let evaled = self.eval_expr_to_expr(&e, env)?; [INFO] [stdout] | ^^ help: change this to: `e` [INFO] [stdout] | [INFO] [stdout] = 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/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:268:21 [INFO] [stdout] | [INFO] [stdout] 268 | / return Err(InterpreterError::BugFoundError(format!( [INFO] [stdout] 269 | | "Expected LinearBinds, found {:?}", [INFO] [stdout] 270 | | &formals.receipts[0] [INFO] [stdout] 271 | | ))) [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] 268 ~ Err(InterpreterError::BugFoundError(format!( [INFO] [stdout] 269 + "Expected LinearBinds, found {:?}", [INFO] [stdout] 270 + &formals.receipts[0] [INFO] [stdout] 271 + ))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:50:50 [INFO] [stdout] | [INFO] [stdout] 50 | Receipt::LinearBinds(linear_bind) => match linear_bind.input { [INFO] [stdout] | __________________________________________________^ [INFO] [stdout] 51 | | Source::Simple { .. } => false, [INFO] [stdout] 52 | | _ => true, [INFO] [stdout] 53 | | }, [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 50 - Receipt::LinearBinds(linear_bind) => match linear_bind.input { [INFO] [stdout] 51 - Source::Simple { .. } => false, [INFO] [stdout] 52 - _ => true, [INFO] [stdout] 53 - }, [INFO] [stdout] 50 + Receipt::LinearBinds(linear_bind) => !matches!(linear_bind.input, Source::Simple { .. }), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/reduce.rs:3381:63 [INFO] [stdout] | [INFO] [stdout] 3381 | let p = self.eval_var(&unwrap_option_safe(v.clone())?, env)?; [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*v` [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/rust/interpreter/reduce.rs:3386:57 [INFO] [stdout] | [INFO] [stdout] 3386 | let evaled = self.eval_expr_to_expr(&e, env)?; [INFO] [stdout] | ^^ help: change this to: `e` [INFO] [stdout] | [INFO] [stdout] = 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/rust/interpreter/reduce.rs:3470:31 [INFO] [stdout] | [INFO] [stdout] 3470 | .fold(Vec::new(), |acc, locally_free| union(acc, locally_free)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `union` [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/rust/interpreter/reduce.rs:3480:31 [INFO] [stdout] | [INFO] [stdout] 3480 | .fold(Vec::new(), |acc, locally_free| union(acc, locally_free)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `union` [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: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> src/rust/interpreter/reduce.rs:3520:26 [INFO] [stdout] | [INFO] [stdout] 3520 | let dispatcher = Arc::new(RwLock::new(RholangAndScalaDispatcher { [INFO] [stdout] | __________________________^ [INFO] [stdout] 3521 | | _dispatch_table: Arc::new(RwLock::new(HashMap::new())), [INFO] [stdout] 3522 | | reducer: None, [INFO] [stdout] 3523 | | })); [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc>` is not `Send` and `Sync` as `RwLock` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `RwLock` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] = note: `#[warn(clippy::arc_with_non_send_sync)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> src/rust/interpreter/reduce.rs:3521:30 [INFO] [stdout] | [INFO] [stdout] 3521 | _dispatch_table: Arc::new(RwLock::new(HashMap::new())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc, bool, Vec)) -> Pin, InterpreterError>>>>>>>>` is not `Send` and `Sync` as `RwLock, bool, Vec)) -> Pin, InterpreterError>>>>>>>` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `RwLock, bool, Vec)) -> Pin, InterpreterError>>>>>>>` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/rust/interpreter/registry/mod.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod registry; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:323:18 [INFO] [stdout] | [INFO] [stdout] 323 | ) -> Result< [INFO] [stdout] | __________________^ [INFO] [stdout] 324 | | Vec<( [INFO] [stdout] 325 | | Vec, [INFO] [stdout] 326 | | Option, [INFO] [stdout] ... | [INFO] [stdout] 330 | | InterpreterError, [INFO] [stdout] 331 | | > { [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: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> src/rust/interpreter/registry/registry.rs:27:23 [INFO] [stdout] | [INFO] [stdout] 27 | rem = (shift_rem ^ 0x4805) as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(shift_rem ^ 0x4805)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> src/rust/interpreter/registry/registry.rs:29:23 [INFO] [stdout] | [INFO] [stdout] 29 | rem = shift_rem as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `shift_rem` [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:387:47 [INFO] [stdout] | [INFO] [stdout] 387 | let (consumes, persistent, peek): ( [INFO] [stdout] | _______________________________________________^ [INFO] [stdout] 388 | | Vec<((Vec, Option>), Name)>, [INFO] [stdout] 389 | | bool, [INFO] [stdout] 390 | | bool, [INFO] [stdout] 391 | | ) = { [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/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:392:31 [INFO] [stdout] | [INFO] [stdout] 392 | let consumes: Vec<((Vec, Option>), Name)> = formals [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/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:426:36 [INFO] [stdout] | [INFO] [stdout] 426 | let (patterns, names): (Vec<(Vec, Option>)>, 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: useless conversion to the same type: `std::iter::Zip, std::option::Option, rust::interpreter::compiler::free_map::FreeMap, std::vec::Vec)>, std::vec::IntoIter>` [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:440:17 [INFO] [stdout] | [INFO] [stdout] 440 | / processed_patterns [INFO] [stdout] 441 | | .clone() [INFO] [stdout] 442 | | .into_iter() [INFO] [stdout] 443 | | .zip(sources) [INFO] [stdout] 444 | | .into_iter() [INFO] [stdout] | |________________________________^ [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 `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 440 ~ processed_patterns [INFO] [stdout] 441 + .clone() [INFO] [stdout] 442 + .into_iter() [INFO] [stdout] 443 + .zip(sources) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:252:9 [INFO] [stdout] | [INFO] [stdout] 252 | / Arc::new(Mutex::new(RhoRuntimeImpl { [INFO] [stdout] 253 | | reducer, [INFO] [stdout] 254 | | cost, [INFO] [stdout] 255 | | block_data_ref, [INFO] [stdout] 256 | | invalid_blocks_param, [INFO] [stdout] 257 | | merge_chs, [INFO] [stdout] 258 | | })) [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc>` is not `Send` and `Sync` as `Mutex` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `Mutex` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:329:6 [INFO] [stdout] | [INFO] [stdout] 329 | ) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:358:46 [INFO] [stdout] | [INFO] [stdout] 358 | fn reset(&mut self, root: Blake2b256Hash) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:578:9 [INFO] [stdout] | [INFO] [stdout] 578 | / let mut list_bindings: Vec = Vec::new(); [INFO] [stdout] 579 | | list_bindings.push(Name::new_name_var("x")); [INFO] [stdout] 580 | | list_bindings.push(Name::new_name_var("y")); [INFO] [stdout] | |____________________________________________________^ help: consider using the `vec![]` macro: `let list_bindings: Vec = 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: calls to `push` immediately after creation [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:582:9 [INFO] [stdout] | [INFO] [stdout] 582 | / let mut list_linear_binds: Vec = Vec::new(); [INFO] [stdout] 583 | | list_linear_binds.push(Receipt::LinearBinds(LinearBind { [INFO] [stdout] 584 | | names: Names::new(list_bindings, None), [INFO] [stdout] 585 | | input: Source::new_simple_source(Name::new_name_quote_nil()), [INFO] [stdout] 586 | | line_num: 0, [INFO] [stdout] 587 | | col_num: 0, [INFO] [stdout] 588 | | })); [INFO] [stdout] | |____________^ help: consider using the `vec![]` macro: `let list_linear_binds: Vec = 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: unneeded unit return type [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:394:52 [INFO] [stdout] | [INFO] [stdout] 394 | fn set_block_data(&self, block_data: BlockData) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:399:80 [INFO] [stdout] | [INFO] [stdout] 399 | fn set_invalid_blocks(&self, invalid_blocks: HashMap) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:665:9 [INFO] [stdout] | [INFO] [stdout] 665 | assert_eq!(result.unwrap().par.receives[0].peek, true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 665 - assert_eq!(result.unwrap().par.receives[0].peek, true); [INFO] [stdout] 665 + assert!(result.unwrap().par.receives[0].peek); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:671:9 [INFO] [stdout] | [INFO] [stdout] 671 | / let mut list_bindings1: Vec = Vec::new(); [INFO] [stdout] 672 | | list_bindings1.push(Name::new_name_var("x1")); [INFO] [stdout] 673 | | list_bindings1.push(Name::new_name_quote_var("y1")); [INFO] [stdout] | |____________________________________________________________^ help: consider using the `vec![]` macro: `let list_bindings1: Vec = 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: calls to `push` immediately after creation [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:675:9 [INFO] [stdout] | [INFO] [stdout] 675 | / let mut list_bindings2: Vec = Vec::new(); [INFO] [stdout] 676 | | list_bindings2.push(Name::new_name_var("x2")); [INFO] [stdout] 677 | | list_bindings2.push(Name::new_name_quote_var("y2")); [INFO] [stdout] | |____________________________________________________________^ help: consider using the `vec![]` macro: `let list_bindings2: Vec = 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: calls to `push` immediately after creation [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:892:9 [INFO] [stdout] | [INFO] [stdout] 892 | / let mut list_bindings1: Vec = Vec::new(); [INFO] [stdout] 893 | | list_bindings1.push(Name::new_name_var("x1")); [INFO] [stdout] 894 | | list_bindings1.push(Name::new_name_quote_var("y1")); [INFO] [stdout] | |____________________________________________________________^ help: consider using the `vec![]` macro: `let list_bindings1: Vec = 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: calls to `push` immediately after creation [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:896:9 [INFO] [stdout] | [INFO] [stdout] 896 | / let mut list_bindings2: Vec = Vec::new(); [INFO] [stdout] 897 | | list_bindings2.push(Name::new_name_var("x2")); [INFO] [stdout] 898 | | list_bindings2.push(Name::new_name_quote_var("y1")); [INFO] [stdout] | |____________________________________________________________^ help: consider using the `vec![]` macro: `let list_bindings2: Vec = 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: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:775:29 [INFO] [stdout] | [INFO] [stdout] 775 | extra_system_processes: &mut 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] 775 - extra_system_processes: &mut Vec, [INFO] [stdout] 775 + extra_system_processes: &mut [Definition], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:798:5 [INFO] [stdout] | [INFO] [stdout] 798 | Arc::new(RwLock::new(dispatch_table)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc, bool, Vec)) -> Pin, InterpreterError>>>>>>>>` is not `Send` and `Sync` as `RwLock, bool, Vec)) -> Pin, InterpreterError>>>>>>>` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `RwLock, bool, Vec)) -> Pin, InterpreterError>>>>>>>` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:834:1 [INFO] [stdout] | [INFO] [stdout] 834 | / fn setup_reducer( [INFO] [stdout] 835 | | charging_rspace: RhoISpace, [INFO] [stdout] 836 | | block_data_ref: Arc>, [INFO] [stdout] 837 | | invalid_blocks: InvalidBlocks, [INFO] [stdout] ... | [INFO] [stdout] 843 | | cost: _cost, [INFO] [stdout] 844 | | ) -> DebruijnInterpreter { [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: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:847:22 [INFO] [stdout] | [INFO] [stdout] 847 | let dispatcher = Arc::new(RwLock::new(RholangAndScalaDispatcher { [INFO] [stdout] | ______________________^ [INFO] [stdout] 848 | | _dispatch_table: Arc::new(RwLock::new(HashMap::new())), [INFO] [stdout] 849 | | reducer: None, [INFO] [stdout] 850 | | })); [INFO] [stdout] | |_______^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc>` is not `Send` and `Sync` as `RwLock` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `RwLock` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:848:26 [INFO] [stdout] | [INFO] [stdout] 848 | _dispatch_table: Arc::new(RwLock::new(HashMap::new())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc, bool, Vec)) -> Pin, InterpreterError>>>>>>>>` is not `Send` and `Sync` as `RwLock, bool, Vec)) -> Pin, InterpreterError>>>>>>>` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `RwLock, bool, Vec)) -> Pin, InterpreterError>>>>>>>` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:879:6 [INFO] [stdout] | [INFO] [stdout] 879 | ) -> ( [INFO] [stdout] | ______^ [INFO] [stdout] 880 | | Arc>, [INFO] [stdout] 881 | | InvalidBlocks, [INFO] [stdout] 882 | | HashMap, [INFO] [stdout] 883 | | Vec<(Name, Arity, Remainder, BodyRef)>, [INFO] [stdout] 884 | | ) { [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: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:878:29 [INFO] [stdout] | [INFO] [stdout] 878 | extra_system_processes: &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] 878 - extra_system_processes: &Vec, [INFO] [stdout] 878 + extra_system_processes: &[Definition], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:928:45 [INFO] [stdout] | [INFO] [stdout] 928 | let maps_and_refs = setup_maps_and_refs(&extra_system_processes); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `extra_system_processes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:933:38 [INFO] [stdout] | [INFO] [stdout] 933 | let charging_rspace: RhoISpace = Arc::new(Mutex::new(Box::new( [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 934 | | ChargingRSpace::charging_rspace(rspace, cost.clone()), [INFO] [stdout] 935 | | ))); [INFO] [stdout] | |_______^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc>>>` is not `Send` and `Sync` as `Mutex>>` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `Mutex>>` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:965:9 [INFO] [stdout] | [INFO] [stdout] 965 | let runtime_lock = runtime.try_lock().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:975:47 [INFO] [stdout] | [INFO] [stdout] 975 | runtime_lock.inj(ast(), Env::new(), rand).await.unwrap(); [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:967:5 [INFO] [stdout] | [INFO] [stdout] 967 | / let _ = runtime_lock [INFO] [stdout] 968 | | .cost() [INFO] [stdout] 969 | | .set(Cost::create(i64::MAX, "bootstrap registry".to_string())); [INFO] [stdout] | |_______________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 967 - let _ = runtime_lock [INFO] [stdout] 967 + runtime_lock [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:980:5 [INFO] [stdout] | [INFO] [stdout] 980 | let _ = runtime_lock.cost().set(Cost::create_from_cost(cost)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 980 - let _ = runtime_lock.cost().set(Cost::create_from_cost(cost)); [INFO] [stdout] 980 + runtime_lock.cost().set(Cost::create_from_cost(cost)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if let` can be collapsed into the outer `if let` [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | / if let Expr { [INFO] [stdout] 17 | | expr_instance: Some(ExprInstance::GByteArray(bs)), [INFO] [stdout] 18 | | } = expr [INFO] [stdout] ... | [INFO] [stdout] 21 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 15 | if let Some(expr) = single_expr(p) { [INFO] [stdout] | ^^^^ replace this binding [INFO] [stdout] 16 | if let Expr { [INFO] [stdout] | ____________________^ [INFO] [stdout] 17 | | expr_instance: Some(ExprInstance::GByteArray(bs)), [INFO] [stdout] 18 | | } = expr [INFO] [stdout] | |_____________^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if let` can be collapsed into the outer `if let` [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | / if let Expr { [INFO] [stdout] 39 | | expr_instance: Some(ExprInstance::GString(str)), [INFO] [stdout] 40 | | } = expr [INFO] [stdout] ... | [INFO] [stdout] 43 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:37:21 [INFO] [stdout] | [INFO] [stdout] 37 | if let Some(expr) = single_expr(p) { [INFO] [stdout] | ^^^^ replace this binding [INFO] [stdout] 38 | if let Expr { [INFO] [stdout] | ____________________^ [INFO] [stdout] 39 | | expr_instance: Some(ExprInstance::GString(str)), [INFO] [stdout] 40 | | } = expr [INFO] [stdout] | |_____________^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if let` can be collapsed into the outer `if let` [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:66:13 [INFO] [stdout] | [INFO] [stdout] 66 | / if let Expr { [INFO] [stdout] 67 | | expr_instance: Some(ExprInstance::GBool(b)), [INFO] [stdout] 68 | | } = expr [INFO] [stdout] ... | [INFO] [stdout] 71 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:65:21 [INFO] [stdout] | [INFO] [stdout] 65 | if let Some(expr) = single_expr(p) { [INFO] [stdout] | ^^^^ replace this binding [INFO] [stdout] 66 | if let Expr { [INFO] [stdout] | ____________________^ [INFO] [stdout] 67 | | expr_instance: Some(ExprInstance::GBool(b)), [INFO] [stdout] 68 | | } = expr [INFO] [stdout] | |_____________^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if let` can be collapsed into the outer `if let` [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | / if let Expr { [INFO] [stdout] 89 | | expr_instance: Some(ExprInstance::GInt(v)), [INFO] [stdout] 90 | | } = expr [INFO] [stdout] ... | [INFO] [stdout] 93 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:87:21 [INFO] [stdout] | [INFO] [stdout] 87 | if let Some(expr) = single_expr(&p) { [INFO] [stdout] | ^^^^ replace this binding [INFO] [stdout] 88 | if let Expr { [INFO] [stdout] | ____________________^ [INFO] [stdout] 89 | | expr_instance: Some(ExprInstance::GInt(v)), [INFO] [stdout] 90 | | } = expr [INFO] [stdout] | |_____________^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:87:41 [INFO] [stdout] | [INFO] [stdout] 87 | if let Some(expr) = single_expr(&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 `if let` can be collapsed into the outer `if let` [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:114:13 [INFO] [stdout] | [INFO] [stdout] 114 | / if let Expr { [INFO] [stdout] 115 | | expr_instance: Some(ExprInstance::ETupleBody(ETuple { ps, .. })), [INFO] [stdout] 116 | | } = expr [INFO] [stdout] ... | [INFO] [stdout] 123 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:113:21 [INFO] [stdout] | [INFO] [stdout] 113 | if let Some(expr) = single_expr(&p) { [INFO] [stdout] | ^^^^ replace this binding [INFO] [stdout] 114 | if let Expr { [INFO] [stdout] | ____________________^ [INFO] [stdout] 115 | | expr_instance: Some(ExprInstance::ETupleBody(ETuple { ps, .. })), [INFO] [stdout] 116 | | } = expr [INFO] [stdout] | |_____________^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if let` can be collapsed into the outer `if let` [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | / if let Expr { [INFO] [stdout] 141 | | expr_instance: Some(ExprInstance::GUri(s)), [INFO] [stdout] 142 | | } = expr [INFO] [stdout] ... | [INFO] [stdout] 145 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:139:21 [INFO] [stdout] | [INFO] [stdout] 139 | if let Some(expr) = single_expr(&p) { [INFO] [stdout] | ^^^^ replace this binding [INFO] [stdout] 140 | if let Expr { [INFO] [stdout] | ____________________^ [INFO] [stdout] 141 | | expr_instance: Some(ExprInstance::GUri(s)), [INFO] [stdout] 142 | | } = expr [INFO] [stdout] | |_____________^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:139:41 [INFO] [stdout] | [INFO] [stdout] 139 | if let Some(expr) = single_expr(&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 `if let` can be collapsed into the outer `if let` [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:164:13 [INFO] [stdout] | [INFO] [stdout] 164 | / if let GUnforgeable { [INFO] [stdout] 165 | | unf_instance: Some(UnfInstance::GDeployerIdBody(id)), [INFO] [stdout] 166 | | } = expr [INFO] [stdout] ... | [INFO] [stdout] 169 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:163:21 [INFO] [stdout] | [INFO] [stdout] 163 | if let Some(expr) = single_unforgeable(&p) { [INFO] [stdout] | ^^^^ replace this binding [INFO] [stdout] 164 | if let GUnforgeable { [INFO] [stdout] | ____________________^ [INFO] [stdout] 165 | | unf_instance: Some(UnfInstance::GDeployerIdBody(id)), [INFO] [stdout] 166 | | } = expr [INFO] [stdout] | |_____________^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:163:48 [INFO] [stdout] | [INFO] [stdout] 163 | if let Some(expr) = single_unforgeable(&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 `if let` can be collapsed into the outer `if let` [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:186:13 [INFO] [stdout] | [INFO] [stdout] 186 | / if let GUnforgeable { [INFO] [stdout] 187 | | unf_instance: Some(UnfInstance::GPrivateBody(gprivate)), [INFO] [stdout] 188 | | } = expr [INFO] [stdout] ... | [INFO] [stdout] 191 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:185:21 [INFO] [stdout] | [INFO] [stdout] 185 | if let Some(expr) = single_unforgeable(&p) { [INFO] [stdout] | ^^^^ replace this binding [INFO] [stdout] 186 | if let GUnforgeable { [INFO] [stdout] | ____________________^ [INFO] [stdout] 187 | | unf_instance: Some(UnfInstance::GPrivateBody(gprivate)), [INFO] [stdout] 188 | | } = expr [INFO] [stdout] | |_____________^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:185:48 [INFO] [stdout] | [INFO] [stdout] 185 | if let Some(expr) = single_unforgeable(&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 `if let` can be collapsed into the outer `if let` [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:232:13 [INFO] [stdout] | [INFO] [stdout] 232 | / if let GUnforgeable { [INFO] [stdout] 233 | | unf_instance: Some(UnfInstance::GSysAuthTokenBody(token)), [INFO] [stdout] 234 | | } = expr [INFO] [stdout] ... | [INFO] [stdout] 237 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:231:21 [INFO] [stdout] | [INFO] [stdout] 231 | if let Some(expr) = single_unforgeable(&p) { [INFO] [stdout] | ^^^^ replace this binding [INFO] [stdout] 232 | if let GUnforgeable { [INFO] [stdout] | ____________________^ [INFO] [stdout] 233 | | unf_instance: Some(UnfInstance::GSysAuthTokenBody(token)), [INFO] [stdout] 234 | | } = expr [INFO] [stdout] | |_____________^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:231:48 [INFO] [stdout] | [INFO] [stdout] 231 | if let Some(expr) = single_unforgeable(&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: unneeded unit return type [INFO] [stdout] --> src/rust/interpreter/storage/charging_rspace.rs:233:59 [INFO] [stdout] | [INFO] [stdout] 233 | fn update_produce(&mut self, produce: Produce) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/rust/interpreter/storage/charging_rspace.rs:313:14 [INFO] [stdout] | [INFO] [stdout] 313 | .zip(cont.channels.into_iter()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/91021ccc790478a1a89c003e7d32b8d155ae6aae/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] 313 - .zip(cont.channels.into_iter()) [INFO] [stdout] 313 + .zip(cont.channels) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/rust/interpreter/storage/storage_printer.rs:36:35 [INFO] [stdout] | [INFO] [stdout] 36 | .fold(Par::default(), |acc, par| concatenate_pars(acc, par)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `concatenate_pars` [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: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/rust/interpreter/storage/storage_printer.rs:65:15 [INFO] [stdout] | [INFO] [stdout] 65 | channels: &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] 65 - channels: &Vec, [INFO] [stdout] 65 + channels: &[Par], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/storage/storage_printer.rs:82:32 [INFO] [stdout] | [INFO] [stdout] 82 | remainder: pattern.remainder.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `pattern.remainder` [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 `Var` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/substitute.rs:116:38 [INFO] [stdout] | [INFO] [stdout] 116 | match unwrap_option_safe(term.clone().var_instance)? { [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `term` [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: redundant closure [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_let_normalizer.rs:55:26 [INFO] [stdout] | [INFO] [stdout] 55 | .map(|conc_decl_impl| extract_names_and_procs(conc_decl_impl)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `extract_names_and_procs` [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: using `clone` on type `VarRef` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/substitute.rs:244:61 [INFO] [stdout] | [INFO] [stdout] 244 | match self.maybe_substitute_var_ref(v.clone(), depth, env)? { [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*v` [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: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_match_normalizer.rs:13:18 [INFO] [stdout] | [INFO] [stdout] 13 | expressions: &Box, [INFO] [stdout] | ^^^^^^^^^^ help: try: `&Proc` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be written as a `let` statement [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_match_normalizer.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | / match case { [INFO] [stdout] 21 | | Case { pattern, proc, .. } => Ok((pattern, proc)), [INFO] [stdout] 22 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] = note: `#[warn(clippy::match_single_binding)]` on by default [INFO] [stdout] help: consider using a `let` statement [INFO] [stdout] | [INFO] [stdout] 20 ~ let Case { pattern, proc, .. } = case; [INFO] [stdout] 21 + Ok((pattern, proc)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `bool` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_match_normalizer.rs:83:40 [INFO] [stdout] | [INFO] [stdout] 83 | connective_used: init_acc.3 || target_result.par.connective_used.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `target_result.par.connective_used` [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/rust/interpreter/compiler/normalizer/processes/p_method_normalizer.rs:43:30 [INFO] [stdout] | [INFO] [stdout] 43 | normalize_match_proc(&arg, acc.1.clone(), env).map(|proc_match_result| { [INFO] [stdout] | ^^^^ help: change this to: `arg` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_new_normalizer.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | proc: &Box, [INFO] [stdout] | ^^^^^^^^^^ help: try: `&Proc` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_new_normalizer.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | &proc, [INFO] [stdout] | ^^^^^ help: change this to: `proc` [INFO] [stdout] | [INFO] [stdout] = 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 unit return type [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:48:51 [INFO] [stdout] | [INFO] [stdout] 48 | pub type Contract = dyn Fn(Vec) -> (); [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `InvalidBlocks` [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | / pub fn new() -> Self { [INFO] [stdout] 57 | | InvalidBlocks { [INFO] [stdout] 58 | | invalid_blocks: Arc::new(RwLock::new(Par::default())), [INFO] [stdout] 59 | | } [INFO] [stdout] 60 | | } [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] 55 + impl Default for InvalidBlocks { [INFO] [stdout] 56 + fn default() -> Self { [INFO] [stdout] 57 + Self::new() [INFO] [stdout] 58 + } [INFO] [stdout] 59 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:62:50 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn set_params(&self, invalid_blocks: Par) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:242:18 [INFO] [stdout] | [INFO] [stdout] 242 | pub handler: Box< [INFO] [stdout] | __________________^ [INFO] [stdout] 243 | | dyn FnMut( [INFO] [stdout] 244 | | ProcessContext, [INFO] [stdout] 245 | | ) -> Box< [INFO] [stdout] ... | [INFO] [stdout] 250 | | >, [INFO] [stdout] 251 | | >, [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/rust/interpreter/system_processes.rs:261:18 [INFO] [stdout] | [INFO] [stdout] 261 | handler: Box< [INFO] [stdout] | __________________^ [INFO] [stdout] 262 | | dyn FnMut( [INFO] [stdout] 263 | | ProcessContext, [INFO] [stdout] 264 | | ) -> Box< [INFO] [stdout] ... | [INFO] [stdout] 269 | | >, [INFO] [stdout] 270 | | >, [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/rust/interpreter/system_processes.rs:286:10 [INFO] [stdout] | [INFO] [stdout] 286 | ) -> ( [INFO] [stdout] | __________^ [INFO] [stdout] 287 | | BodyRef, [INFO] [stdout] 288 | | Box< [INFO] [stdout] 289 | | dyn Fn( [INFO] [stdout] ... | [INFO] [stdout] 293 | | >, [INFO] [stdout] 294 | | ) { [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: using `clone` on type `Option` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:312:13 [INFO] [stdout] | [INFO] [stdout] 312 | self.remainder.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.remainder` [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 `i64` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:313:13 [INFO] [stdout] | [INFO] [stdout] 313 | self.body_ref.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.body_ref` [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/rust/interpreter/compiler/normalizer/processes/p_par_normalizer.rs:15:39 [INFO] [stdout] | [INFO] [stdout] 15 | let result = normalize_match_proc(&left, input.clone(), env)?; [INFO] [stdout] | ^^^^^ help: change this to: `left` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_par_normalizer.rs:22:44 [INFO] [stdout] | [INFO] [stdout] 22 | let chained_res = normalize_match_proc(&right, chained_input, env)?; [INFO] [stdout] | ^^^^^^ help: change this to: `right` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:691:13 [INFO] [stdout] | [INFO] [stdout] 691 | let data = block_data.read().unwrap(); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:698:46 [INFO] [stdout] | [INFO] [stdout] 698 | produce(output.clone(), ack.clone()).await?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:771:13 [INFO] [stdout] | [INFO] [stdout] 771 | let mut openai_service = self.openai_service.lock().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:772:75 [INFO] [stdout] | [INFO] [stdout] 772 | let response = match openai_service.gpt4_chat_completion(&prompt).await { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 775 | produce(vec![RhoString::create_par(prompt.clone())], ack.clone()).await?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 781 | produce(output.clone(), ack.clone()).await?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:808:13 [INFO] [stdout] | [INFO] [stdout] 808 | let mut openai_service = self.openai_service.lock().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:809:74 [INFO] [stdout] | [INFO] [stdout] 809 | let response = match openai_service.dalle3_create_image(&prompt).await { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 812 | produce(vec![RhoString::create_par(prompt.clone())], ack.clone()).await?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 818 | produce(output.clone(), ack.clone()).await?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:845:13 [INFO] [stdout] | [INFO] [stdout] 845 | let mut openai_service = self.openai_service.lock().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:848:14 [INFO] [stdout] | [INFO] [stdout] 848 | .await [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 852 | produce(vec![RhoString::create_par(input.clone())], ack.clone()).await?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:853:17 [INFO] [stdout] | [INFO] [stdout] 853 | return Err(e); [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] 853 - return Err(e); [INFO] [stdout] 853 + Err(e) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/processes/p_send_sync_normalizer.rs:177:9 [INFO] [stdout] | [INFO] [stdout] 159 | / let p_send_sync = Proc::SendSync { [INFO] [stdout] 160 | | name: rholang_ast::Name::ProcVar(Box::new(rholang_ast::Proc::Wildcard { [INFO] [stdout] 161 | | line_num: 0, [INFO] [stdout] 162 | | col_num: 0, [INFO] [stdout] ... | [INFO] [stdout] 174 | | col_num: 3, [INFO] [stdout] 175 | | }; [INFO] [stdout] | |__________- unnecessary `let` binding [INFO] [stdout] 176 | [INFO] [stdout] 177 | p_send_sync [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] 159 ~ [INFO] [stdout] 160 | [INFO] [stdout] 161 ~ Proc::SendSync { [INFO] [stdout] 162 + name: rholang_ast::Name::ProcVar(Box::new(rholang_ast::Proc::Wildcard { [INFO] [stdout] 163 + line_num: 0, [INFO] [stdout] 164 + col_num: 0, [INFO] [stdout] 165 + })), [INFO] [stdout] 166 + messages: rholang_ast::ProcList { [INFO] [stdout] 167 + procs: vec![], [INFO] [stdout] 168 + line_num: 1, [INFO] [stdout] 169 + col_num: 1, [INFO] [stdout] 170 + }, [INFO] [stdout] 171 + cont: rholang_ast::SyncSendCont::Empty { [INFO] [stdout] 172 + line_num: 2, [INFO] [stdout] 173 + col_num: 2, [INFO] [stdout] 174 + }, [INFO] [stdout] 175 + line_num: 3, [INFO] [stdout] 176 + col_num: 3, [INFO] [stdout] 177 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:1061:21 [INFO] [stdout] | [INFO] [stdout] 1061 | assert_eq!(condition, true, "{}", clue_msg(clue, attempt)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1061 - assert_eq!(condition, true, "{}", clue_msg(clue, attempt)); [INFO] [stdout] 1061 + assert!(condition, "{}", clue_msg(clue, attempt)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:1072:27 [INFO] [stdout] | [INFO] [stdout] 1072 | } else if let Some(_) = IsSetFinished::unapply(assert_par) { [INFO] [stdout] | -------^^^^^^^------------------------------------- help: try: `if IsSetFinished::unapply(assert_par).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:1240:41 [INFO] [stdout] | [INFO] [stdout] 1240 | ... let mut block_data = self.block_data.try_write().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:1247:86 [INFO] [stdout] | [INFO] [stdout] 1247 | ... produce(result_par.clone(), ack_channel.clone()).await?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:1255:41 [INFO] [stdout] | [INFO] [stdout] 1255 | ... let mut block_data = self.block_data.try_write().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:1260:86 [INFO] [stdout] | [INFO] [stdout] 1260 | ... produce(result_par.clone(), ack_channel.clone()).await?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:1289:25 [INFO] [stdout] | [INFO] [stdout] 1289 | let mut invalid_blocks_lock = invalid_blocks.invalid_blocks.write().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:1293:70 [INFO] [stdout] | [INFO] [stdout] 1293 | produce(result_par.clone(), ack_channel.clone()).await?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:1466:25 [INFO] [stdout] | [INFO] [stdout] 1466 | / if let Some(operator) = RhoString::unapply(operator_par) { [INFO] [stdout] 1467 | | Some((expected_par.clone(), operator, actual_par.clone())) [INFO] [stdout] 1468 | | } else { [INFO] [stdout] 1469 | | None [INFO] [stdout] 1470 | | } [INFO] [stdout] | |_________________________^ help: try: `RhoString::unapply(operator_par).map(|operator| (expected_par.clone(), operator, actual_par.clone()))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:1489:17 [INFO] [stdout] | [INFO] [stdout] 1489 | / if let Some(has_finished) = RhoBoolean::unapply(has_finished_par) { [INFO] [stdout] 1490 | | Some(has_finished) [INFO] [stdout] 1491 | | } else { [INFO] [stdout] 1492 | | None [INFO] [stdout] 1493 | | } [INFO] [stdout] | |_________________^ help: try: `RhoBoolean::unapply(has_finished_par).map(|has_finished| has_finished)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> src/rust/interpreter/test_utils/persistent_store_tester.rs:33:29 [INFO] [stdout] | [INFO] [stdout] 33 | let rspace: RhoISpace = Arc::new(Mutex::new(Box::new(space.clone()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc>>>` is not `Send` and `Sync` as `Mutex>>` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `Mutex>>` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/remainder_normalizer_matcher.rs:33:34 [INFO] [stdout] | [INFO] [stdout] 33 | match known_free.get(&name) { [INFO] [stdout] | ^^^^^ help: change this to: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/compiler/normalizer/remainder_normalizer_matcher.rs:79:37 [INFO] [stdout] | [INFO] [stdout] 79 | Some(pr) => handle_proc_var(&pr, known_free), [INFO] [stdout] | ^^^ help: change this to: `pr` [INFO] [stdout] | [INFO] [stdout] = 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/rust/interpreter/compiler/receive_binds_sort_matcher.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | binds: Vec<(Vec, Option, Par, FreeMap)>, [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: returning the result of a `let` binding from a block [INFO] [stdout] --> src/rust/interpreter/test_utils/utils.rs:68:13 [INFO] [stdout] | [INFO] [stdout] 63 | / let updated_bound_map_chain = input.bound_map_chain.put(( [INFO] [stdout] 64 | | name.to_string(), [INFO] [stdout] 65 | | vs_type, [INFO] [stdout] 66 | | SourcePosition { row: 0, column: 0 }, [INFO] [stdout] 67 | | )); [INFO] [stdout] | |_______________- unnecessary `let` binding [INFO] [stdout] 68 | updated_bound_map_chain [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] 63 ~ [INFO] [stdout] 64 ~ input.bound_map_chain.put(( [INFO] [stdout] 65 + name.to_string(), [INFO] [stdout] 66 + vs_type, [INFO] [stdout] 67 + SourcePosition { row: 0, column: 0 }, [INFO] [stdout] 68 + )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/rust/interpreter/test_utils/utils.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 85 | / let updated_bound_map_chain = input [INFO] [stdout] 86 | | .bound_map_chain [INFO] [stdout] 87 | | .put_all(bindings_with_default_positions); [INFO] [stdout] | |__________________________________________________________- unnecessary `let` binding [INFO] [stdout] 88 | updated_bound_map_chain [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] 85 ~ [INFO] [stdout] 86 ~ input [INFO] [stdout] 87 + .bound_map_chain [INFO] [stdout] 88 + .put_all(bindings_with_default_positions) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/rust/interpreter/compiler/receive_binds_sort_matcher.rs:53:20 [INFO] [stdout] | [INFO] [stdout] 53 | let binds: Vec<(Vec, Option, Par, FreeMap)> = 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: stripping a prefix manually [INFO] [stdout] --> src/rust/interpreter/util/address_tools.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | ð_address[2..] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the prefix was tested here [INFO] [stdout] --> src/rust/interpreter/util/address_tools.rs:61:42 [INFO] [stdout] | [INFO] [stdout] 61 | let eth_address_without_prefix = if eth_address.starts_with("0x") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_strip [INFO] [stdout] = note: `#[warn(clippy::manual_strip)]` on by default [INFO] [stdout] help: try using the `strip_prefix` method [INFO] [stdout] | [INFO] [stdout] 61 ~ let eth_address_without_prefix = if let Some() = eth_address.strip_prefix("0x") { [INFO] [stdout] 62 ~ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/rust/interpreter/util/rev_address.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | / match tools().from_public_key(pk) { [INFO] [stdout] 40 | | Some(address) => Some(RevAddress { address }), [INFO] [stdout] 41 | | None => None, [INFO] [stdout] 42 | | } [INFO] [stdout] | |_________^ help: try: `tools().from_public_key(pk).map(|address| RevAddress { address })` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/rust/interpreter/util/rev_address.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | / match tools().from_eth_address(eth_address) { [INFO] [stdout] 47 | | Some(address) => Some(RevAddress { address }), [INFO] [stdout] 48 | | None => None, [INFO] [stdout] 49 | | } [INFO] [stdout] | |_________^ help: try: `tools().from_eth_address(eth_address).map(|address| RevAddress { address })` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are needlessly cloning iterator elements [INFO] [stdout] --> src/rust/interpreter/mod.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | opt.map(|x| x.clone()).ok_or_else(|| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: remove the `map` call [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: useless conversion to the same type: `i64` [INFO] [stdout] --> src/lib.rs:74:37 [INFO] [stdout] | [INFO] [stdout] 74 | let initial_phlo = Cost::create(cost_proto.value.into(), cost_proto.operation); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `cost_proto.value` [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 unit return type [INFO] [stdout] --> src/lib.rs:150:2 [INFO] [stdout] | [INFO] [stdout] 150 | ) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/lib.rs:221:63 [INFO] [stdout] | [INFO] [stdout] 221 | .map(|peek| SortedSetElement { value: peek as i32 }) [INFO] [stdout] | ^^^^^^^^^^^ help: try: `peek` [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 (`i32` -> `i32`) [INFO] [stdout] --> src/lib.rs:250:55 [INFO] [stdout] | [INFO] [stdout] 250 | .map(|peek| SortedSetElement { value: peek as i32 }) [INFO] [stdout] | ^^^^^^^^^^^ help: try: `peek` [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 (`i32` -> `i32`) [INFO] [stdout] --> src/lib.rs:351:67 [INFO] [stdout] | [INFO] [stdout] 351 | ... .map(|peek| SortedSetElement { value: peek as i32 }) [INFO] [stdout] | ^^^^^^^^^^^ help: try: `peek` [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: unneeded unit return type [INFO] [stdout] --> src/lib.rs:455:2 [INFO] [stdout] | [INFO] [stdout] 455 | ) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/lib.rs:743:67 [INFO] [stdout] | [INFO] [stdout] 743 | ... .map(|peek| SortedSetElement { value: peek as i32 }) [INFO] [stdout] | ^^^^^^^^^^^ help: try: `peek` [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: unneeded unit return type [INFO] [stdout] --> src/lib.rs:867:2 [INFO] [stdout] | [INFO] [stdout] 867 | ) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/lib.rs:976:59 [INFO] [stdout] | [INFO] [stdout] 976 | .map(|peek| SortedSetElement { value: peek as i32 }) [INFO] [stdout] | ^^^^^^^^^^^ help: try: `peek` [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: unneeded unit return type [INFO] [stdout] --> src/lib.rs:1009:2 [INFO] [stdout] | [INFO] [stdout] 1009 | ) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/lib.rs:1033:2 [INFO] [stdout] | [INFO] [stdout] 1033 | ) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/rust/interpreter/compiler/rholang_ast.rs:757:17 [INFO] [stdout] | [INFO] [stdout] 757 | / match uri_value { [INFO] [stdout] 758 | | Some(value) => Some(UriLiteral { [INFO] [stdout] 759 | | value: value.to_string(), [INFO] [stdout] 760 | | line_num: 0, [INFO] [stdout] ... | [INFO] [stdout] 763 | | None => None, [INFO] [stdout] 764 | | } [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] 757 ~ uri_value.map(|value| UriLiteral { [INFO] [stdout] 758 + value: value.to_string(), [INFO] [stdout] 759 + line_num: 0, [INFO] [stdout] 760 + col_num: 0, [INFO] [stdout] 761 + }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/lib.rs:1088:63 [INFO] [stdout] | [INFO] [stdout] 1088 | .map(|peek| SortedSetElement { value: peek as i32 }) [INFO] [stdout] | ^^^^^^^^^^^ help: try: `peek` [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: unneeded unit return type [INFO] [stdout] --> src/lib.rs:1124:60 [INFO] [stdout] | [INFO] [stdout] 1124 | extern "C" fn set_cost_to_max(runtime_ptr: *mut RhoRuntime) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/lib.rs:1142:2 [INFO] [stdout] | [INFO] [stdout] 1142 | ) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/lib.rs:1248:68 [INFO] [stdout] | [INFO] [stdout] 1248 | extern "C" fn check_replay_data(runtime_ptr: *mut ReplayRhoRuntime) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/lib.rs:1349:63 [INFO] [stdout] | [INFO] [stdout] 1349 | extern "C" fn bootstrap_registry(runtime_ptr: *mut RhoRuntime) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rust/interpreter/accounting/costs.rs:284:31 [INFO] [stdout] | [INFO] [stdout] 284 | Some(storage_cost(&vec![body.unwrap()])) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[body.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/rust/interpreter/accounting/costs.rs:299:22 [INFO] [stdout] | [INFO] [stdout] 299 | storage_cost(&vec![channel]).value + storage_cost(&data.pars).value, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: you can use a slice directly: `&[channel]` [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/rust/interpreter/matcher/has_locally_free.rs:262:39 [INFO] [stdout] | [INFO] [stdout] 262 | create_bit_vector(&vec![index as usize]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[index as usize]` [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/rust/interpreter/matcher/has_locally_free.rs:354:39 [INFO] [stdout] | [INFO] [stdout] 354 | create_bit_vector(&vec![idx as usize]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[idx as usize]` [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/rust/interpreter/matcher/has_locally_free.rs:377:39 [INFO] [stdout] | [INFO] [stdout] 377 | create_bit_vector(&vec![index as usize]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[index as usize]` [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/rust/interpreter/matcher/has_locally_free.rs:577:39 [INFO] [stdout] | [INFO] [stdout] 577 | create_bit_vector(&vec![idx as usize]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[idx as usize]` [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: methods called `from_*` usually take no `self` [INFO] [stdout] --> src/rust/interpreter/compiler/utils.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | fn from_par(&self, p: Par) -> Expr; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider choosing a less ambiguous name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stdout] = note: `#[warn(clippy::wrong_self_convention)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `from_*` usually take no `self` [INFO] [stdout] --> src/rust/interpreter/compiler/utils.rs:12:18 [INFO] [stdout] | [INFO] [stdout] 12 | fn from_pars(&self, p1: Par, p2: Par) -> Expr; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider choosing a less ambiguous name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/contract_call.rs:63:25 [INFO] [stdout] | [INFO] [stdout] 63 | let mut space_lock = space.try_lock().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/contract_call.rs:97:34 [INFO] [stdout] | [INFO] [stdout] 97 | ... .await; [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] = note: `#[warn(clippy::await_holding_lock)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/contract_call.rs:81:33 [INFO] [stdout] | [INFO] [stdout] 81 | ... let dispatcher_lock = dispatcher.try_read().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/contract_call.rs:97:34 [INFO] [stdout] | [INFO] [stdout] 97 | ... .await; [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/dispatch.rs:71:43 [INFO] [stdout] | [INFO] [stdout] 71 | let dispatch_table = &self._dispatch_table.try_read().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/dispatch.rs:78:85 [INFO] [stdout] | [INFO] [stdout] 78 | ... let output = f((data_list, is_replay, previous_output)).await?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Env` [INFO] [stdout] --> src/rust/interpreter/env.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | / pub fn new() -> Env { [INFO] [stdout] 13 | | Env { [INFO] [stdout] 14 | | env_map: HashMap::new(), [INFO] [stdout] 15 | | level: 0, [INFO] [stdout] ... | [INFO] [stdout] 18 | | } [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] 11 + impl Default for Env { [INFO] [stdout] 12 + fn default() -> Self { [INFO] [stdout] 13 + Self::new() [INFO] [stdout] 14 + } [INFO] [stdout] 15 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/rust/interpreter/mod.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | pub mod interpreter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/interpreter.rs:70:17 [INFO] [stdout] | [INFO] [stdout] 70 | let mut merge_chs_lock = self.merge_chs.write().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/interpreter.rs:74:45 [INFO] [stdout] | [INFO] [stdout] 74 | match reducer.inj(parsed, rand).await { [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/rust/interpreter/interpreter.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | let _ = self.c.set(initial_phlo.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] = note: `#[warn(clippy::let_unit_value)]` on by default [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 50 - let _ = self.c.set(initial_phlo.clone()); [INFO] [stdout] 50 + self.c.set(initial_phlo.clone()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/rust/interpreter/interpreter.rs:52:13 [INFO] [stdout] | [INFO] [stdout] 52 | let _ = self.c.charge(parsing_cost.clone())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 52 - let _ = self.c.charge(parsing_cost.clone())?; [INFO] [stdout] 52 + self.c.charge(parsing_cost.clone())?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: parameter is only used in recursion [INFO] [stdout] --> src/rust/interpreter/matcher/fold_match.rs:65:40 [INFO] [stdout] | [INFO] [stdout] 65 | fn free_check(&self, trem: &[Par], level: i32, mut acc: Vec) -> Option> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_level` [INFO] [stdout] | [INFO] [stdout] note: parameter used here [INFO] [stdout] --> src/rust/interpreter/matcher/fold_match.rs:72:42 [INFO] [stdout] | [INFO] [stdout] 72 | self.free_check(rem, level, acc) [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#only_used_in_recursion [INFO] [stdout] = note: `#[warn(clippy::only_used_in_recursion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: parameter is only used in recursion [INFO] [stdout] --> src/rust/interpreter/matcher/fold_match.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | level: i32, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_level` [INFO] [stdout] | [INFO] [stdout] note: parameter used here [INFO] [stdout] --> src/rust/interpreter/matcher/fold_match.rs:127:42 [INFO] [stdout] | [INFO] [stdout] 127 | self.free_check(rem, level, acc) [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#only_used_in_recursion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Var` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/matcher/has_locally_free.rs:390:9 [INFO] [stdout] | [INFO] [stdout] 390 | v.clone() [INFO] [stdout] | ^^^^^^^^^ help: try removing the `clone` call: `v` [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 `Var` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/matcher/has_locally_free.rs:397:9 [INFO] [stdout] | [INFO] [stdout] 397 | v.clone() [INFO] [stdout] | ^^^^^^^^^ help: try removing the `clone` call: `v` [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 `Option` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/matcher/has_locally_free.rs:418:43 [INFO] [stdout] | [INFO] [stdout] 418 | Some(EVarBody(EVar { v })) => v.clone().unwrap().connective_used(v.unwrap()), [INFO] [stdout] | ^^^^^^^^^ help: try removing the `clone` call: `v` [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 `Option` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/matcher/has_locally_free.rs:492:43 [INFO] [stdout] | [INFO] [stdout] 492 | Some(EVarBody(EVar { v })) => v.clone().unwrap().locally_free(v.unwrap(), depth), [INFO] [stdout] | ^^^^^^^^^ help: try removing the `clone` call: `v` [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 `Option` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/matcher/match.rs:21:69 [INFO] [stdout] | [INFO] [stdout] 21 | spatial_matcher.fold_match(data.pars, pattern.patterns, pattern.remainder.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `pattern.remainder` [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/rust/interpreter/matcher/match_pars.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | && match_pars(&a.body.as_ref().unwrap(), &b.body.as_ref().unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `a.body.as_ref().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/matcher/match_pars.rs:25:50 [INFO] [stdout] | [INFO] [stdout] 25 | && match_pars(&a.body.as_ref().unwrap(), &b.body.as_ref().unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `b.body.as_ref().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/matcher/match_pars.rs:34:23 [INFO] [stdout] | [INFO] [stdout] 34 | && match_pars(&a.p.as_ref().unwrap(), &b.p.as_ref().unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `a.p.as_ref().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/matcher/match_pars.rs:34:47 [INFO] [stdout] | [INFO] [stdout] 34 | && match_pars(&a.p.as_ref().unwrap(), &b.p.as_ref().unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `b.p.as_ref().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/matcher/match_pars.rs:64:23 [INFO] [stdout] | [INFO] [stdout] 64 | && match_pars(&a.source.as_ref().unwrap(), &b.source.as_ref().unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `a.source.as_ref().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/matcher/match_pars.rs:64:52 [INFO] [stdout] | [INFO] [stdout] 64 | && match_pars(&a.source.as_ref().unwrap(), &b.source.as_ref().unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `b.source.as_ref().unwrap()` [INFO] [stdout] | [INFO] [stdout] = 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 unit return type [INFO] [stdout] --> src/rust/interpreter/matcher/maximum_bipartite_match.rs:143:29 [INFO] [stdout] | [INFO] [stdout] 143 | fn reset_seen(&mut self) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/rust/interpreter/matcher/maximum_bipartite_match.rs:151:52 [INFO] [stdout] | [INFO] [stdout] 151 | fn add_seen(&mut self, candidate: Candidate) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/rust/interpreter/matcher/maximum_bipartite_match.rs:159:90 [INFO] [stdout] | [INFO] [stdout] 159 | fn claim_match(&mut self, candidate: Candidate, pattern: Pattern, result: R) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/rust/interpreter/matcher/par_count.rs:93:43 [INFO] [stdout] | [INFO] [stdout] 93 | Some(EVarBody(EVar { v })) => match v.as_ref().unwrap().var_instance { [INFO] [stdout] | ___________________________________________^ [INFO] [stdout] 94 | | Some(Wildcard(_)) => true, [INFO] [stdout] 95 | | Some(FreeVar(_)) => true, [INFO] [stdout] 96 | | _ => false, [INFO] [stdout] 97 | | }, [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 93 - Some(EVarBody(EVar { v })) => match v.as_ref().unwrap().var_instance { [INFO] [stdout] 94 - Some(Wildcard(_)) => true, [INFO] [stdout] 95 - Some(FreeVar(_)) => true, [INFO] [stdout] 96 - _ => false, [INFO] [stdout] 97 - }, [INFO] [stdout] 93 + Some(EVarBody(EVar { v })) => matches!(v.as_ref().unwrap().var_instance, Some(Wildcard(_)) | Some(FreeVar(_))), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `SpatialMatcherContext` [INFO] [stdout] --> src/rust/interpreter/matcher/spatial_matcher.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | / pub fn new() -> Self { [INFO] [stdout] 42 | | SpatialMatcherContext { [INFO] [stdout] 43 | | free_map: new_free_map(), [INFO] [stdout] 44 | | } [INFO] [stdout] 45 | | } [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] 40 + impl Default for SpatialMatcherContext { [INFO] [stdout] 41 + fn default() -> Self { [INFO] [stdout] 42 + Self::new() [INFO] [stdout] 43 + } [INFO] [stdout] 44 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/rust/interpreter/matcher/spatial_matcher.rs:96:17 [INFO] [stdout] | [INFO] [stdout] 90 | / let all_matches = connective_body.ps.into_iter().find_map(|p| { [INFO] [stdout] 91 | | let matches = self.free_map.clone(); [INFO] [stdout] 92 | | self.spatial_match(target.clone(), p)?; [INFO] [stdout] 93 | | self.free_map = matches; [INFO] [stdout] 94 | | Some(()) [INFO] [stdout] 95 | | }); [INFO] [stdout] | |___________________- unnecessary `let` binding [INFO] [stdout] 96 | all_matches [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] 90 ~ [INFO] [stdout] 91 ~ connective_body.ps.into_iter().find_map(|p| { [INFO] [stdout] 92 + let matches = self.free_map.clone(); [INFO] [stdout] 93 + self.spatial_match(target.clone(), p)?; [INFO] [stdout] 94 + self.free_map = matches; [INFO] [stdout] 95 + Some(()) [INFO] [stdout] 96 + }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be written as a `let` statement [INFO] [stdout] --> src/rust/interpreter/matcher/spatial_matcher.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | / let has_or_body = match &p { [INFO] [stdout] 102 | | Par { connectives, .. } => connectives [INFO] [stdout] 103 | | .iter() [INFO] [stdout] 104 | | .any(|c| matches!(c.connective_instance, Some(ConnOrBody(_)))), [INFO] [stdout] 105 | | }; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] help: consider using a `let` statement [INFO] [stdout] | [INFO] [stdout] 101 ~ let Par { connectives, .. } = &p; [INFO] [stdout] 102 + let has_or_body = connectives [INFO] [stdout] 103 + .iter() [INFO] [stdout] 104 + .any(|c| matches!(c.connective_instance, Some(ConnOrBody(_)))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/rust/interpreter/matcher/spatial_matcher.rs:225:42 [INFO] [stdout] | [INFO] [stdout] 225 | let max_rem = if wildcard || !var_level.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `var_level.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/rust/interpreter/matcher/spatial_matcher.rs:250:42 [INFO] [stdout] | [INFO] [stdout] 250 | let connectives_with_bounds: Vec<( [INFO] [stdout] | __________________________________________^ [INFO] [stdout] 251 | | &Connective, [INFO] [stdout] 252 | | &(ParCount, ParCount), [INFO] [stdout] 253 | | &(ParCount, ParCount), [INFO] [stdout] 254 | | )> = filtered_pattern [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: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/rust/interpreter/matcher/spatial_matcher.rs:291:23 [INFO] [stdout] | [INFO] [stdout] 291 | |acc, &(ref connective, ref bounds1, ref bounds2)| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] = note: `#[warn(clippy::needless_borrowed_reference)]` on by default [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 291 - |acc, &(ref connective, ref bounds1, ref bounds2)| { [INFO] [stdout] 291 + |acc, (connective, bounds1, bounds2)| { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern creates a reference to a reference [INFO] [stdout] --> src/rust/interpreter/matcher/spatial_matcher.rs:291:25 [INFO] [stdout] | [INFO] [stdout] 291 | |acc, &(ref connective, ref bounds1, ref bounds2)| { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 291 ~ |acc, &(connective, ref bounds1, ref bounds2)| { [INFO] [stdout] 292 | match_connective_with_bounds( [INFO] [stdout] ... [INFO] [stdout] 295 | ( [INFO] [stdout] 296 ~ connective.clone(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern creates a reference to a reference [INFO] [stdout] --> src/rust/interpreter/matcher/spatial_matcher.rs:291:41 [INFO] [stdout] | [INFO] [stdout] 291 | |acc, &(ref connective, ref bounds1, ref bounds2)| { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 291 ~ |acc, &(ref connective, bounds1, ref bounds2)| { [INFO] [stdout] 292 | match_connective_with_bounds( [INFO] [stdout] ... [INFO] [stdout] 296 | (*connective).clone(), [INFO] [stdout] 297 ~ bounds1.clone(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern creates a reference to a reference [INFO] [stdout] --> src/rust/interpreter/matcher/spatial_matcher.rs:291:54 [INFO] [stdout] | [INFO] [stdout] 291 | |acc, &(ref connective, ref bounds1, ref bounds2)| { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 291 ~ |acc, &(ref connective, ref bounds1, bounds2)| { [INFO] [stdout] 292 | match_connective_with_bounds( [INFO] [stdout] ... [INFO] [stdout] 297 | (*bounds1).clone(), [INFO] [stdout] 298 ~ bounds2.clone(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/matcher/spatial_matcher.rs:444:65 [INFO] [stdout] | [INFO] [stdout] 444 | let matched_rem = self.fold_match(tlist, plist, rem.clone())?; [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `rem` [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: match expression looks like `matches!` macro [INFO] [stdout] --> src/rust/interpreter/matcher/spatial_matcher.rs:500:35 [INFO] [stdout] | [INFO] [stdout] 500 | let is_wildcard = match rem { [INFO] [stdout] | ___________________________________^ [INFO] [stdout] 501 | | Some(Var { [INFO] [stdout] 502 | | var_instance: Some(Wildcard(_)), [INFO] [stdout] 503 | | }) => true, [INFO] [stdout] 504 | | _ => false, [INFO] [stdout] 505 | | }; [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 500 ~ let is_wildcard = matches!(rem, Some(Var { [INFO] [stdout] 501 + var_instance: Some(Wildcard(_)), [INFO] [stdout] 502 ~ })); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/rust/interpreter/matcher/spatial_matcher.rs:549:35 [INFO] [stdout] | [INFO] [stdout] 549 | let is_wildcard = match rem { [INFO] [stdout] | ___________________________________^ [INFO] [stdout] 550 | | Some(Var { [INFO] [stdout] 551 | | var_instance: Some(Wildcard(_)), [INFO] [stdout] 552 | | }) => true, [INFO] [stdout] 553 | | _ => false, [INFO] [stdout] 554 | | }; [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 549 ~ let is_wildcard = matches!(rem, Some(Var { [INFO] [stdout] 550 + var_instance: Some(Wildcard(_)), [INFO] [stdout] 551 ~ })); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/rust/interpreter/matcher/sub_pars.rs:201:5 [INFO] [stdout] | [INFO] [stdout] 159 | / let result = min_max_subsets(&par.sends, send_min, send_max) [INFO] [stdout] 160 | | .into_iter() [INFO] [stdout] 161 | | .cartesian_product(min_max_subsets(&par.receives, receive_min, receive_max).into_iter()) [INFO] [stdout] 162 | | .cartesian_product(min_max_subsets(&par.news, new_min, new_max).into_iter()) [INFO] [stdout] ... | [INFO] [stdout] 198 | | }, [INFO] [stdout] 199 | | ); [INFO] [stdout] | |__________- unnecessary `let` binding [INFO] [stdout] 200 | [INFO] [stdout] 201 | result [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] 159 ~ [INFO] [stdout] 160 | [INFO] [stdout] 161 ~ min_max_subsets(&par.sends, send_min, send_max) [INFO] [stdout] 162 + .into_iter() [INFO] [stdout] 163 + .cartesian_product(min_max_subsets(&par.receives, receive_min, receive_max).into_iter()) [INFO] [stdout] 164 + .cartesian_product(min_max_subsets(&par.news, new_min, new_max).into_iter()) [INFO] [stdout] 165 + .cartesian_product(min_max_subsets(&par.exprs, expr_min, expr_max).into_iter()) [INFO] [stdout] 166 + .cartesian_product(min_max_subsets(&par.matches, match_min, match_max).into_iter()) [INFO] [stdout] 167 + .cartesian_product(min_max_subsets(&par.unforgeables, unf_min, unf_max).into_iter()) [INFO] [stdout] 168 + .cartesian_product(min_max_subsets(&par.bundles, bundle_min, bundle_max).into_iter()) [INFO] [stdout] 169 + .map( [INFO] [stdout] 170 + |( [INFO] [stdout] 171 + (((((sub_sends, sub_receives), sub_news), sub_exprs), sub_matches), sub_unfs), [INFO] [stdout] 172 + sub_bundles, [INFO] [stdout] 173 + )| { [INFO] [stdout] 174 + ( [INFO] [stdout] 175 + Par { [INFO] [stdout] 176 + sends: sub_sends.0, [INFO] [stdout] 177 + receives: sub_receives.0, [INFO] [stdout] 178 + news: sub_news.0, [INFO] [stdout] 179 + exprs: sub_exprs.0, [INFO] [stdout] 180 + matches: sub_matches.0, [INFO] [stdout] 181 + unforgeables: sub_unfs.0, [INFO] [stdout] 182 + bundles: sub_bundles.0, [INFO] [stdout] 183 + connectives: Vec::default(), [INFO] [stdout] 184 + locally_free: Vec::default(), [INFO] [stdout] 185 + connective_used: false, [INFO] [stdout] 186 + }, [INFO] [stdout] 187 + Par { [INFO] [stdout] 188 + sends: sub_sends.1, [INFO] [stdout] 189 + receives: sub_receives.1, [INFO] [stdout] 190 + news: sub_news.1, [INFO] [stdout] 191 + exprs: sub_exprs.1, [INFO] [stdout] 192 + matches: sub_matches.1, [INFO] [stdout] 193 + unforgeables: sub_unfs.1, [INFO] [stdout] 194 + bundles: sub_bundles.1, [INFO] [stdout] 195 + connectives: Vec::default(), [INFO] [stdout] 196 + locally_free: Vec::default(), [INFO] [stdout] 197 + connective_used: false, [INFO] [stdout] 198 + }, [INFO] [stdout] 199 + ) [INFO] [stdout] 200 + }, [INFO] [stdout] 201 + ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/rust/interpreter/matcher/sub_pars.rs:114:29 [INFO] [stdout] | [INFO] [stdout] 114 | if max_size < 0 { [INFO] [stdout] | _____________________________^ [INFO] [stdout] 115 | | vec![] [INFO] [stdout] 116 | | } else if min_size > max_size { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/rust/interpreter/matcher/sub_pars.rs:116:43 [INFO] [stdout] | [INFO] [stdout] 116 | } else if min_size > max_size { [INFO] [stdout] | ___________________________________________^ [INFO] [stdout] 117 | | vec![] [INFO] [stdout] 118 | | } else if min_size <= 0 { [INFO] [stdout] | |_____________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/rust/interpreter/matcher/sub_pars.rs:161:28 [INFO] [stdout] | [INFO] [stdout] 161 | .cartesian_product(min_max_subsets(&par.receives, receive_min, receive_max).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.10.5/src/lib.rs:1081:18 [INFO] [stdout] | [INFO] [stdout] 1081 | J: 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] 161 - .cartesian_product(min_max_subsets(&par.receives, receive_min, receive_max).into_iter()) [INFO] [stdout] 161 + .cartesian_product(min_max_subsets(&par.receives, receive_min, receive_max)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/rust/interpreter/matcher/sub_pars.rs:162:28 [INFO] [stdout] | [INFO] [stdout] 162 | .cartesian_product(min_max_subsets(&par.news, new_min, new_max).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.10.5/src/lib.rs:1081:18 [INFO] [stdout] | [INFO] [stdout] 1081 | J: 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] 162 - .cartesian_product(min_max_subsets(&par.news, new_min, new_max).into_iter()) [INFO] [stdout] 162 + .cartesian_product(min_max_subsets(&par.news, new_min, new_max)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/rust/interpreter/matcher/sub_pars.rs:163:28 [INFO] [stdout] | [INFO] [stdout] 163 | .cartesian_product(min_max_subsets(&par.exprs, expr_min, expr_max).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.10.5/src/lib.rs:1081:18 [INFO] [stdout] | [INFO] [stdout] 1081 | J: 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] 163 - .cartesian_product(min_max_subsets(&par.exprs, expr_min, expr_max).into_iter()) [INFO] [stdout] 163 + .cartesian_product(min_max_subsets(&par.exprs, expr_min, expr_max)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/rust/interpreter/matcher/sub_pars.rs:164:28 [INFO] [stdout] | [INFO] [stdout] 164 | .cartesian_product(min_max_subsets(&par.matches, match_min, match_max).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.10.5/src/lib.rs:1081:18 [INFO] [stdout] | [INFO] [stdout] 1081 | J: 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] 164 - .cartesian_product(min_max_subsets(&par.matches, match_min, match_max).into_iter()) [INFO] [stdout] 164 + .cartesian_product(min_max_subsets(&par.matches, match_min, match_max)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/rust/interpreter/matcher/sub_pars.rs:165:28 [INFO] [stdout] | [INFO] [stdout] 165 | .cartesian_product(min_max_subsets(&par.unforgeables, unf_min, unf_max).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.10.5/src/lib.rs:1081:18 [INFO] [stdout] | [INFO] [stdout] 1081 | J: 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] 165 - .cartesian_product(min_max_subsets(&par.unforgeables, unf_min, unf_max).into_iter()) [INFO] [stdout] 165 + .cartesian_product(min_max_subsets(&par.unforgeables, unf_min, unf_max)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/rust/interpreter/matcher/sub_pars.rs:166:28 [INFO] [stdout] | [INFO] [stdout] 166 | .cartesian_product(min_max_subsets(&par.bundles, bundle_min, bundle_max).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.10.5/src/lib.rs:1081:18 [INFO] [stdout] | [INFO] [stdout] 1081 | J: 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] 166 - .cartesian_product(min_max_subsets(&par.bundles, bundle_min, bundle_max).into_iter()) [INFO] [stdout] 166 + .cartesian_product(min_max_subsets(&par.bundles, bundle_min, bundle_max)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `OpenAIService` [INFO] [stdout] --> src/rust/interpreter/openai_service.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | / pub fn new() -> Self { [INFO] [stdout] 21 | | dotenv().ok(); [INFO] [stdout] 22 | | let api_key = env::var("OPENAI_API_KEY").unwrap_or_else(|_| { [INFO] [stdout] 23 | | println!("Failed to load OPENAI_API_KEY environment variable, using default key '123'"); [INFO] [stdout] ... | [INFO] [stdout] 32 | | Self { client } [INFO] [stdout] 33 | | } [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] 19 + impl Default for OpenAIService { [INFO] [stdout] 20 + fn default() -> Self { [INFO] [stdout] 21 + Self::new() [INFO] [stdout] 22 + } [INFO] [stdout] 23 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `PrettyPrinter` [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | / pub fn new() -> Self { [INFO] [stdout] 33 | | PrettyPrinter::create(0, 0) [INFO] [stdout] 34 | | } [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] 31 + impl Default for PrettyPrinter { [INFO] [stdout] 32 + fn default() -> Self { [INFO] [stdout] 33 + Self::new() [INFO] [stdout] 34 + } [INFO] [stdout] 35 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:86:18 [INFO] [stdout] | [INFO] [stdout] 86 | self.cap(&str) [INFO] [stdout] | ^^^^ help: change this to: `str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:407:21 [INFO] [stdout] | [INFO] [stdout] 407 | result.push_str("}"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `result.push('}')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] = note: `#[warn(clippy::single_char_add_str)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:475:21 [INFO] [stdout] | [INFO] [stdout] 475 | None => format!(""), [INFO] [stdout] | ^^^^^^^^^^^ help: consider using `String::new()`: `String::new()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` can be collapsed into the outer `match` [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:517:39 [INFO] [stdout] | [INFO] [stdout] 517 | Some(instance) => match instance { [INFO] [stdout] | _______________________________________^ [INFO] [stdout] 518 | | ExprInstance::EVarBody(EVar { v }) => match v { [INFO] [stdout] 519 | | Some(v) => match &v.var_instance { [INFO] [stdout] 520 | | Some(instance) => match instance { [INFO] [stdout] ... | [INFO] [stdout] 533 | | _ => false, [INFO] [stdout] 534 | | }, [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:517:26 [INFO] [stdout] | [INFO] [stdout] 517 | Some(instance) => match instance { [INFO] [stdout] | ^^^^^^^^ replace this binding [INFO] [stdout] 518 | ExprInstance::EVarBody(EVar { v }) => match v { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` can be collapsed into the outer `match` [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:518:63 [INFO] [stdout] | [INFO] [stdout] 518 | ExprInstance::EVarBody(EVar { v }) => match v { [INFO] [stdout] | _______________________________________________________________^ [INFO] [stdout] 519 | | Some(v) => match &v.var_instance { [INFO] [stdout] 520 | | Some(instance) => match instance { [INFO] [stdout] 521 | | VarInstance::BoundVar(level) => PrettyPrinter::is_new_var( [INFO] [stdout] ... | [INFO] [stdout] 530 | | None => false, [INFO] [stdout] 531 | | }, [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:518:55 [INFO] [stdout] | [INFO] [stdout] 518 | ExprInstance::EVarBody(EVar { v }) => match v { [INFO] [stdout] | ^ replace this binding [INFO] [stdout] 519 | Some(v) => match &v.var_instance { [INFO] [stdout] | ^^^^^^^ with this pattern, prefixed by `v: ` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` can be collapsed into the outer `match` [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:520:51 [INFO] [stdout] | [INFO] [stdout] 520 | ... Some(instance) => match instance { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 521 | | ... VarInstance::BoundVar(level) => PrettyPrinter::is_new_var( [INFO] [stdout] 522 | | ... &level, [INFO] [stdout] 523 | | ... news_shift_indices, [INFO] [stdout] ... | [INFO] [stdout] 526 | | ... _ => false, [INFO] [stdout] 527 | | ... }, [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:520:38 [INFO] [stdout] | [INFO] [stdout] 520 | ... Some(instance) => match instance { [INFO] [stdout] | ^^^^^^^^ replace this binding [INFO] [stdout] 521 | ... VarInstance::BoundVar(level) => PrettyPrinter::is_new_var( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:522:41 [INFO] [stdout] | [INFO] [stdout] 522 | ... &level, [INFO] [stdout] | ^^^^^^ help: change this to: `level` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:613:29 [INFO] [stdout] | [INFO] [stdout] 613 | / ... &bind [INFO] [stdout] 614 | | ... .source [INFO] [stdout] 615 | | ... .as_ref() [INFO] [stdout] 616 | | ... .expect("source field on bind was None, should be Some"), [INFO] [stdout] | |__________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 613 ~ bind [INFO] [stdout] 614 + .source [INFO] [stdout] 615 + .as_ref() [INFO] [stdout] 616 ~ .expect("source field on bind was None, should be Some"), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:632:13 [INFO] [stdout] | [INFO] [stdout] 632 | self.bound_shift = self.bound_shift + totally_free; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.bound_shift += totally_free` [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: manual implementation of an assign operation [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:672:21 [INFO] [stdout] | [INFO] [stdout] 672 | self.bound_shift = self.bound_shift + n.bind_count; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.bound_shift += n.bind_count` [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: usage of `Iterator::fold` on a type that implements `Try` [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:700:44 [INFO] [stdout] | [INFO] [stdout] 700 | m.cases.iter().enumerate().fold( [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 701 | | Ok(String::new()), [INFO] [stdout] 702 | | |acc: Result, (i, match_case)| { [INFO] [stdout] 703 | | let string = acc?; [INFO] [stdout] ... | [INFO] [stdout] 714 | | )? [INFO] [stdout] | |_________________^ help: use `try_fold` instead: `try_fold(String::new(), |acc: Result, (i, match_case)| ...)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_try_fold [INFO] [stdout] = note: `#[warn(clippy::manual_try_fold)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:982:13 [INFO] [stdout] | [INFO] [stdout] 980 | let new_char = ((char_id as u8 + 1 - b'a') % 26 + b'a') as char; [INFO] [stdout] | ---------------------------------------------------------------- unnecessary `let` binding [INFO] [stdout] 981 | [INFO] [stdout] 982 | new_char [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] 980 ~ [INFO] [stdout] 981 | [INFO] [stdout] 982 ~ ((char_id as u8 + 1 - b'a') % 26 + b'a') as char [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:1003:17 [INFO] [stdout] | [INFO] [stdout] 1001 | let new_char = ((char as u8 + self.rotation as u8 - b'a') % 26 + b'a') as char; [INFO] [stdout] | ------------------------------------------------------------------------------- unnecessary `let` binding [INFO] [stdout] 1002 | [INFO] [stdout] 1003 | new_char [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] 1001 ~ [INFO] [stdout] 1002 | [INFO] [stdout] 1003 ~ ((char as u8 + self.rotation as u8 - b'a') % 26 + b'a') as char [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/rust/interpreter/pretty_printer.rs:1015:32 [INFO] [stdout] | [INFO] [stdout] 1015 | fn build_vec(&mut self, s: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 1015 - fn build_vec(&mut self, s: &Vec) -> String { [INFO] [stdout] 1015 + fn build_vec(&mut self, s: &[Par]) -> String { [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/rust/interpreter/pretty_printer.rs:1029:43 [INFO] [stdout] | [INFO] [stdout] 1029 | fn build_pattern(&mut self, patterns: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 1029 - fn build_pattern(&mut self, patterns: &Vec) -> String { [INFO] [stdout] 1029 + fn build_pattern(&mut self, patterns: &[Par]) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/rust/interpreter/pretty_printer.rs:1071:17 [INFO] [stdout] | [INFO] [stdout] 1071 | self.bound_shift = self.bound_shift + pattern_free; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.bound_shift += pattern_free` [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: match expression looks like `matches!` macro [INFO] [stdout] --> src/rust/interpreter/reduce.rs:119:44 [INFO] [stdout] | [INFO] [stdout] 119 | Some(expr_instance) => match expr_instance { [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 120 | | ExprInstance::EVarBody(_) => true, [INFO] [stdout] 121 | | ExprInstance::EMethodBody(_) => true, [INFO] [stdout] 122 | | _ => false, [INFO] [stdout] 123 | | }, [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 119 - Some(expr_instance) => match expr_instance { [INFO] [stdout] 120 - ExprInstance::EVarBody(_) => true, [INFO] [stdout] 121 - ExprInstance::EMethodBody(_) => true, [INFO] [stdout] 122 - _ => false, [INFO] [stdout] 123 - }, [INFO] [stdout] 119 + Some(expr_instance) => matches!(expr_instance, ExprInstance::EVarBody(_) | ExprInstance::EMethodBody(_)), [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/rust/interpreter/reduce.rs:138:20 [INFO] [stdout] | [INFO] [stdout] 138 | terms: &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] 138 - terms: &Vec, [INFO] [stdout] 138 + terms: &[GeneratedMessage], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/rust/interpreter/reduce.rs:160:26 [INFO] [stdout] | [INFO] [stdout] 160 | let futures: 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 `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/reduce.rs:211:13 [INFO] [stdout] | [INFO] [stdout] 211 | let mut space_locked = self.space.try_lock().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/reduce.rs:228:22 [INFO] [stdout] | [INFO] [stdout] 228 | .await?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/reduce.rs:266:13 [INFO] [stdout] | [INFO] [stdout] 266 | let mut space_locked = self.space.try_lock().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/reduce.rs:295:10 [INFO] [stdout] | [INFO] [stdout] 295 | .await [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/rust/interpreter/reduce.rs:319:38 [INFO] [stdout] | [INFO] [stdout] 319 | let mut futures: Vec< [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 320 | | Pin< [INFO] [stdout] 321 | | Box< [INFO] [stdout] 322 | | dyn futures::Future>, [INFO] [stdout] 323 | | >, [INFO] [stdout] 324 | | >, [INFO] [stdout] 325 | | > = vec![Box::pin(self.dispatch( [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/rust/interpreter/reduce.rs:344:38 [INFO] [stdout] | [INFO] [stdout] 344 | let mut futures: Vec< [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 345 | | Pin< [INFO] [stdout] 346 | | Box< [INFO] [stdout] 347 | | dyn futures::Future>, [INFO] [stdout] 348 | | >, [INFO] [stdout] 349 | | >, [INFO] [stdout] 350 | | > = vec![Box::pin(self.dispatch( [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/rust/interpreter/reduce.rs:376:5 [INFO] [stdout] | [INFO] [stdout] 376 | / async fn continue_consume_process( [INFO] [stdout] 377 | | &self, [INFO] [stdout] 378 | | res: Application, [INFO] [stdout] 379 | | binds: Vec<(BindPattern, Par)>, [INFO] [stdout] ... | [INFO] [stdout] 384 | | previous_output: Vec>, [INFO] [stdout] 385 | | ) -> 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] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/rust/interpreter/reduce.rs:399:38 [INFO] [stdout] | [INFO] [stdout] 399 | let mut futures: Vec< [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 400 | | Pin< [INFO] [stdout] 401 | | Box< [INFO] [stdout] 402 | | dyn futures::Future>, [INFO] [stdout] 403 | | >, [INFO] [stdout] 404 | | >, [INFO] [stdout] 405 | | > = vec![Box::pin(self.dispatch( [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/rust/interpreter/reduce.rs:424:38 [INFO] [stdout] | [INFO] [stdout] 424 | let mut futures: Vec< [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 425 | | Pin< [INFO] [stdout] 426 | | Box< [INFO] [stdout] 427 | | dyn futures::Future>, [INFO] [stdout] 428 | | >, [INFO] [stdout] 429 | | >, [INFO] [stdout] 430 | | > = vec![Box::pin(self.dispatch( [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 `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/reduce.rs:464:32 [INFO] [stdout] | [INFO] [stdout] 464 | let dispatcher_lock = &self.dispatcher.try_read().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/reduce.rs:473:14 [INFO] [stdout] | [INFO] [stdout] 473 | .await [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/rust/interpreter/reduce.rs:496:52 [INFO] [stdout] | [INFO] [stdout] 496 | fn update_mergeable_channels(&self, chan: &Par) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` can be collapsed into the outer `match` [INFO] [stdout] --> src/rust/interpreter/reduce.rs:511:40 [INFO] [stdout] | [INFO] [stdout] 511 | Some(expr_instance) => match expr_instance { [INFO] [stdout] | ________________________________________^ [INFO] [stdout] 512 | | ExprInstance::ETupleBody(etuple) => etuple.ps.clone(), [INFO] [stdout] 513 | | _ => ETuple::default().ps, [INFO] [stdout] 514 | | }, [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/rust/interpreter/reduce.rs:511:22 [INFO] [stdout] | [INFO] [stdout] 511 | Some(expr_instance) => match expr_instance { [INFO] [stdout] | ^^^^^^^^^^^^^ replace this binding [INFO] [stdout] 512 | ExprInstance::ETupleBody(etuple) => etuple.ps.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/rust/interpreter/reduce.rs:519:9 [INFO] [stdout] | [INFO] [stdout] 519 | / tuple_elms [INFO] [stdout] 520 | | .first() [INFO] [stdout] 521 | | .map_or(false, |head| head == &self.mergeable_tag_name) [INFO] [stdout] | |___________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use a standard comparison instead [INFO] [stdout] | [INFO] [stdout] 519 ~ tuple_elms [INFO] [stdout] 520 + .first() == Some(&self.mergeable_tag_name) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `EVar` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/reduce.rs:568:50 [INFO] [stdout] | [INFO] [stdout] 568 | let res = self.eval_var(&e.clone().v.unwrap(), &env)?; [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `(*e)` [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/rust/interpreter/reduce.rs:568:72 [INFO] [stdout] | [INFO] [stdout] 568 | let res = self.eval_var(&e.clone().v.unwrap(), &env)?; [INFO] [stdout] | ^^^^ help: change this to: `env` [INFO] [stdout] | [INFO] [stdout] = 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 use of `format!` [INFO] [stdout] --> src/rust/interpreter/reduce.rs:585:61 [INFO] [stdout] | [INFO] [stdout] 585 | None => Err(InterpreterError::BugFoundError(format!( [INFO] [stdout] | _____________________________________________________________^ [INFO] [stdout] 586 | | "Undefined term, expr_instance was None" [INFO] [stdout] 587 | | ))), [INFO] [stdout] | |_________________^ help: consider using `.to_string()`: `"Undefined term, expr_instance was None".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/rust/interpreter/reduce.rs:798:37 [INFO] [stdout] | [INFO] [stdout] 798 | / ... let eval_result = self [INFO] [stdout] 799 | | ... .eval( [INFO] [stdout] 800 | | ... single_case.source.clone().unwrap(), [INFO] [stdout] 801 | | ... &add_to_env( [INFO] [stdout] ... | [INFO] [stdout] 808 | | ... .await?; [INFO] [stdout] | |__________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding and replace variable usages with `()` [INFO] [stdout] | [INFO] [stdout] 798 ~ self [INFO] [stdout] 799 | .eval( [INFO] [stdout] ... [INFO] [stdout] 809 | [INFO] [stdout] 810 ~ return Ok(()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/reduce.rs:820:44 [INFO] [stdout] | [INFO] [stdout] 820 | let evaled_target = self.eval_expr(&mat.target.as_ref().unwrap(), env)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `mat.target.as_ref().unwrap()` [INFO] [stdout] | [INFO] [stdout] = 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: `std::ops::Range` [INFO] [stdout] --> src/rust/interpreter/reduce.rs:847:17 [INFO] [stdout] | [INFO] [stdout] 847 | / (0..(count - urns.len())) [INFO] [stdout] 848 | | .into_iter() [INFO] [stdout] | |________________________________^ help: consider removing `.into_iter()`: `(0..(count - urns.len()))` [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/rust/interpreter/reduce.rs:1058:47 [INFO] [stdout] | [INFO] [stdout] 1058 | let b = self.eval_to_bool(&enot.p.as_ref().unwrap(), env)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `enot.p.as_ref().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/reduce.rs:1065:46 [INFO] [stdout] | [INFO] [stdout] 1065 | let v = self.eval_to_i64(&eneg.p.as_ref().unwrap(), env)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `eneg.p.as_ref().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: order comparisons between booleans can be simplified [INFO] [stdout] --> src/rust/interpreter/reduce.rs:1205:46 [INFO] [stdout] | [INFO] [stdout] 1205 | |b1: bool, b2: bool| b1 < b2, [INFO] [stdout] | ^^^^^^^ help: try: `!b1 & b2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_comparison)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: order comparisons between booleans can be simplified [INFO] [stdout] --> src/rust/interpreter/reduce.rs:1227:46 [INFO] [stdout] | [INFO] [stdout] 1227 | |b1: bool, b2: bool| b1 > b2, [INFO] [stdout] | ^^^^^^^ help: try: `b1 & !b2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/rust/interpreter/reduce.rs:1343:68 [INFO] [stdout] | [INFO] [stdout] 1343 | ... _ => Err(InterpreterError::ReduceError(format!( [INFO] [stdout] | ______________________________________________________________^ [INFO] [stdout] 1344 | | ... "Error: interpolation Map should only contain String keys" [INFO] [stdout] 1345 | | ... ))), [INFO] [stdout] | |_______________________^ help: consider using `.to_string()`: `"Error: interpolation Map should only contain String keys".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/rust/interpreter/reduce.rs:1445:59 [INFO] [stdout] | [INFO] [stdout] 1445 | ... lhs.into_iter().chain(rhs.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/91021ccc790478a1a89c003e7d32b8d155ae6aae/library/core/src/iter/traits/iterator.rs:510:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 1445 - lhs.into_iter().chain(rhs.into_iter()).collect(), [INFO] [stdout] 1445 + lhs.into_iter().chain(rhs).collect(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/rust/interpreter/reduce.rs:1454:66 [INFO] [stdout] | [INFO] [stdout] 1454 | ... ps: lhs.ps.into_iter().chain(rhs.ps.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/91021ccc790478a1a89c003e7d32b8d155ae6aae/library/core/src/iter/traits/iterator.rs:510:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 1454 - ps: lhs.ps.into_iter().chain(rhs.ps.into_iter()).collect(), [INFO] [stdout] 1454 + ps: lhs.ps.into_iter().chain(rhs.ps).collect(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/reduce.rs:1565:44 [INFO] [stdout] | [INFO] [stdout] 1565 | let p = self.eval_var(&v.clone().unwrap(), env)?; [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `(*v)` [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/rust/interpreter/reduce.rs:1669:56 [INFO] [stdout] | [INFO] [stdout] 1669 | let evaled_target = self.eval_expr(&target.as_ref().unwrap(), env)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `target.as_ref().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/rust/interpreter/reduce.rs:1740:37 [INFO] [stdout] | [INFO] [stdout] 1740 | ... let b = bs[nth] & 0xff; // Convert to unsigned; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `bs[nth]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] = note: `#[warn(clippy::identity_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:1770:25 [INFO] [stdout] | [INFO] [stdout] 1770 | / return Err(InterpreterError::ReduceError(format!( [INFO] [stdout] 1771 | | "Error thrown when serializing: {}", [INFO] [stdout] 1772 | | err [INFO] [stdout] 1773 | | ))); [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] 1770 ~ Err(InterpreterError::ReduceError(format!( [INFO] [stdout] 1771 + "Error thrown when serializing: {}", [INFO] [stdout] 1772 + err [INFO] [stdout] 1773 ~ ))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:1828:21 [INFO] [stdout] | [INFO] [stdout] 1828 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 1829 | | method: String::from("hexToBytes"), [INFO] [stdout] 1830 | | expected: 0, [INFO] [stdout] 1831 | | actual: args.len(), [INFO] [stdout] 1832 | | }); [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] 1828 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 1829 + method: String::from("hexToBytes"), [INFO] [stdout] 1830 + expected: 0, [INFO] [stdout] 1831 + actual: args.len(), [INFO] [stdout] 1832 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:1875:21 [INFO] [stdout] | [INFO] [stdout] 1875 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 1876 | | method: String::from("bytesToHex"), [INFO] [stdout] 1877 | | expected: 0, [INFO] [stdout] 1878 | | actual: args.len(), [INFO] [stdout] 1879 | | }); [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] 1875 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 1876 + method: String::from("bytesToHex"), [INFO] [stdout] 1877 + expected: 0, [INFO] [stdout] 1878 + actual: args.len(), [INFO] [stdout] 1879 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:1922:21 [INFO] [stdout] | [INFO] [stdout] 1922 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 1923 | | method: String::from("toUtf8Bytes"), [INFO] [stdout] 1924 | | expected: 0, [INFO] [stdout] 1925 | | actual: args.len(), [INFO] [stdout] 1926 | | }); [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] 1922 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 1923 + method: String::from("toUtf8Bytes"), [INFO] [stdout] 1924 + expected: 0, [INFO] [stdout] 1925 + actual: args.len(), [INFO] [stdout] 1926 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `as_str` is redundant and can be removed as the method immediately following exists on `String` too [INFO] [stdout] --> src/rust/interpreter/reduce.rs:1935:53 [INFO] [stdout] | [INFO] [stdout] 1935 | ... utf8_string.as_str().as_bytes().to_vec(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `as_bytes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_as_str [INFO] [stdout] = note: `#[warn(clippy::redundant_as_str)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:2037:21 [INFO] [stdout] | [INFO] [stdout] 2037 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2038 | | method: String::from("union"), [INFO] [stdout] 2039 | | expected: 1, [INFO] [stdout] 2040 | | actual: args.len(), [INFO] [stdout] 2041 | | }); [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] 2037 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2038 + method: String::from("union"), [INFO] [stdout] 2039 + expected: 1, [INFO] [stdout] 2040 + actual: args.len(), [INFO] [stdout] 2041 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::collections::hash_set::Difference<'_, f1r3fly_models::rhoapi::Par, std::hash::RandomState>` [INFO] [stdout] --> src/rust/interpreter/reduce.rs:2083:29 [INFO] [stdout] | [INFO] [stdout] 2083 | / ... base_sorted_pars_set [INFO] [stdout] 2084 | | ... .difference(&other_sorted_pars_set) [INFO] [stdout] 2085 | | ... .into_iter() [INFO] [stdout] | |______________________________________^ [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 `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 2083 ~ base_sorted_pars_set [INFO] [stdout] 2084 + .difference(&other_sorted_pars_set) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:2135:21 [INFO] [stdout] | [INFO] [stdout] 2135 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2136 | | method: String::from("diff"), [INFO] [stdout] 2137 | | expected: 1, [INFO] [stdout] 2138 | | actual: args.len(), [INFO] [stdout] 2139 | | }); [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] 2135 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2136 + method: String::from("diff"), [INFO] [stdout] 2137 + expected: 1, [INFO] [stdout] 2138 + actual: args.len(), [INFO] [stdout] 2139 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:2200:21 [INFO] [stdout] | [INFO] [stdout] 2200 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2201 | | method: String::from("add"), [INFO] [stdout] 2202 | | expected: 1, [INFO] [stdout] 2203 | | actual: args.len(), [INFO] [stdout] 2204 | | }); [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] 2200 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2201 + method: String::from("add"), [INFO] [stdout] 2202 + expected: 1, [INFO] [stdout] 2203 + actual: args.len(), [INFO] [stdout] 2204 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:2283:21 [INFO] [stdout] | [INFO] [stdout] 2283 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2284 | | method: String::from("delete"), [INFO] [stdout] 2285 | | expected: 1, [INFO] [stdout] 2286 | | actual: args.len(), [INFO] [stdout] 2287 | | }); [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] 2283 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2284 + method: String::from("delete"), [INFO] [stdout] 2285 + expected: 1, [INFO] [stdout] 2286 + actual: args.len(), [INFO] [stdout] 2287 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:2349:21 [INFO] [stdout] | [INFO] [stdout] 2349 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2350 | | method: String::from("contains"), [INFO] [stdout] 2351 | | expected: 1, [INFO] [stdout] 2352 | | actual: args.len(), [INFO] [stdout] 2353 | | }); [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] 2349 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2350 + method: String::from("contains"), [INFO] [stdout] 2351 + expected: 1, [INFO] [stdout] 2352 + actual: args.len(), [INFO] [stdout] 2353 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:2403:21 [INFO] [stdout] | [INFO] [stdout] 2403 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2404 | | method: String::from("get"), [INFO] [stdout] 2405 | | expected: 1, [INFO] [stdout] 2406 | | actual: args.len(), [INFO] [stdout] 2407 | | }); [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] 2403 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2404 + method: String::from("get"), [INFO] [stdout] 2405 + expected: 1, [INFO] [stdout] 2406 + actual: args.len(), [INFO] [stdout] 2407 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:2462:21 [INFO] [stdout] | [INFO] [stdout] 2462 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2463 | | method: String::from("get_or_else"), [INFO] [stdout] 2464 | | expected: 2, [INFO] [stdout] 2465 | | actual: args.len(), [INFO] [stdout] 2466 | | }); [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] 2462 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2463 + method: String::from("get_or_else"), [INFO] [stdout] 2464 + expected: 2, [INFO] [stdout] 2465 + actual: args.len(), [INFO] [stdout] 2466 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:2528:21 [INFO] [stdout] | [INFO] [stdout] 2528 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2529 | | method: String::from("set"), [INFO] [stdout] 2530 | | expected: 2, [INFO] [stdout] 2531 | | actual: args.len(), [INFO] [stdout] 2532 | | }); [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] 2528 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2529 + method: String::from("set"), [INFO] [stdout] 2530 + expected: 2, [INFO] [stdout] 2531 + actual: args.len(), [INFO] [stdout] 2532 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:2589:21 [INFO] [stdout] | [INFO] [stdout] 2589 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2590 | | method: String::from("keys"), [INFO] [stdout] 2591 | | expected: 0, [INFO] [stdout] 2592 | | actual: args.len(), [INFO] [stdout] 2593 | | }); [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] 2589 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2590 + method: String::from("keys"), [INFO] [stdout] 2591 + expected: 0, [INFO] [stdout] 2592 + actual: args.len(), [INFO] [stdout] 2593 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:2651:21 [INFO] [stdout] | [INFO] [stdout] 2651 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2652 | | method: String::from("size"), [INFO] [stdout] 2653 | | expected: 0, [INFO] [stdout] 2654 | | actual: args.len(), [INFO] [stdout] 2655 | | }); [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] 2651 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2652 + method: String::from("size"), [INFO] [stdout] 2653 + expected: 0, [INFO] [stdout] 2654 + actual: args.len(), [INFO] [stdout] 2655 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:2705:21 [INFO] [stdout] | [INFO] [stdout] 2705 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2706 | | method: String::from("length"), [INFO] [stdout] 2707 | | expected: 0, [INFO] [stdout] 2708 | | actual: args.len(), [INFO] [stdout] 2709 | | }); [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] 2705 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2706 + method: String::from("length"), [INFO] [stdout] 2707 + expected: 0, [INFO] [stdout] 2708 + actual: args.len(), [INFO] [stdout] 2709 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:2793:21 [INFO] [stdout] | [INFO] [stdout] 2793 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2794 | | method: String::from("slice"), [INFO] [stdout] 2795 | | expected: 2, [INFO] [stdout] 2796 | | actual: args.len(), [INFO] [stdout] 2797 | | }); [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] 2793 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2794 + method: String::from("slice"), [INFO] [stdout] 2795 + expected: 2, [INFO] [stdout] 2796 + actual: args.len(), [INFO] [stdout] 2797 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:2856:21 [INFO] [stdout] | [INFO] [stdout] 2856 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2857 | | method: String::from("take"), [INFO] [stdout] 2858 | | expected: 1, [INFO] [stdout] 2859 | | actual: args.len(), [INFO] [stdout] 2860 | | }); [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] 2856 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2857 + method: String::from("take"), [INFO] [stdout] 2858 + expected: 1, [INFO] [stdout] 2859 + actual: args.len(), [INFO] [stdout] 2860 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:2967:21 [INFO] [stdout] | [INFO] [stdout] 2967 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2968 | | method: String::from("to_list"), [INFO] [stdout] 2969 | | expected: 0, [INFO] [stdout] 2970 | | actual: args.len(), [INFO] [stdout] 2971 | | }); [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] 2967 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 2968 + method: String::from("to_list"), [INFO] [stdout] 2969 + expected: 0, [INFO] [stdout] 2970 + actual: args.len(), [INFO] [stdout] 2971 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:3059:21 [INFO] [stdout] | [INFO] [stdout] 3059 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 3060 | | method: String::from("to_set"), [INFO] [stdout] 3061 | | expected: 0, [INFO] [stdout] 3062 | | actual: args.len(), [INFO] [stdout] 3063 | | }); [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] 3059 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 3060 + method: String::from("to_set"), [INFO] [stdout] 3061 + expected: 0, [INFO] [stdout] 3062 + actual: args.len(), [INFO] [stdout] 3063 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/rust/interpreter/reduce.rs:3089:40 [INFO] [stdout] | [INFO] [stdout] 3089 | ps.into_iter().map(|p| RhoTuple2::unapply(p)).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `RhoTuple2::unapply` [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: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:3163:21 [INFO] [stdout] | [INFO] [stdout] 3163 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 3164 | | method: String::from("to_map"), [INFO] [stdout] 3165 | | expected: 0, [INFO] [stdout] 3166 | | actual: args.len(), [INFO] [stdout] 3167 | | }); [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] 3163 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 3164 + method: String::from("to_map"), [INFO] [stdout] 3165 + expected: 0, [INFO] [stdout] 3166 + actual: args.len(), [INFO] [stdout] 3167 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/reduce.rs:3212:21 [INFO] [stdout] | [INFO] [stdout] 3212 | / return Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 3213 | | method: String::from("to_map"), [INFO] [stdout] 3214 | | expected: 0, [INFO] [stdout] 3215 | | actual: args.len(), [INFO] [stdout] 3216 | | }); [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] 3212 ~ Err(InterpreterError::MethodArgumentNumberMismatch { [INFO] [stdout] 3213 + method: String::from("to_map"), [INFO] [stdout] 3214 + expected: 0, [INFO] [stdout] 3215 + actual: args.len(), [INFO] [stdout] 3216 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/reduce.rs:3268:50 [INFO] [stdout] | [INFO] [stdout] 3268 | [e] => Ok(self.eval_expr_to_expr(&e, env)?), [INFO] [stdout] | ^^ help: change this to: `e` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/reduce.rs:3328:63 [INFO] [stdout] | [INFO] [stdout] 3328 | let p = self.eval_var(&unwrap_option_safe(v.clone())?, env)?; [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*v` [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/rust/interpreter/reduce.rs:3333:57 [INFO] [stdout] | [INFO] [stdout] 3333 | let evaled = self.eval_expr_to_expr(&e, env)?; [INFO] [stdout] | ^^ help: change this to: `e` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/reduce.rs:3381:63 [INFO] [stdout] | [INFO] [stdout] 3381 | let p = self.eval_var(&unwrap_option_safe(v.clone())?, env)?; [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*v` [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/rust/interpreter/reduce.rs:3386:57 [INFO] [stdout] | [INFO] [stdout] 3386 | let evaled = self.eval_expr_to_expr(&e, env)?; [INFO] [stdout] | ^^ help: change this to: `e` [INFO] [stdout] | [INFO] [stdout] = 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/rust/interpreter/reduce.rs:3470:31 [INFO] [stdout] | [INFO] [stdout] 3470 | .fold(Vec::new(), |acc, locally_free| union(acc, locally_free)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `union` [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/rust/interpreter/reduce.rs:3480:31 [INFO] [stdout] | [INFO] [stdout] 3480 | .fold(Vec::new(), |acc, locally_free| union(acc, locally_free)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `union` [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: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> src/rust/interpreter/reduce.rs:3520:26 [INFO] [stdout] | [INFO] [stdout] 3520 | let dispatcher = Arc::new(RwLock::new(RholangAndScalaDispatcher { [INFO] [stdout] | __________________________^ [INFO] [stdout] 3521 | | _dispatch_table: Arc::new(RwLock::new(HashMap::new())), [INFO] [stdout] 3522 | | reducer: None, [INFO] [stdout] 3523 | | })); [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc>` is not `Send` and `Sync` as `RwLock` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `RwLock` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] = note: `#[warn(clippy::arc_with_non_send_sync)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> src/rust/interpreter/reduce.rs:3521:30 [INFO] [stdout] | [INFO] [stdout] 3521 | _dispatch_table: Arc::new(RwLock::new(HashMap::new())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc, bool, Vec)) -> Pin, InterpreterError>>>>>>>>` is not `Send` and `Sync` as `RwLock, bool, Vec)) -> Pin, InterpreterError>>>>>>>` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `RwLock, bool, Vec)) -> Pin, InterpreterError>>>>>>>` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/rust/interpreter/registry/mod.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod registry; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> src/rust/interpreter/registry/registry.rs:27:23 [INFO] [stdout] | [INFO] [stdout] 27 | rem = (shift_rem ^ 0x4805) as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(shift_rem ^ 0x4805)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> src/rust/interpreter/registry/registry.rs:29:23 [INFO] [stdout] | [INFO] [stdout] 29 | rem = shift_rem as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `shift_rem` [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: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:252:9 [INFO] [stdout] | [INFO] [stdout] 252 | / Arc::new(Mutex::new(RhoRuntimeImpl { [INFO] [stdout] 253 | | reducer, [INFO] [stdout] 254 | | cost, [INFO] [stdout] 255 | | block_data_ref, [INFO] [stdout] 256 | | invalid_blocks_param, [INFO] [stdout] 257 | | merge_chs, [INFO] [stdout] 258 | | })) [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc>` is not `Send` and `Sync` as `Mutex` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `Mutex` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:329:6 [INFO] [stdout] | [INFO] [stdout] 329 | ) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:358:46 [INFO] [stdout] | [INFO] [stdout] 358 | fn reset(&mut self, root: Blake2b256Hash) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:394:52 [INFO] [stdout] | [INFO] [stdout] 394 | fn set_block_data(&self, block_data: BlockData) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:399:80 [INFO] [stdout] | [INFO] [stdout] 399 | fn set_invalid_blocks(&self, invalid_blocks: HashMap) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:775:29 [INFO] [stdout] | [INFO] [stdout] 775 | extra_system_processes: &mut 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] 775 - extra_system_processes: &mut Vec, [INFO] [stdout] 775 + extra_system_processes: &mut [Definition], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:798:5 [INFO] [stdout] | [INFO] [stdout] 798 | Arc::new(RwLock::new(dispatch_table)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc, bool, Vec)) -> Pin, InterpreterError>>>>>>>>` is not `Send` and `Sync` as `RwLock, bool, Vec)) -> Pin, InterpreterError>>>>>>>` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `RwLock, bool, Vec)) -> Pin, InterpreterError>>>>>>>` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:834:1 [INFO] [stdout] | [INFO] [stdout] 834 | / fn setup_reducer( [INFO] [stdout] 835 | | charging_rspace: RhoISpace, [INFO] [stdout] 836 | | block_data_ref: Arc>, [INFO] [stdout] 837 | | invalid_blocks: InvalidBlocks, [INFO] [stdout] ... | [INFO] [stdout] 843 | | cost: _cost, [INFO] [stdout] 844 | | ) -> DebruijnInterpreter { [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: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:847:22 [INFO] [stdout] | [INFO] [stdout] 847 | let dispatcher = Arc::new(RwLock::new(RholangAndScalaDispatcher { [INFO] [stdout] | ______________________^ [INFO] [stdout] 848 | | _dispatch_table: Arc::new(RwLock::new(HashMap::new())), [INFO] [stdout] 849 | | reducer: None, [INFO] [stdout] 850 | | })); [INFO] [stdout] | |_______^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc>` is not `Send` and `Sync` as `RwLock` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `RwLock` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:848:26 [INFO] [stdout] | [INFO] [stdout] 848 | _dispatch_table: Arc::new(RwLock::new(HashMap::new())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc, bool, Vec)) -> Pin, InterpreterError>>>>>>>>` is not `Send` and `Sync` as `RwLock, bool, Vec)) -> Pin, InterpreterError>>>>>>>` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `RwLock, bool, Vec)) -> Pin, InterpreterError>>>>>>>` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:879:6 [INFO] [stdout] | [INFO] [stdout] 879 | ) -> ( [INFO] [stdout] | ______^ [INFO] [stdout] 880 | | Arc>, [INFO] [stdout] 881 | | InvalidBlocks, [INFO] [stdout] 882 | | HashMap, [INFO] [stdout] 883 | | Vec<(Name, Arity, Remainder, BodyRef)>, [INFO] [stdout] 884 | | ) { [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: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:878:29 [INFO] [stdout] | [INFO] [stdout] 878 | extra_system_processes: &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] 878 - extra_system_processes: &Vec, [INFO] [stdout] 878 + extra_system_processes: &[Definition], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:928:45 [INFO] [stdout] | [INFO] [stdout] 928 | let maps_and_refs = setup_maps_and_refs(&extra_system_processes); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `extra_system_processes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:933:38 [INFO] [stdout] | [INFO] [stdout] 933 | let charging_rspace: RhoISpace = Arc::new(Mutex::new(Box::new( [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 934 | | ChargingRSpace::charging_rspace(rspace, cost.clone()), [INFO] [stdout] 935 | | ))); [INFO] [stdout] | |_______^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc>>>` is not `Send` and `Sync` as `Mutex>>` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `Mutex>>` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:965:9 [INFO] [stdout] | [INFO] [stdout] 965 | let runtime_lock = runtime.try_lock().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:975:47 [INFO] [stdout] | [INFO] [stdout] 975 | runtime_lock.inj(ast(), Env::new(), rand).await.unwrap(); [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:967:5 [INFO] [stdout] | [INFO] [stdout] 967 | / let _ = runtime_lock [INFO] [stdout] 968 | | .cost() [INFO] [stdout] 969 | | .set(Cost::create(i64::MAX, "bootstrap registry".to_string())); [INFO] [stdout] | |_______________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 967 - let _ = runtime_lock [INFO] [stdout] 967 + runtime_lock [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/rust/interpreter/rho_runtime.rs:980:5 [INFO] [stdout] | [INFO] [stdout] 980 | let _ = runtime_lock.cost().set(Cost::create_from_cost(cost)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 980 - let _ = runtime_lock.cost().set(Cost::create_from_cost(cost)); [INFO] [stdout] 980 + runtime_lock.cost().set(Cost::create_from_cost(cost)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if let` can be collapsed into the outer `if let` [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | / if let Expr { [INFO] [stdout] 17 | | expr_instance: Some(ExprInstance::GByteArray(bs)), [INFO] [stdout] 18 | | } = expr [INFO] [stdout] ... | [INFO] [stdout] 21 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 15 | if let Some(expr) = single_expr(p) { [INFO] [stdout] | ^^^^ replace this binding [INFO] [stdout] 16 | if let Expr { [INFO] [stdout] | ____________________^ [INFO] [stdout] 17 | | expr_instance: Some(ExprInstance::GByteArray(bs)), [INFO] [stdout] 18 | | } = expr [INFO] [stdout] | |_____________^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if let` can be collapsed into the outer `if let` [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | / if let Expr { [INFO] [stdout] 39 | | expr_instance: Some(ExprInstance::GString(str)), [INFO] [stdout] 40 | | } = expr [INFO] [stdout] ... | [INFO] [stdout] 43 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:37:21 [INFO] [stdout] | [INFO] [stdout] 37 | if let Some(expr) = single_expr(p) { [INFO] [stdout] | ^^^^ replace this binding [INFO] [stdout] 38 | if let Expr { [INFO] [stdout] | ____________________^ [INFO] [stdout] 39 | | expr_instance: Some(ExprInstance::GString(str)), [INFO] [stdout] 40 | | } = expr [INFO] [stdout] | |_____________^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if let` can be collapsed into the outer `if let` [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:66:13 [INFO] [stdout] | [INFO] [stdout] 66 | / if let Expr { [INFO] [stdout] 67 | | expr_instance: Some(ExprInstance::GBool(b)), [INFO] [stdout] 68 | | } = expr [INFO] [stdout] ... | [INFO] [stdout] 71 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:65:21 [INFO] [stdout] | [INFO] [stdout] 65 | if let Some(expr) = single_expr(p) { [INFO] [stdout] | ^^^^ replace this binding [INFO] [stdout] 66 | if let Expr { [INFO] [stdout] | ____________________^ [INFO] [stdout] 67 | | expr_instance: Some(ExprInstance::GBool(b)), [INFO] [stdout] 68 | | } = expr [INFO] [stdout] | |_____________^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if let` can be collapsed into the outer `if let` [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | / if let Expr { [INFO] [stdout] 89 | | expr_instance: Some(ExprInstance::GInt(v)), [INFO] [stdout] 90 | | } = expr [INFO] [stdout] ... | [INFO] [stdout] 93 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:87:21 [INFO] [stdout] | [INFO] [stdout] 87 | if let Some(expr) = single_expr(&p) { [INFO] [stdout] | ^^^^ replace this binding [INFO] [stdout] 88 | if let Expr { [INFO] [stdout] | ____________________^ [INFO] [stdout] 89 | | expr_instance: Some(ExprInstance::GInt(v)), [INFO] [stdout] 90 | | } = expr [INFO] [stdout] | |_____________^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:87:41 [INFO] [stdout] | [INFO] [stdout] 87 | if let Some(expr) = single_expr(&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 `if let` can be collapsed into the outer `if let` [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:114:13 [INFO] [stdout] | [INFO] [stdout] 114 | / if let Expr { [INFO] [stdout] 115 | | expr_instance: Some(ExprInstance::ETupleBody(ETuple { ps, .. })), [INFO] [stdout] 116 | | } = expr [INFO] [stdout] ... | [INFO] [stdout] 123 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:113:21 [INFO] [stdout] | [INFO] [stdout] 113 | if let Some(expr) = single_expr(&p) { [INFO] [stdout] | ^^^^ replace this binding [INFO] [stdout] 114 | if let Expr { [INFO] [stdout] | ____________________^ [INFO] [stdout] 115 | | expr_instance: Some(ExprInstance::ETupleBody(ETuple { ps, .. })), [INFO] [stdout] 116 | | } = expr [INFO] [stdout] | |_____________^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if let` can be collapsed into the outer `if let` [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | / if let Expr { [INFO] [stdout] 141 | | expr_instance: Some(ExprInstance::GUri(s)), [INFO] [stdout] 142 | | } = expr [INFO] [stdout] ... | [INFO] [stdout] 145 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:139:21 [INFO] [stdout] | [INFO] [stdout] 139 | if let Some(expr) = single_expr(&p) { [INFO] [stdout] | ^^^^ replace this binding [INFO] [stdout] 140 | if let Expr { [INFO] [stdout] | ____________________^ [INFO] [stdout] 141 | | expr_instance: Some(ExprInstance::GUri(s)), [INFO] [stdout] 142 | | } = expr [INFO] [stdout] | |_____________^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:139:41 [INFO] [stdout] | [INFO] [stdout] 139 | if let Some(expr) = single_expr(&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 `if let` can be collapsed into the outer `if let` [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:164:13 [INFO] [stdout] | [INFO] [stdout] 164 | / if let GUnforgeable { [INFO] [stdout] 165 | | unf_instance: Some(UnfInstance::GDeployerIdBody(id)), [INFO] [stdout] 166 | | } = expr [INFO] [stdout] ... | [INFO] [stdout] 169 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:163:21 [INFO] [stdout] | [INFO] [stdout] 163 | if let Some(expr) = single_unforgeable(&p) { [INFO] [stdout] | ^^^^ replace this binding [INFO] [stdout] 164 | if let GUnforgeable { [INFO] [stdout] | ____________________^ [INFO] [stdout] 165 | | unf_instance: Some(UnfInstance::GDeployerIdBody(id)), [INFO] [stdout] 166 | | } = expr [INFO] [stdout] | |_____________^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:163:48 [INFO] [stdout] | [INFO] [stdout] 163 | if let Some(expr) = single_unforgeable(&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 `if let` can be collapsed into the outer `if let` [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:186:13 [INFO] [stdout] | [INFO] [stdout] 186 | / if let GUnforgeable { [INFO] [stdout] 187 | | unf_instance: Some(UnfInstance::GPrivateBody(gprivate)), [INFO] [stdout] 188 | | } = expr [INFO] [stdout] ... | [INFO] [stdout] 191 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:185:21 [INFO] [stdout] | [INFO] [stdout] 185 | if let Some(expr) = single_unforgeable(&p) { [INFO] [stdout] | ^^^^ replace this binding [INFO] [stdout] 186 | if let GUnforgeable { [INFO] [stdout] | ____________________^ [INFO] [stdout] 187 | | unf_instance: Some(UnfInstance::GPrivateBody(gprivate)), [INFO] [stdout] 188 | | } = expr [INFO] [stdout] | |_____________^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:185:48 [INFO] [stdout] | [INFO] [stdout] 185 | if let Some(expr) = single_unforgeable(&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 `if let` can be collapsed into the outer `if let` [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:232:13 [INFO] [stdout] | [INFO] [stdout] 232 | / if let GUnforgeable { [INFO] [stdout] 233 | | unf_instance: Some(UnfInstance::GSysAuthTokenBody(token)), [INFO] [stdout] 234 | | } = expr [INFO] [stdout] ... | [INFO] [stdout] 237 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:231:21 [INFO] [stdout] | [INFO] [stdout] 231 | if let Some(expr) = single_unforgeable(&p) { [INFO] [stdout] | ^^^^ replace this binding [INFO] [stdout] 232 | if let GUnforgeable { [INFO] [stdout] | ____________________^ [INFO] [stdout] 233 | | unf_instance: Some(UnfInstance::GSysAuthTokenBody(token)), [INFO] [stdout] 234 | | } = expr [INFO] [stdout] | |_____________^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rust/interpreter/rho_type.rs:231:48 [INFO] [stdout] | [INFO] [stdout] 231 | if let Some(expr) = single_unforgeable(&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: unneeded unit return type [INFO] [stdout] --> src/rust/interpreter/storage/charging_rspace.rs:233:59 [INFO] [stdout] | [INFO] [stdout] 233 | fn update_produce(&mut self, produce: Produce) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/rust/interpreter/storage/charging_rspace.rs:313:14 [INFO] [stdout] | [INFO] [stdout] 313 | .zip(cont.channels.into_iter()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/91021ccc790478a1a89c003e7d32b8d155ae6aae/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] 313 - .zip(cont.channels.into_iter()) [INFO] [stdout] 313 + .zip(cont.channels) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/rust/interpreter/storage/storage_printer.rs:36:35 [INFO] [stdout] | [INFO] [stdout] 36 | .fold(Par::default(), |acc, par| concatenate_pars(acc, par)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `concatenate_pars` [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: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/rust/interpreter/storage/storage_printer.rs:65:15 [INFO] [stdout] | [INFO] [stdout] 65 | channels: &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] 65 - channels: &Vec, [INFO] [stdout] 65 + channels: &[Par], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/storage/storage_printer.rs:82:32 [INFO] [stdout] | [INFO] [stdout] 82 | remainder: pattern.remainder.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `pattern.remainder` [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 `Var` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/substitute.rs:116:38 [INFO] [stdout] | [INFO] [stdout] 116 | match unwrap_option_safe(term.clone().var_instance)? { [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `term` [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 `VarRef` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/substitute.rs:244:61 [INFO] [stdout] | [INFO] [stdout] 244 | match self.maybe_substitute_var_ref(v.clone(), depth, env)? { [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*v` [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 unit return type [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:48:51 [INFO] [stdout] | [INFO] [stdout] 48 | pub type Contract = dyn Fn(Vec) -> (); [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `InvalidBlocks` [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | / pub fn new() -> Self { [INFO] [stdout] 57 | | InvalidBlocks { [INFO] [stdout] 58 | | invalid_blocks: Arc::new(RwLock::new(Par::default())), [INFO] [stdout] 59 | | } [INFO] [stdout] 60 | | } [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] 55 + impl Default for InvalidBlocks { [INFO] [stdout] 56 + fn default() -> Self { [INFO] [stdout] 57 + Self::new() [INFO] [stdout] 58 + } [INFO] [stdout] 59 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:62:50 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn set_params(&self, invalid_blocks: Par) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:242:18 [INFO] [stdout] | [INFO] [stdout] 242 | pub handler: Box< [INFO] [stdout] | __________________^ [INFO] [stdout] 243 | | dyn FnMut( [INFO] [stdout] 244 | | ProcessContext, [INFO] [stdout] 245 | | ) -> Box< [INFO] [stdout] ... | [INFO] [stdout] 250 | | >, [INFO] [stdout] 251 | | >, [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/rust/interpreter/system_processes.rs:261:18 [INFO] [stdout] | [INFO] [stdout] 261 | handler: Box< [INFO] [stdout] | __________________^ [INFO] [stdout] 262 | | dyn FnMut( [INFO] [stdout] 263 | | ProcessContext, [INFO] [stdout] 264 | | ) -> Box< [INFO] [stdout] ... | [INFO] [stdout] 269 | | >, [INFO] [stdout] 270 | | >, [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/rust/interpreter/system_processes.rs:286:10 [INFO] [stdout] | [INFO] [stdout] 286 | ) -> ( [INFO] [stdout] | __________^ [INFO] [stdout] 287 | | BodyRef, [INFO] [stdout] 288 | | Box< [INFO] [stdout] 289 | | dyn Fn( [INFO] [stdout] ... | [INFO] [stdout] 293 | | >, [INFO] [stdout] 294 | | ) { [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: using `clone` on type `Option` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:312:13 [INFO] [stdout] | [INFO] [stdout] 312 | self.remainder.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.remainder` [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 `i64` which implements the `Copy` trait [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:313:13 [INFO] [stdout] | [INFO] [stdout] 313 | self.body_ref.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.body_ref` [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 `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:691:13 [INFO] [stdout] | [INFO] [stdout] 691 | let data = block_data.read().unwrap(); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:698:46 [INFO] [stdout] | [INFO] [stdout] 698 | produce(output.clone(), ack.clone()).await?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:771:13 [INFO] [stdout] | [INFO] [stdout] 771 | let mut openai_service = self.openai_service.lock().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:772:75 [INFO] [stdout] | [INFO] [stdout] 772 | let response = match openai_service.gpt4_chat_completion(&prompt).await { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 775 | produce(vec![RhoString::create_par(prompt.clone())], ack.clone()).await?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 781 | produce(output.clone(), ack.clone()).await?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:808:13 [INFO] [stdout] | [INFO] [stdout] 808 | let mut openai_service = self.openai_service.lock().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:809:74 [INFO] [stdout] | [INFO] [stdout] 809 | let response = match openai_service.dalle3_create_image(&prompt).await { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 812 | produce(vec![RhoString::create_par(prompt.clone())], ack.clone()).await?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 818 | produce(output.clone(), ack.clone()).await?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:845:13 [INFO] [stdout] | [INFO] [stdout] 845 | let mut openai_service = self.openai_service.lock().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:848:14 [INFO] [stdout] | [INFO] [stdout] 848 | .await [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 852 | produce(vec![RhoString::create_par(input.clone())], ack.clone()).await?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:853:17 [INFO] [stdout] | [INFO] [stdout] 853 | return Err(e); [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] 853 - return Err(e); [INFO] [stdout] 853 + Err(e) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:1061:21 [INFO] [stdout] | [INFO] [stdout] 1061 | assert_eq!(condition, true, "{}", clue_msg(clue, attempt)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1061 - assert_eq!(condition, true, "{}", clue_msg(clue, attempt)); [INFO] [stdout] 1061 + assert!(condition, "{}", clue_msg(clue, attempt)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:1072:27 [INFO] [stdout] | [INFO] [stdout] 1072 | } else if let Some(_) = IsSetFinished::unapply(assert_par) { [INFO] [stdout] | -------^^^^^^^------------------------------------- help: try: `if IsSetFinished::unapply(assert_par).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:1240:41 [INFO] [stdout] | [INFO] [stdout] 1240 | ... let mut block_data = self.block_data.try_write().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:1247:86 [INFO] [stdout] | [INFO] [stdout] 1247 | ... produce(result_par.clone(), ack_channel.clone()).await?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:1255:41 [INFO] [stdout] | [INFO] [stdout] 1255 | ... let mut block_data = self.block_data.try_write().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:1260:86 [INFO] [stdout] | [INFO] [stdout] 1260 | ... produce(result_par.clone(), ack_channel.clone()).await?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:1289:25 [INFO] [stdout] | [INFO] [stdout] 1289 | let mut invalid_blocks_lock = invalid_blocks.invalid_blocks.write().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:1293:70 [INFO] [stdout] | [INFO] [stdout] 1293 | produce(result_par.clone(), ack_channel.clone()).await?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:1466:25 [INFO] [stdout] | [INFO] [stdout] 1466 | / if let Some(operator) = RhoString::unapply(operator_par) { [INFO] [stdout] 1467 | | Some((expected_par.clone(), operator, actual_par.clone())) [INFO] [stdout] 1468 | | } else { [INFO] [stdout] 1469 | | None [INFO] [stdout] 1470 | | } [INFO] [stdout] | |_________________________^ help: try: `RhoString::unapply(operator_par).map(|operator| (expected_par.clone(), operator, actual_par.clone()))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/rust/interpreter/system_processes.rs:1489:17 [INFO] [stdout] | [INFO] [stdout] 1489 | / if let Some(has_finished) = RhoBoolean::unapply(has_finished_par) { [INFO] [stdout] 1490 | | Some(has_finished) [INFO] [stdout] 1491 | | } else { [INFO] [stdout] 1492 | | None [INFO] [stdout] 1493 | | } [INFO] [stdout] | |_________________^ help: try: `RhoBoolean::unapply(has_finished_par).map(|has_finished| has_finished)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> src/rust/interpreter/test_utils/persistent_store_tester.rs:33:29 [INFO] [stdout] | [INFO] [stdout] 33 | let rspace: RhoISpace = Arc::new(Mutex::new(Box::new(space.clone()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc>>>` is not `Send` and `Sync` as `Mutex>>` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `Mutex>>` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/rust/interpreter/test_utils/utils.rs:68:13 [INFO] [stdout] | [INFO] [stdout] 63 | / let updated_bound_map_chain = input.bound_map_chain.put(( [INFO] [stdout] 64 | | name.to_string(), [INFO] [stdout] 65 | | vs_type, [INFO] [stdout] 66 | | SourcePosition { row: 0, column: 0 }, [INFO] [stdout] 67 | | )); [INFO] [stdout] | |_______________- unnecessary `let` binding [INFO] [stdout] 68 | updated_bound_map_chain [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] 63 ~ [INFO] [stdout] 64 ~ input.bound_map_chain.put(( [INFO] [stdout] 65 + name.to_string(), [INFO] [stdout] 66 + vs_type, [INFO] [stdout] 67 + SourcePosition { row: 0, column: 0 }, [INFO] [stdout] 68 + )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/rust/interpreter/test_utils/utils.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 85 | / let updated_bound_map_chain = input [INFO] [stdout] 86 | | .bound_map_chain [INFO] [stdout] 87 | | .put_all(bindings_with_default_positions); [INFO] [stdout] | |__________________________________________________________- unnecessary `let` binding [INFO] [stdout] 88 | updated_bound_map_chain [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] 85 ~ [INFO] [stdout] 86 ~ input [INFO] [stdout] 87 + .bound_map_chain [INFO] [stdout] 88 + .put_all(bindings_with_default_positions) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: stripping a prefix manually [INFO] [stdout] --> src/rust/interpreter/util/address_tools.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | ð_address[2..] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the prefix was tested here [INFO] [stdout] --> src/rust/interpreter/util/address_tools.rs:61:42 [INFO] [stdout] | [INFO] [stdout] 61 | let eth_address_without_prefix = if eth_address.starts_with("0x") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_strip [INFO] [stdout] = note: `#[warn(clippy::manual_strip)]` on by default [INFO] [stdout] help: try using the `strip_prefix` method [INFO] [stdout] | [INFO] [stdout] 61 ~ let eth_address_without_prefix = if let Some() = eth_address.strip_prefix("0x") { [INFO] [stdout] 62 ~ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/rust/interpreter/util/rev_address.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | / match tools().from_public_key(pk) { [INFO] [stdout] 40 | | Some(address) => Some(RevAddress { address }), [INFO] [stdout] 41 | | None => None, [INFO] [stdout] 42 | | } [INFO] [stdout] | |_________^ help: try: `tools().from_public_key(pk).map(|address| RevAddress { address })` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/rust/interpreter/util/rev_address.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | / match tools().from_eth_address(eth_address) { [INFO] [stdout] 47 | | Some(address) => Some(RevAddress { address }), [INFO] [stdout] 48 | | None => None, [INFO] [stdout] 49 | | } [INFO] [stdout] | |_________^ help: try: `tools().from_eth_address(eth_address).map(|address| RevAddress { address })` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are needlessly cloning iterator elements [INFO] [stdout] --> src/rust/interpreter/mod.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | opt.map(|x| x.clone()).ok_or_else(|| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: remove the `map` call [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: useless conversion to the same type: `i64` [INFO] [stdout] --> src/lib.rs:74:37 [INFO] [stdout] | [INFO] [stdout] 74 | let initial_phlo = Cost::create(cost_proto.value.into(), cost_proto.operation); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `cost_proto.value` [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 unit return type [INFO] [stdout] --> src/lib.rs:150:2 [INFO] [stdout] | [INFO] [stdout] 150 | ) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/lib.rs:221:63 [INFO] [stdout] | [INFO] [stdout] 221 | .map(|peek| SortedSetElement { value: peek as i32 }) [INFO] [stdout] | ^^^^^^^^^^^ help: try: `peek` [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 (`i32` -> `i32`) [INFO] [stdout] --> src/lib.rs:250:55 [INFO] [stdout] | [INFO] [stdout] 250 | .map(|peek| SortedSetElement { value: peek as i32 }) [INFO] [stdout] | ^^^^^^^^^^^ help: try: `peek` [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 (`i32` -> `i32`) [INFO] [stdout] --> src/lib.rs:351:67 [INFO] [stdout] | [INFO] [stdout] 351 | ... .map(|peek| SortedSetElement { value: peek as i32 }) [INFO] [stdout] | ^^^^^^^^^^^ help: try: `peek` [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: unneeded unit return type [INFO] [stdout] --> src/lib.rs:455:2 [INFO] [stdout] | [INFO] [stdout] 455 | ) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/lib.rs:743:67 [INFO] [stdout] | [INFO] [stdout] 743 | ... .map(|peek| SortedSetElement { value: peek as i32 }) [INFO] [stdout] | ^^^^^^^^^^^ help: try: `peek` [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: unneeded unit return type [INFO] [stdout] --> src/lib.rs:867:2 [INFO] [stdout] | [INFO] [stdout] 867 | ) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/lib.rs:976:59 [INFO] [stdout] | [INFO] [stdout] 976 | .map(|peek| SortedSetElement { value: peek as i32 }) [INFO] [stdout] | ^^^^^^^^^^^ help: try: `peek` [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: unneeded unit return type [INFO] [stdout] --> src/lib.rs:1009:2 [INFO] [stdout] | [INFO] [stdout] 1009 | ) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/lib.rs:1033:2 [INFO] [stdout] | [INFO] [stdout] 1033 | ) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/lib.rs:1088:63 [INFO] [stdout] | [INFO] [stdout] 1088 | .map(|peek| SortedSetElement { value: peek as i32 }) [INFO] [stdout] | ^^^^^^^^^^^ help: try: `peek` [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: unneeded unit return type [INFO] [stdout] --> src/lib.rs:1124:60 [INFO] [stdout] | [INFO] [stdout] 1124 | extern "C" fn set_cost_to_max(runtime_ptr: *mut RhoRuntime) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/lib.rs:1142:2 [INFO] [stdout] | [INFO] [stdout] 1142 | ) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/lib.rs:1248:68 [INFO] [stdout] | [INFO] [stdout] 1248 | extern "C" fn check_replay_data(runtime_ptr: *mut ReplayRhoRuntime) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/lib.rs:1349:63 [INFO] [stdout] | [INFO] [stdout] 1349 | extern "C" fn bootstrap_registry(runtime_ptr: *mut RhoRuntime) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rust/interpreter/accounting/costs.rs:284:31 [INFO] [stdout] | [INFO] [stdout] 284 | Some(storage_cost(&vec![body.unwrap()])) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[body.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/rust/interpreter/accounting/costs.rs:299:22 [INFO] [stdout] | [INFO] [stdout] 299 | storage_cost(&vec![channel]).value + storage_cost(&data.pars).value, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: you can use a slice directly: `&[channel]` [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/rust/interpreter/compiler/normalize.rs:412:57 [INFO] [stdout] | [INFO] [stdout] 412 | locally_free: create_bit_vector(&vec![0]), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalize.rs:445:68 [INFO] [stdout] | [INFO] [stdout] 445 | p1: Some(new_boundvar_par(0, create_bit_vector(&vec![0]), false)), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalize.rs:558:68 [INFO] [stdout] | [INFO] [stdout] 558 | p1: Some(new_boundvar_par(1, create_bit_vector(&vec![1]), false)), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[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/rust/interpreter/compiler/normalize.rs:559:68 [INFO] [stdout] | [INFO] [stdout] 559 | p2: Some(new_boundvar_par(0, create_bit_vector(&vec![0]), false)), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalize.rs:598:68 [INFO] [stdout] | [INFO] [stdout] 598 | p1: Some(new_boundvar_par(2, create_bit_vector(&vec![2]), false)), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[2]` [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/rust/interpreter/compiler/normalize.rs:602:80 [INFO] [stdout] | [INFO] [stdout] 602 | ... p1: Some(new_boundvar_par(1, create_bit_vector(&vec![1]), false)), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[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/rust/interpreter/compiler/normalize.rs:603:80 [INFO] [stdout] | [INFO] [stdout] 603 | ... p2: Some(new_boundvar_par(0, create_bit_vector(&vec![0]), false)), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalize.rs:606:57 [INFO] [stdout] | [INFO] [stdout] 606 | locally_free: create_bit_vector(&vec![0, 1]), [INFO] [stdout] | ^^^^^^^^^^^ help: you can use a slice directly: `&[0, 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/rust/interpreter/compiler/normalizer/collection_normalize_matcher.rs:265:59 [INFO] [stdout] | [INFO] [stdout] 265 | new_boundvar_par(1, create_bit_vector(&vec![1]), false), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[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/rust/interpreter/compiler/normalizer/collection_normalize_matcher.rs:266:59 [INFO] [stdout] | [INFO] [stdout] 266 | new_boundvar_par(0, create_bit_vector(&vec![0]), false), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/collection_normalize_matcher.rs:269:35 [INFO] [stdout] | [INFO] [stdout] 269 | create_bit_vector(&vec![0, 1]), [INFO] [stdout] | ^^^^^^^^^^^ help: you can use a slice directly: `&[0, 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/rust/interpreter/compiler/normalizer/collection_normalize_matcher.rs:399:63 [INFO] [stdout] | [INFO] [stdout] 399 | new_boundvar_par(1, create_bit_vector(&vec![1]), false), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[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/rust/interpreter/compiler/normalizer/collection_normalize_matcher.rs:405:35 [INFO] [stdout] | [INFO] [stdout] 405 | create_bit_vector(&vec![1]), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[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/rust/interpreter/compiler/normalizer/collection_normalize_matcher.rs:461:73 [INFO] [stdout] | [INFO] [stdout] 461 | key: Some(new_boundvar_par(1, create_bit_vector(&vec![1]), false)), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[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/rust/interpreter/compiler/normalizer/collection_normalize_matcher.rs:465:35 [INFO] [stdout] | [INFO] [stdout] 465 | create_bit_vector(&vec![1]), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[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/rust/interpreter/compiler/normalizer/name_normalize_matcher.rs:234:69 [INFO] [stdout] | [INFO] [stdout] 234 | let expected_result = new_boundvar_par(0, create_bit_vector(&vec![0]), false); [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/name_normalize_matcher.rs:296:74 [INFO] [stdout] | [INFO] [stdout] 296 | let expected_result: Par = new_boundvar_par(0, create_bit_vector(&vec![0]), false); [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/name_normalize_matcher.rs:342:69 [INFO] [stdout] | [INFO] [stdout] 342 | let expected_result = new_boundvar_par(0, create_bit_vector(&vec![0]), false); [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/name_normalize_matcher.rs:358:68 [INFO] [stdout] | [INFO] [stdout] 358 | let bound_var_expr = new_boundvar_par(0, create_bit_vector(&vec![0]), false); [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_bundle_normalizer.rs:160:66 [INFO] [stdout] | [INFO] [stdout] 160 | body: Some(new_boundvar_par(0, create_bit_vector(&vec![0]), false)), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_bundle_normalizer.rs:164:50 [INFO] [stdout] | [INFO] [stdout] 164 | .with_locally_free(create_bit_vector(&vec![0])); [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_bundle_normalizer.rs:264:70 [INFO] [stdout] | [INFO] [stdout] 264 | body: Some(new_boundvar_par(0, create_bit_vector(&vec![0]), false)), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_bundle_normalizer.rs:268:54 [INFO] [stdout] | [INFO] [stdout] 268 | .with_locally_free(create_bit_vector(&vec![0])) [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_bundle_normalizer.rs:320:66 [INFO] [stdout] | [INFO] [stdout] 320 | body: Some(new_boundvar_par(0, create_bit_vector(&vec![0]), false)), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_bundle_normalizer.rs:324:50 [INFO] [stdout] | [INFO] [stdout] 324 | .with_locally_free(create_bit_vector(&vec![0])); [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_contr_normalizer.rs:186:68 [INFO] [stdout] | [INFO] [stdout] 186 | source: Some(new_boundvar_par(0, create_bit_vector(&vec![0]), false)), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_contr_normalizer.rs:191:55 [INFO] [stdout] | [INFO] [stdout] 191 | new_boundvar_par(2, create_bit_vector(&vec![2]), false), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[2]` [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/rust/interpreter/compiler/normalizer/processes/p_contr_normalizer.rs:195:76 [INFO] [stdout] | [INFO] [stdout] 195 | ... p1: Some(new_boundvar_par(1, create_bit_vector(&vec![1]), false)), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[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/rust/interpreter/compiler/normalizer/processes/p_contr_normalizer.rs:196:76 [INFO] [stdout] | [INFO] [stdout] 196 | ... p2: Some(new_boundvar_par(0, create_bit_vector(&vec![0]), false)), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_contr_normalizer.rs:199:58 [INFO] [stdout] | [INFO] [stdout] 199 | par.locally_free = create_bit_vector(&vec![0, 1]); [INFO] [stdout] | ^^^^^^^^^^^ help: you can use a slice directly: `&[0, 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/rust/interpreter/compiler/normalizer/processes/p_contr_normalizer.rs:203:35 [INFO] [stdout] | [INFO] [stdout] 203 | create_bit_vector(&vec![0, 1, 2]), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0, 1, 2]` [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/rust/interpreter/compiler/normalizer/processes/p_contr_normalizer.rs:205:35 [INFO] [stdout] | [INFO] [stdout] 205 | create_bit_vector(&vec![0, 1, 2]), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0, 1, 2]` [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/rust/interpreter/compiler/normalizer/processes/p_contr_normalizer.rs:211:45 [INFO] [stdout] | [INFO] [stdout] 211 | locally_free: create_bit_vector(&vec![0]), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_contr_normalizer.rs:268:68 [INFO] [stdout] | [INFO] [stdout] 268 | source: Some(new_boundvar_par(0, create_bit_vector(&vec![0]), false)), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_contr_normalizer.rs:273:55 [INFO] [stdout] | [INFO] [stdout] 273 | new_boundvar_par(0, create_bit_vector(&vec![0]), false), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_contr_normalizer.rs:276:35 [INFO] [stdout] | [INFO] [stdout] 276 | create_bit_vector(&vec![0]), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_contr_normalizer.rs:278:35 [INFO] [stdout] | [INFO] [stdout] 278 | create_bit_vector(&vec![0]), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_contr_normalizer.rs:284:45 [INFO] [stdout] | [INFO] [stdout] 284 | locally_free: create_bit_vector(&vec![0]), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_if_normalizer.rs:263:67 [INFO] [stdout] | [INFO] [stdout] 263 | ... new_boundvar_par(0, create_bit_vector(&vec![0]), false), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_if_normalizer.rs:266:47 [INFO] [stdout] | [INFO] [stdout] 266 | ... create_bit_vector(&vec![0]), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_if_normalizer.rs:268:47 [INFO] [stdout] | [INFO] [stdout] 268 | ... create_bit_vector(&vec![0]), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_if_normalizer.rs:284:67 [INFO] [stdout] | [INFO] [stdout] 284 | ... new_boundvar_par(0, create_bit_vector(&vec![0]), false), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_if_normalizer.rs:287:47 [INFO] [stdout] | [INFO] [stdout] 287 | ... create_bit_vector(&vec![0]), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_if_normalizer.rs:289:47 [INFO] [stdout] | [INFO] [stdout] 289 | ... create_bit_vector(&vec![0]), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:636:55 [INFO] [stdout] | [INFO] [stdout] 636 | new_boundvar_par(1, create_bit_vector(&vec![1]), false), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[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/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:637:60 [INFO] [stdout] | [INFO] [stdout] 637 | vec![new_boundvar_par(0, create_bit_vector(&vec![0]), false)], [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:639:35 [INFO] [stdout] | [INFO] [stdout] 639 | create_bit_vector(&vec![0, 1]), [INFO] [stdout] | ^^^^^^^^^^^ help: you can use a slice directly: `&[0, 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/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:641:35 [INFO] [stdout] | [INFO] [stdout] 641 | create_bit_vector(&vec![0, 1]), [INFO] [stdout] | ^^^^^^^^^^^ help: you can use a slice directly: `&[0, 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/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:792:63 [INFO] [stdout] | [INFO] [stdout] 792 | new_boundvar_par(1, create_bit_vector(&vec![1]), false), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[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/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:793:68 [INFO] [stdout] | [INFO] [stdout] 793 | vec![new_boundvar_par(2, create_bit_vector(&vec![2]), false)], [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[2]` [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/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:795:43 [INFO] [stdout] | [INFO] [stdout] 795 | create_bit_vector(&vec![1, 2]), [INFO] [stdout] | ^^^^^^^^^^^ help: you can use a slice directly: `&[1, 2]` [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/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:799:63 [INFO] [stdout] | [INFO] [stdout] 799 | new_boundvar_par(3, create_bit_vector(&vec![3]), false), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[3]` [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/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:800:68 [INFO] [stdout] | [INFO] [stdout] 800 | vec![new_boundvar_par(0, create_bit_vector(&vec![0]), false)], [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:802:43 [INFO] [stdout] | [INFO] [stdout] 802 | create_bit_vector(&vec![0, 3]), [INFO] [stdout] | ^^^^^^^^^^^ help: you can use a slice directly: `&[0, 3]` [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/rust/interpreter/compiler/normalizer/processes/p_input_normalizer.rs:806:54 [INFO] [stdout] | [INFO] [stdout] 806 | par.locally_free = create_bit_vector(&vec![0, 1, 2, 3]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0, 1, 2, 3]` [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/rust/interpreter/compiler/normalizer/processes/p_match_normalizer.rs:183:72 [INFO] [stdout] | [INFO] [stdout] 183 | target: Some(new_boundvar_par(0, create_bit_vector(&vec![0]), false)), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_match_normalizer.rs:196:53 [INFO] [stdout] | [INFO] [stdout] 196 | locally_free: create_bit_vector(&vec![0]), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_match_normalizer.rs:248:64 [INFO] [stdout] | [INFO] [stdout] 248 | target: Some(new_boundvar_par(0, create_bit_vector(&vec![0]), false)), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_match_normalizer.rs:271:45 [INFO] [stdout] | [INFO] [stdout] 271 | locally_free: create_bit_vector(&vec![0]), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_method_normalizer.rs:107:23 [INFO] [stdout] | [INFO] [stdout] 107 | let methods = vec![String::from("nth"), String::from("toByteArray")]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[String::from("nth"), String::from("toByteArray")]` [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/rust/interpreter/compiler/normalizer/processes/p_method_normalizer.rs:133:76 [INFO] [stdout] | [INFO] [stdout] 133 | target: Some(new_boundvar_par(0, create_bit_vector(&vec![0]), false)), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_method_normalizer.rs:135:57 [INFO] [stdout] | [INFO] [stdout] 135 | locally_free: create_bit_vector(&vec![0]), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_new_normalizer.rs:181:67 [INFO] [stdout] | [INFO] [stdout] 181 | ... new_boundvar_par(2, create_bit_vector(&vec![2]), false), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[2]` [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/rust/interpreter/compiler/normalizer/processes/p_new_normalizer.rs:184:47 [INFO] [stdout] | [INFO] [stdout] 184 | ... create_bit_vector(&vec![2]), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[2]` [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/rust/interpreter/compiler/normalizer/processes/p_new_normalizer.rs:188:67 [INFO] [stdout] | [INFO] [stdout] 188 | ... new_boundvar_par(1, create_bit_vector(&vec![1]), false), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[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/rust/interpreter/compiler/normalizer/processes/p_new_normalizer.rs:191:47 [INFO] [stdout] | [INFO] [stdout] 191 | ... create_bit_vector(&vec![1]), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[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/rust/interpreter/compiler/normalizer/processes/p_new_normalizer.rs:195:67 [INFO] [stdout] | [INFO] [stdout] 195 | ... new_boundvar_par(0, create_bit_vector(&vec![0]), false), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_new_normalizer.rs:198:47 [INFO] [stdout] | [INFO] [stdout] 198 | ... create_bit_vector(&vec![0]), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_new_normalizer.rs:298:67 [INFO] [stdout] | [INFO] [stdout] 298 | ... new_boundvar_par(4, create_bit_vector(&vec![4]), false), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[4]` [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/rust/interpreter/compiler/normalizer/processes/p_new_normalizer.rs:301:47 [INFO] [stdout] | [INFO] [stdout] 301 | ... create_bit_vector(&vec![4]), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[4]` [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/rust/interpreter/compiler/normalizer/processes/p_new_normalizer.rs:305:67 [INFO] [stdout] | [INFO] [stdout] 305 | ... new_boundvar_par(3, create_bit_vector(&vec![3]), false), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[3]` [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/rust/interpreter/compiler/normalizer/processes/p_new_normalizer.rs:308:47 [INFO] [stdout] | [INFO] [stdout] 308 | ... create_bit_vector(&vec![3]), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[3]` [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/rust/interpreter/compiler/normalizer/processes/p_new_normalizer.rs:312:67 [INFO] [stdout] | [INFO] [stdout] 312 | ... new_boundvar_par(1, create_bit_vector(&vec![1]), false), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[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/rust/interpreter/compiler/normalizer/processes/p_new_normalizer.rs:315:47 [INFO] [stdout] | [INFO] [stdout] 315 | ... create_bit_vector(&vec![1]), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[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/rust/interpreter/compiler/normalizer/processes/p_new_normalizer.rs:319:67 [INFO] [stdout] | [INFO] [stdout] 319 | ... new_boundvar_par(0, create_bit_vector(&vec![0]), false), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_new_normalizer.rs:322:47 [INFO] [stdout] | [INFO] [stdout] 322 | ... create_bit_vector(&vec![0]), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_new_normalizer.rs:326:67 [INFO] [stdout] | [INFO] [stdout] 326 | ... new_boundvar_par(2, create_bit_vector(&vec![2]), false), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[2]` [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/rust/interpreter/compiler/normalizer/processes/p_new_normalizer.rs:329:47 [INFO] [stdout] | [INFO] [stdout] 329 | ... create_bit_vector(&vec![2]), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[2]` [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/rust/interpreter/compiler/normalizer/processes/p_new_normalizer.rs:350:35 [INFO] [stdout] | [INFO] [stdout] 350 | create_bit_vector(&vec![2]), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[2]` [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/rust/interpreter/compiler/normalizer/processes/p_new_normalizer.rs:351:35 [INFO] [stdout] | [INFO] [stdout] 351 | create_bit_vector(&vec![0]), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_new_normalizer.rs:352:35 [INFO] [stdout] | [INFO] [stdout] 352 | create_bit_vector(&vec![1]), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[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/rust/interpreter/compiler/normalizer/processes/p_new_normalizer.rs:353:35 [INFO] [stdout] | [INFO] [stdout] 353 | create_bit_vector(&vec![3]), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[3]` [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/rust/interpreter/compiler/normalizer/processes/p_new_normalizer.rs:354:35 [INFO] [stdout] | [INFO] [stdout] 354 | create_bit_vector(&vec![4]) [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[4]` [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/rust/interpreter/compiler/normalizer/processes/p_new_normalizer.rs:359:31 [INFO] [stdout] | [INFO] [stdout] 359 | create_bit_vector(&vec![0, 1, 2, 3, 4]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0, 1, 2, 3, 4]` [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/rust/interpreter/compiler/normalizer/processes/p_par_normalizer.rs:84:50 [INFO] [stdout] | [INFO] [stdout] 84 | par.locally_free = create_bit_vector(&vec![0]); [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_send_normalizer.rs:157:55 [INFO] [stdout] | [INFO] [stdout] 157 | new_boundvar_par(0, create_bit_vector(&vec![0]), false), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_send_normalizer.rs:163:35 [INFO] [stdout] | [INFO] [stdout] 163 | create_bit_vector(&vec![0]), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_var_normalizer.rs:139:31 [INFO] [stdout] | [INFO] [stdout] 139 | create_bit_vector(&vec![0]) [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_var_ref_normalizer.rs:146:66 [INFO] [stdout] | [INFO] [stdout] 146 | ... .with_locally_free(create_bit_vector(&vec![0])), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_var_ref_normalizer.rs:152:53 [INFO] [stdout] | [INFO] [stdout] 152 | locally_free: create_bit_vector(&vec![0]), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_var_ref_normalizer.rs:156:50 [INFO] [stdout] | [INFO] [stdout] 156 | .with_locally_free(create_bit_vector(&vec![0])); [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_var_ref_normalizer.rs:163:31 [INFO] [stdout] | [INFO] [stdout] 163 | create_bit_vector(&vec![0]) [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_var_ref_normalizer.rs:211:58 [INFO] [stdout] | [INFO] [stdout] 211 | .with_locally_free(create_bit_vector(&vec![0]))], [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_var_ref_normalizer.rs:220:49 [INFO] [stdout] | [INFO] [stdout] 220 | locally_free: create_bit_vector(&vec![0]), [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_var_ref_normalizer.rs:223:50 [INFO] [stdout] | [INFO] [stdout] 223 | .with_locally_free(create_bit_vector(&vec![0])); [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/compiler/normalizer/processes/p_var_ref_normalizer.rs:229:31 [INFO] [stdout] | [INFO] [stdout] 229 | create_bit_vector(&vec![0]) [INFO] [stdout] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [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/rust/interpreter/matcher/has_locally_free.rs:262:39 [INFO] [stdout] | [INFO] [stdout] 262 | create_bit_vector(&vec![index as usize]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[index as usize]` [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/rust/interpreter/matcher/has_locally_free.rs:354:39 [INFO] [stdout] | [INFO] [stdout] 354 | create_bit_vector(&vec![idx as usize]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[idx as usize]` [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/rust/interpreter/matcher/has_locally_free.rs:377:39 [INFO] [stdout] | [INFO] [stdout] 377 | create_bit_vector(&vec![index as usize]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[index as usize]` [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/rust/interpreter/matcher/has_locally_free.rs:577:39 [INFO] [stdout] | [INFO] [stdout] 577 | create_bit_vector(&vec![idx as usize]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[idx as usize]` [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: this `MutexGuard` is held across an await point [INFO] [stdout] --> tests/crypto_channels_spec.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | / runtime [INFO] [stdout] 110 | | .try_lock() [INFO] [stdout] 111 | | .unwrap() [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> tests/crypto_channels_spec.rs:113:14 [INFO] [stdout] | [INFO] [stdout] 113 | .await [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] = note: `#[warn(clippy::await_holding_lock)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> tests/crypto_channels_spec.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | / runtime [INFO] [stdout] 149 | | .try_lock() [INFO] [stdout] 150 | | .unwrap() [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> tests/crypto_channels_spec.rs:152:14 [INFO] [stdout] | [INFO] [stdout] 152 | .await [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> tests/interpreter_spec.rs:49:13 [INFO] [stdout] | [INFO] [stdout] 49 | let mut runtime_lock = runtime.lock().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> tests/interpreter_spec.rs:54:46 [INFO] [stdout] | [INFO] [stdout] 54 | success(&mut runtime_lock, send_rho).await.unwrap(); [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | .await [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | .await [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | .await [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] = note: `#[warn(clippy::await_holding_lock)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> tests/crypto_channels_spec.rs:187:9 [INFO] [stdout] | [INFO] [stdout] 187 | / runtime [INFO] [stdout] 188 | | .try_lock() [INFO] [stdout] 189 | | .unwrap() [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> tests/crypto_channels_spec.rs:191:14 [INFO] [stdout] | [INFO] [stdout] 191 | .await [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> tests/crypto_channels_spec.rs:248:9 [INFO] [stdout] | [INFO] [stdout] 248 | / runtime [INFO] [stdout] 249 | | .try_lock() [INFO] [stdout] 250 | | .unwrap() [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> tests/crypto_channels_spec.rs:252:14 [INFO] [stdout] | [INFO] [stdout] 252 | .await [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> tests/crypto_channels_spec.rs:303:9 [INFO] [stdout] | [INFO] [stdout] 303 | / runtime [INFO] [stdout] 304 | | .try_lock() [INFO] [stdout] 305 | | .unwrap() [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> tests/crypto_channels_spec.rs:307:14 [INFO] [stdout] | [INFO] [stdout] 307 | .await [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> tests/interpreter_spec.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | let mut runtime_lock = runtime.lock().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> tests/interpreter_spec.rs:130:14 [INFO] [stdout] | [INFO] [stdout] 130 | .await [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> tests/interpreter_spec.rs:186:13 [INFO] [stdout] | [INFO] [stdout] 186 | let mut runtime_lock = runtime.lock().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> tests/interpreter_spec.rs:190:62 [INFO] [stdout] | [INFO] [stdout] 190 | let result = execute(&mut runtime_lock, bad_rholang).await.unwrap(); [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> tests/interpreter_spec.rs:210:13 [INFO] [stdout] | [INFO] [stdout] 210 | let mut runtime_lock = runtime.lock().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> tests/interpreter_spec.rs:214:62 [INFO] [stdout] | [INFO] [stdout] 214 | let result = execute(&mut runtime_lock, bad_rholang).await.unwrap(); [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `MutexGuard` is held across an await point [INFO] [stdout] --> tests/interpreter_spec.rs:226:13 [INFO] [stdout] | [INFO] [stdout] 226 | let mut runtime_lock = runtime.lock().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling `await` [INFO] [stdout] note: these are all the await points this lock is held through [INFO] [stdout] --> tests/interpreter_spec.rs:233:14 [INFO] [stdout] | [INFO] [stdout] 233 | .await [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_lock [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> tests/interpreter_spec.rs:169:34 [INFO] [stdout] | [INFO] [stdout] 169 | let expected: Vec = vec!["Nil", "Nil", "Pr", "Pr", "Pr", "Co", "Co"] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `["Nil", "Nil", "Pr", "Pr", "Pr", "Co", "Co"]` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:19:45 [INFO] [stdout] | [INFO] [stdout] 19 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:108:45 [INFO] [stdout] | [INFO] [stdout] 108 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:174:45 [INFO] [stdout] | [INFO] [stdout] 174 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:221:45 [INFO] [stdout] | [INFO] [stdout] 221 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:261:45 [INFO] [stdout] | [INFO] [stdout] 261 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:294:45 [INFO] [stdout] | [INFO] [stdout] 294 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:373:58 [INFO] [stdout] | [INFO] [stdout] 373 | let bundle_write_result = parse_rholang_code_to_proc(&input_code_bundle_write); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `input_code_bundle_write` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:399:57 [INFO] [stdout] | [INFO] [stdout] 399 | let bundle_read_result = parse_rholang_code_to_proc(&input_code_bundle_read); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `input_code_bundle_read` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:425:58 [INFO] [stdout] | [INFO] [stdout] 425 | let bundle_equiv_result = parse_rholang_code_to_proc(&input_code_bundle_equiv); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `input_code_bundle_equiv` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:451:63 [INFO] [stdout] | [INFO] [stdout] 451 | let bundle_read_write_result = parse_rholang_code_to_proc(&input_code_bundle_read_write); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `input_code_bundle_read_write` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:487:45 [INFO] [stdout] | [INFO] [stdout] 487 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:631:45 [INFO] [stdout] | [INFO] [stdout] 631 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:750:45 [INFO] [stdout] | [INFO] [stdout] 750 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:807:45 [INFO] [stdout] | [INFO] [stdout] 807 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:863:45 [INFO] [stdout] | [INFO] [stdout] 863 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:944:45 [INFO] [stdout] | [INFO] [stdout] 944 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1071:45 [INFO] [stdout] | [INFO] [stdout] 1071 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1144:45 [INFO] [stdout] | [INFO] [stdout] 1144 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1217:45 [INFO] [stdout] | [INFO] [stdout] 1217 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1224:45 [INFO] [stdout] | [INFO] [stdout] 1224 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1256:45 [INFO] [stdout] | [INFO] [stdout] 1256 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1280:45 [INFO] [stdout] | [INFO] [stdout] 1280 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1304:45 [INFO] [stdout] | [INFO] [stdout] 1304 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1328:45 [INFO] [stdout] | [INFO] [stdout] 1328 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1352:45 [INFO] [stdout] | [INFO] [stdout] 1352 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1376:45 [INFO] [stdout] | [INFO] [stdout] 1376 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1400:45 [INFO] [stdout] | [INFO] [stdout] 1400 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1424:45 [INFO] [stdout] | [INFO] [stdout] 1424 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1448:45 [INFO] [stdout] | [INFO] [stdout] 1448 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1472:45 [INFO] [stdout] | [INFO] [stdout] 1472 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = 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] --> tests/substitute_test.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 35 | let substitute = Substitute { cost: cost_manager }; [INFO] [stdout] | --------------------------------------------------- unnecessary `let` binding [INFO] [stdout] 36 | substitute [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] 35 ~ [INFO] [stdout] 36 ~ Substitute { cost: cost_manager } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1496:45 [INFO] [stdout] | [INFO] [stdout] 1496 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1520:45 [INFO] [stdout] | [INFO] [stdout] 1520 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1544:45 [INFO] [stdout] | [INFO] [stdout] 1544 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1568:45 [INFO] [stdout] | [INFO] [stdout] 1568 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> tests/substitute_test.rs:96:16 [INFO] [stdout] | [INFO] [stdout] 96 | .chain(sample_connectives.into_iter()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/91021ccc790478a1a89c003e7d32b8d155ae6aae/library/core/src/iter/traits/iterator.rs:510:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 96 - .chain(sample_connectives.into_iter()) [INFO] [stdout] 96 + .chain(sample_connectives) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1592:45 [INFO] [stdout] | [INFO] [stdout] 1592 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1616:45 [INFO] [stdout] | [INFO] [stdout] 1616 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1640:45 [INFO] [stdout] | [INFO] [stdout] 1640 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1664:45 [INFO] [stdout] | [INFO] [stdout] 1664 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1683:45 [INFO] [stdout] | [INFO] [stdout] 1683 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1702:45 [INFO] [stdout] | [INFO] [stdout] 1702 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1742:45 [INFO] [stdout] | [INFO] [stdout] 1742 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1766:45 [INFO] [stdout] | [INFO] [stdout] 1766 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1785:45 [INFO] [stdout] | [INFO] [stdout] 1785 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1809:45 [INFO] [stdout] | [INFO] [stdout] 1809 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1833:45 [INFO] [stdout] | [INFO] [stdout] 1833 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1852:45 [INFO] [stdout] | [INFO] [stdout] 1852 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1893:45 [INFO] [stdout] | [INFO] [stdout] 1893 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1934:45 [INFO] [stdout] | [INFO] [stdout] 1934 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1960:45 [INFO] [stdout] | [INFO] [stdout] 1960 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:1990:45 [INFO] [stdout] | [INFO] [stdout] 1990 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:2035:45 [INFO] [stdout] | [INFO] [stdout] 2035 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:2084:45 [INFO] [stdout] | [INFO] [stdout] 2084 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:2114:45 [INFO] [stdout] | [INFO] [stdout] 2114 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:2128:45 [INFO] [stdout] | [INFO] [stdout] 2128 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:2143:45 [INFO] [stdout] | [INFO] [stdout] 2143 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:2158:45 [INFO] [stdout] | [INFO] [stdout] 2158 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:2173:45 [INFO] [stdout] | [INFO] [stdout] 2173 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:2188:45 [INFO] [stdout] | [INFO] [stdout] 2188 | let result = parse_rholang_code_to_proc(&input_code); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_code` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/parser_test.rs:2202:50 [INFO] [stdout] | [INFO] [stdout] 2202 | let result_proc = parse_rholang_code_to_proc(&input_code_proc); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `input_code_proc` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [WARN] too many lines in the log, truncating it