[INFO] cloning repository https://github.com/nevakrien/expr_parser [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nevakrien/expr_parser" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnevakrien%2Fexpr_parser", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnevakrien%2Fexpr_parser'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3c69b378f3b1f7a73fffa2da6abd05cac571cc26 [INFO] linting nevakrien/expr_parser against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnevakrien%2Fexpr_parser" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/nevakrien/expr_parser [INFO] finished tweaking git repo https://github.com/nevakrien/expr_parser [INFO] tweaked toml for git repo https://github.com/nevakrien/expr_parser written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/nevakrien/expr_parser on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/nevakrien/expr_parser 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 ariadne v0.4.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9cbd81a04ff161adadbd8072cf940469e0478e6ee55aaf0f4ed875fc70959868 [INFO] running `Command { std: "docker" "start" "-a" "9cbd81a04ff161adadbd8072cf940469e0478e6ee55aaf0f4ed875fc70959868", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9cbd81a04ff161adadbd8072cf940469e0478e6ee55aaf0f4ed875fc70959868", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9cbd81a04ff161adadbd8072cf940469e0478e6ee55aaf0f4ed875fc70959868", kill_on_drop: false }` [INFO] [stdout] 9cbd81a04ff161adadbd8072cf940469e0478e6ee55aaf0f4ed875fc70959868 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6a8784f0ceb7a74e235ce985cd08afdadb5d2ea555489336912488a68276c5b0 [INFO] running `Command { std: "docker" "start" "-a" "6a8784f0ceb7a74e235ce985cd08afdadb5d2ea555489336912488a68276c5b0", kill_on_drop: false }` [INFO] [stderr] Compiling zerocopy v0.8.39 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling cc v1.2.55 [INFO] [stderr] Checking yansi v1.0.1 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Checking simdutf8 v0.1.5 [INFO] [stderr] Checking foldhash v0.2.0 [INFO] [stderr] Compiling syn v2.0.113 [INFO] [stderr] Checking rand_core v0.9.5 [INFO] [stderr] Checking ariadne v0.4.1 [INFO] [stderr] Compiling expr_parser v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stdout] warning: function `gather_pattern_constraints` is never used [INFO] [stdout] --> src/type_inference.rs:4957:15 [INFO] [stdout] | [INFO] [stdout] 4957 | pub(crate) fn gather_pattern_constraints(ctx: &mut InferState, p: PatId) -> CId { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `component_index` is used to index `reachability` [INFO] [stdout] --> src/global_type_inference.rs:339:28 [INFO] [stdout] | [INFO] [stdout] 339 | for component_index in 0..component_count { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 339 - for component_index in 0..component_count { [INFO] [stdout] 339 + for (component_index, ) in reachability.iter_mut().enumerate().take(component_count) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `dst` is only used to index `reachability` [INFO] [stdout] --> src/global_type_inference.rs:354:24 [INFO] [stdout] | [INFO] [stdout] 354 | for dst in 0..component_count { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 354 - for dst in 0..component_count { [INFO] [stdout] 354 + for in reachability.iter_mut().take(component_count) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Pattern` which implements the `Copy` trait [INFO] [stdout] --> src/local_type_inference.rs:849:23 [INFO] [stdout] | [INFO] [stdout] 849 | match ctx.ex.program.pattern(cur_pat).clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `ctx.ex.program.pattern(cur_pat)` [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: parameter is only used in recursion [INFO] [stdout] --> src/local_type_inference.rs:710:5 [INFO] [stdout] | [INFO] [stdout] 710 | parent_origin: Option, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent_origin` [INFO] [stdout] | [INFO] [stdout] note: parameter used here [INFO] [stdout] --> src/local_type_inference.rs:927:78 [INFO] [stdout] | [INFO] [stdout] 927 | let rhs_cluster = gather_constraints(ctx, value, current_output, parent_origin); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 945 | let _ = gather_constraints(ctx, value, current_output, parent_origin); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1248 | Some(r) => gather_constraints(ctx, r, current_output, parent_origin), [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: this function has too many arguments (11/7) [INFO] [stdout] --> src/local_type_inference.rs:2427:1 [INFO] [stdout] | [INFO] [stdout] 2427 | / fn resolve_member_method_access( [INFO] [stdout] 2428 | | ex: &mut ExternState, [INFO] [stdout] 2429 | | types: &mut TypeState, [INFO] [stdout] 2430 | | search: &mut SearchState, [INFO] [stdout] ... | [INFO] [stdout] 2438 | | method_ty: TypeId, [INFO] [stdout] 2439 | | ) -> CId { [INFO] [stdout] | |________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/local_type_inference.rs:2526:1 [INFO] [stdout] | [INFO] [stdout] 2526 | / fn resolve_any_type_builtin_member_access( [INFO] [stdout] 2527 | | ex: &mut ExternState, [INFO] [stdout] 2528 | | types: &mut TypeState, [INFO] [stdout] 2529 | | search: &mut SearchState, [INFO] [stdout] ... | [INFO] [stdout] 2534 | | member_name: StrId, [INFO] [stdout] 2535 | | ) -> CId { [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: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/local_type_inference.rs:2750:10 [INFO] [stdout] | [INFO] [stdout] 2750 | ) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/type_inference.rs:1243:5 [INFO] [stdout] | [INFO] [stdout] 1243 | / LifetimeError { [INFO] [stdout] 1244 | | loc: Loc, [INFO] [stdout] 1245 | | message: String, [INFO] [stdout] 1246 | | label: String, [INFO] [stdout] 1247 | | related: Option, [INFO] [stdout] 1248 | | related_label: Option, [INFO] [stdout] 1249 | | }, [INFO] [stdout] | |_____- the largest variant contains at least 128 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `type_inference::TypeError`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] = note: `#[warn(clippy::result_large_err)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/local_type_inference.rs:2741:5 [INFO] [stdout] | [INFO] [stdout] 2741 | / fn step( [INFO] [stdout] 2742 | | &mut self, [INFO] [stdout] 2743 | | ex: &mut ExternState, [INFO] [stdout] 2744 | | types: &mut TypeState, [INFO] [stdout] ... | [INFO] [stdout] 2749 | | implicit_deref_limit_message: &'static str, [INFO] [stdout] 2750 | | ) -> Result { [INFO] [stdout] | |_____________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/local_type_inference.rs:4609:1 [INFO] [stdout] | [INFO] [stdout] 4609 | / fn place_from_implicit_chain_state_( [INFO] [stdout] 4610 | | ex: &ExternState, [INFO] [stdout] 4611 | | types: &mut TypeState, [INFO] [stdout] 4612 | | search: &mut SearchState, [INFO] [stdout] ... | [INFO] [stdout] 4617 | | access_kind: PlaceAccessKind, [INFO] [stdout] 4618 | | ) -> PlaceKind { [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: function `gather_pattern_constraints` is never used [INFO] [stdout] --> src/type_inference.rs:4957:15 [INFO] [stdout] | [INFO] [stdout] 4957 | pub(crate) fn gather_pattern_constraints(ctx: &mut InferState, p: PatId) -> CId { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/type_inference.rs:2127:5 [INFO] [stdout] | [INFO] [stdout] 2127 | / pub(crate) fn new( [INFO] [stdout] 2128 | | types: &mut TypeState, [INFO] [stdout] 2129 | | site: ValId, [INFO] [stdout] 2130 | | base_value: ValId, [INFO] [stdout] ... | [INFO] [stdout] 2135 | | kind: AccessKind, [INFO] [stdout] 2136 | | ) -> Self { [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: this function has too many arguments (8/7) [INFO] [stdout] --> src/type_inference.rs:2239:5 [INFO] [stdout] | [INFO] [stdout] 2239 | / pub(crate) fn new( [INFO] [stdout] 2240 | | types: &mut TypeState, [INFO] [stdout] 2241 | | site: ValId, [INFO] [stdout] 2242 | | base_value: ValId, [INFO] [stdout] ... | [INFO] [stdout] 2247 | | output: CId, [INFO] [stdout] 2248 | | ) -> Self { [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: this function has too many arguments (9/7) [INFO] [stdout] --> src/type_inference.rs:2667:5 [INFO] [stdout] | [INFO] [stdout] 2667 | / pub(crate) fn new_origin( [INFO] [stdout] 2668 | | &mut self, [INFO] [stdout] 2669 | | ex: &mut ExternState, [INFO] [stdout] 2670 | | pending_mutability_matches: &mut Vec, [INFO] [stdout] ... | [INFO] [stdout] 2676 | | site: Option, [INFO] [stdout] 2677 | | ) -> OriginId { [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: the loop variable `component_index` is used to index `reachability` [INFO] [stdout] --> src/global_type_inference.rs:339:28 [INFO] [stdout] | [INFO] [stdout] 339 | for component_index in 0..component_count { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 339 - for component_index in 0..component_count { [INFO] [stdout] 339 + for (component_index, ) in reachability.iter_mut().enumerate().take(component_count) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `dst` is only used to index `reachability` [INFO] [stdout] --> src/global_type_inference.rs:354:24 [INFO] [stdout] | [INFO] [stdout] 354 | for dst in 0..component_count { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 354 - for dst in 0..component_count { [INFO] [stdout] 354 + for in reachability.iter_mut().take(component_count) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/type_inference.rs:3607:13 [INFO] [stdout] | [INFO] [stdout] 3607 | / if !unify_ptr_lifetimes(types, a, b) { [INFO] [stdout] 3608 | | return Err(TypeClash { [INFO] [stdout] 3609 | | found: Some(found_ptr(ex, types)), [INFO] [stdout] 3610 | | wanted: Some(type_string_from_type_id(ex, ty)), [INFO] [stdout] 3611 | | }); [INFO] [stdout] 3612 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [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] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 3606 ~ (PtrKind::Solved(PointerStyle::Ref(a)), PointerStyle::Ref(b)) [INFO] [stdout] 3607 ~ if !unify_ptr_lifetimes(types, a, b) => { [INFO] [stdout] 3608 | return Err(TypeClash { [INFO] [stdout] ... [INFO] [stdout] 3611 | }); [INFO] [stdout] 3612 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/type_inference.rs:3615:13 [INFO] [stdout] | [INFO] [stdout] 3615 | / if !bind_struct_lid_to_lifetime(types, lid, b) { [INFO] [stdout] 3616 | | return Err(TypeClash { [INFO] [stdout] 3617 | | found: Some(found_ptr(ex, types)), [INFO] [stdout] 3618 | | wanted: Some(type_string_from_type_id(ex, ty)), [INFO] [stdout] 3619 | | }); [INFO] [stdout] 3620 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 3614 ~ (PtrKind::RefInfer(lid), PointerStyle::Ref(b)) [INFO] [stdout] 3615 ~ if !bind_struct_lid_to_lifetime(types, lid, b) => { [INFO] [stdout] 3616 | return Err(TypeClash { [INFO] [stdout] ... [INFO] [stdout] 3619 | }); [INFO] [stdout] 3620 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/type_inference.rs:4470:1 [INFO] [stdout] | [INFO] [stdout] 4470 | / fn write_ptr_mock_string_inner( [INFO] [stdout] 4471 | | ex: &ExternState<'_>, [INFO] [stdout] 4472 | | core: &mut TypeCore, [INFO] [stdout] 4473 | | extra: &TypeExtra, [INFO] [stdout] ... | [INFO] [stdout] 4478 | | limit: &mut usize, [INFO] [stdout] 4479 | | ) { [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: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> examples/generate_lower_benchmark_data.rs:166:22 [INFO] [stdout] | [INFO] [stdout] 166 | let max_locals = max_statements.saturating_sub(1).min(3) as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `max_statements.saturating_sub(1).min(3)` [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: using `clone` on type `Value` which implements the `Copy` trait [INFO] [stdout] --> src/lifetime_graph.rs:983:13 [INFO] [stdout] | [INFO] [stdout] 983 | } = ctx.ex.program.value(function).clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `ctx.ex.program.value(function)` [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: unused variable: `types` [INFO] [stdout] --> src/main.rs:615:27 [INFO] [stdout] | [INFO] [stdout] 615 | let Some((types, solved)) = last_typecheck.as_ref() else { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_types` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Pattern` which implements the `Copy` trait [INFO] [stdout] --> src/local_type_inference.rs:849:23 [INFO] [stdout] | [INFO] [stdout] 849 | match ctx.ex.program.pattern(cur_pat).clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `ctx.ex.program.pattern(cur_pat)` [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: parameter is only used in recursion [INFO] [stdout] --> src/local_type_inference.rs:710:5 [INFO] [stdout] | [INFO] [stdout] 710 | parent_origin: Option, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent_origin` [INFO] [stdout] | [INFO] [stdout] note: parameter used here [INFO] [stdout] --> src/local_type_inference.rs:927:78 [INFO] [stdout] | [INFO] [stdout] 927 | let rhs_cluster = gather_constraints(ctx, value, current_output, parent_origin); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 945 | let _ = gather_constraints(ctx, value, current_output, parent_origin); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1248 | Some(r) => gather_constraints(ctx, r, current_output, parent_origin), [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: this function has too many arguments (11/7) [INFO] [stdout] --> src/local_type_inference.rs:2427:1 [INFO] [stdout] | [INFO] [stdout] 2427 | / fn resolve_member_method_access( [INFO] [stdout] 2428 | | ex: &mut ExternState, [INFO] [stdout] 2429 | | types: &mut TypeState, [INFO] [stdout] 2430 | | search: &mut SearchState, [INFO] [stdout] ... | [INFO] [stdout] 2438 | | method_ty: TypeId, [INFO] [stdout] 2439 | | ) -> CId { [INFO] [stdout] | |________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/local_type_inference.rs:2526:1 [INFO] [stdout] | [INFO] [stdout] 2526 | / fn resolve_any_type_builtin_member_access( [INFO] [stdout] 2527 | | ex: &mut ExternState, [INFO] [stdout] 2528 | | types: &mut TypeState, [INFO] [stdout] 2529 | | search: &mut SearchState, [INFO] [stdout] ... | [INFO] [stdout] 2534 | | member_name: StrId, [INFO] [stdout] 2535 | | ) -> CId { [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: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/local_type_inference.rs:2750:10 [INFO] [stdout] | [INFO] [stdout] 2750 | ) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/type_inference.rs:1243:5 [INFO] [stdout] | [INFO] [stdout] 1243 | / LifetimeError { [INFO] [stdout] 1244 | | loc: Loc, [INFO] [stdout] 1245 | | message: String, [INFO] [stdout] 1246 | | label: String, [INFO] [stdout] 1247 | | related: Option, [INFO] [stdout] 1248 | | related_label: Option, [INFO] [stdout] 1249 | | }, [INFO] [stdout] | |_____- the largest variant contains at least 128 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `type_inference::TypeError`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] = note: `#[warn(clippy::result_large_err)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/local_type_inference.rs:2741:5 [INFO] [stdout] | [INFO] [stdout] 2741 | / fn step( [INFO] [stdout] 2742 | | &mut self, [INFO] [stdout] 2743 | | ex: &mut ExternState, [INFO] [stdout] 2744 | | types: &mut TypeState, [INFO] [stdout] ... | [INFO] [stdout] 2749 | | implicit_deref_limit_message: &'static str, [INFO] [stdout] 2750 | | ) -> Result { [INFO] [stdout] | |_____________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:612:55 [INFO] [stdout] | [INFO] [stdout] 612 | reporter.report_origin_dump(&program, &types, &solved)?; [INFO] [stdout] | ^^^^^^ help: change this to: `types` [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/main.rs:612:63 [INFO] [stdout] | [INFO] [stdout] 612 | reporter.report_origin_dump(&program, &types, &solved)?; [INFO] [stdout] | ^^^^^^^ help: change this to: `solved` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:634:65 [INFO] [stdout] | [INFO] [stdout] 634 | reporter.report_origin_dump_in_region(&program, &solved, Some(&loc))?; [INFO] [stdout] | ^^^^^^^ help: change this to: `solved` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/local_type_inference.rs:4609:1 [INFO] [stdout] | [INFO] [stdout] 4609 | / fn place_from_implicit_chain_state_( [INFO] [stdout] 4610 | | ex: &ExternState, [INFO] [stdout] 4611 | | types: &mut TypeState, [INFO] [stdout] 4612 | | search: &mut SearchState, [INFO] [stdout] ... | [INFO] [stdout] 4617 | | access_kind: PlaceAccessKind, [INFO] [stdout] 4618 | | ) -> PlaceKind { [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: unused variable: `types` [INFO] [stdout] --> src/main.rs:615:27 [INFO] [stdout] | [INFO] [stdout] 615 | let Some((types, solved)) = last_typecheck.as_ref() else { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_types` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) 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/main.rs:612:55 [INFO] [stdout] | [INFO] [stdout] 612 | reporter.report_origin_dump(&program, &types, &solved)?; [INFO] [stdout] | ^^^^^^ help: change this to: `types` [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/main.rs:612:63 [INFO] [stdout] | [INFO] [stdout] 612 | reporter.report_origin_dump(&program, &types, &solved)?; [INFO] [stdout] | ^^^^^^^ help: change this to: `solved` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:634:65 [INFO] [stdout] | [INFO] [stdout] 634 | reporter.report_origin_dump_in_region(&program, &solved, Some(&loc))?; [INFO] [stdout] | ^^^^^^^ help: change this to: `solved` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: items after a test module [INFO] [stdout] --> src/program.rs:429:1 [INFO] [stdout] | [INFO] [stdout] 429 | mod tests { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 476 | impl<'a> Parser<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 486 | impl Program { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#items_after_test_module [INFO] [stdout] = note: `#[warn(clippy::items_after_test_module)]` on by default [INFO] [stdout] = help: move the items to before the test module was defined [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/struct_layout.rs:452:25 [INFO] [stdout] | [INFO] [stdout] 452 | assert!(cycle.iter().any(|sid| *sid == a_sid)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `cycle.contains(&a_sid)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] = note: `#[warn(clippy::manual_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/struct_layout.rs:453:25 [INFO] [stdout] | [INFO] [stdout] 453 | assert!(cycle.iter().any(|sid| *sid == b_sid)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `cycle.contains(&b_sid)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/struct_layout.rs:454:25 [INFO] [stdout] | [INFO] [stdout] 454 | assert!(cycle.iter().any(|sid| *sid == c_sid)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `cycle.contains(&c_sid)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/struct_layout.rs:598:25 [INFO] [stdout] | [INFO] [stdout] 598 | assert!(cycle.iter().any(|cycle_id| *cycle_id == sid)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `cycle.contains(&sid)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/type_inference.rs:2127:5 [INFO] [stdout] | [INFO] [stdout] 2127 | / pub(crate) fn new( [INFO] [stdout] 2128 | | types: &mut TypeState, [INFO] [stdout] 2129 | | site: ValId, [INFO] [stdout] 2130 | | base_value: ValId, [INFO] [stdout] ... | [INFO] [stdout] 2135 | | kind: AccessKind, [INFO] [stdout] 2136 | | ) -> Self { [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: this function has too many arguments (8/7) [INFO] [stdout] --> src/type_inference.rs:2239:5 [INFO] [stdout] | [INFO] [stdout] 2239 | / pub(crate) fn new( [INFO] [stdout] 2240 | | types: &mut TypeState, [INFO] [stdout] 2241 | | site: ValId, [INFO] [stdout] 2242 | | base_value: ValId, [INFO] [stdout] ... | [INFO] [stdout] 2247 | | output: CId, [INFO] [stdout] 2248 | | ) -> Self { [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: this function has too many arguments (9/7) [INFO] [stdout] --> src/type_inference.rs:2667:5 [INFO] [stdout] | [INFO] [stdout] 2667 | / pub(crate) fn new_origin( [INFO] [stdout] 2668 | | &mut self, [INFO] [stdout] 2669 | | ex: &mut ExternState, [INFO] [stdout] 2670 | | pending_mutability_matches: &mut Vec, [INFO] [stdout] ... | [INFO] [stdout] 2676 | | site: Option, [INFO] [stdout] 2677 | | ) -> OriginId { [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: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/type_inference.rs:3607:13 [INFO] [stdout] | [INFO] [stdout] 3607 | / if !unify_ptr_lifetimes(types, a, b) { [INFO] [stdout] 3608 | | return Err(TypeClash { [INFO] [stdout] 3609 | | found: Some(found_ptr(ex, types)), [INFO] [stdout] 3610 | | wanted: Some(type_string_from_type_id(ex, ty)), [INFO] [stdout] 3611 | | }); [INFO] [stdout] 3612 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [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] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 3606 ~ (PtrKind::Solved(PointerStyle::Ref(a)), PointerStyle::Ref(b)) [INFO] [stdout] 3607 ~ if !unify_ptr_lifetimes(types, a, b) => { [INFO] [stdout] 3608 | return Err(TypeClash { [INFO] [stdout] ... [INFO] [stdout] 3611 | }); [INFO] [stdout] 3612 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/type_inference.rs:3615:13 [INFO] [stdout] | [INFO] [stdout] 3615 | / if !bind_struct_lid_to_lifetime(types, lid, b) { [INFO] [stdout] 3616 | | return Err(TypeClash { [INFO] [stdout] 3617 | | found: Some(found_ptr(ex, types)), [INFO] [stdout] 3618 | | wanted: Some(type_string_from_type_id(ex, ty)), [INFO] [stdout] 3619 | | }); [INFO] [stdout] 3620 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 3614 ~ (PtrKind::RefInfer(lid), PointerStyle::Ref(b)) [INFO] [stdout] 3615 ~ if !bind_struct_lid_to_lifetime(types, lid, b) => { [INFO] [stdout] 3616 | return Err(TypeClash { [INFO] [stdout] ... [INFO] [stdout] 3619 | }); [INFO] [stdout] 3620 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/type_inference.rs:4470:1 [INFO] [stdout] | [INFO] [stdout] 4470 | / fn write_ptr_mock_string_inner( [INFO] [stdout] 4471 | | ex: &ExternState<'_>, [INFO] [stdout] 4472 | | core: &mut TypeCore, [INFO] [stdout] 4473 | | extra: &TypeExtra, [INFO] [stdout] ... | [INFO] [stdout] 4478 | | limit: &mut usize, [INFO] [stdout] 4479 | | ) { [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: iterating on a map's values [INFO] [stdout] --> src/type_inference.rs:5597:25 [INFO] [stdout] | [INFO] [stdout] 5597 | let mut found = program [INFO] [stdout] | _________________________^ [INFO] [stdout] 5598 | | .definitions [INFO] [stdout] 5599 | | .iter() [INFO] [stdout] 5600 | | .filter_map(|(_, def)| match def { [INFO] [stdout] 5601 | | Defined::Func(funcs) => funcs.implementations.first().copied(), [INFO] [stdout] 5602 | | _ => None, [INFO] [stdout] 5603 | | }) [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_kv_map [INFO] [stdout] = note: `#[warn(clippy::iter_kv_map)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 5597 ~ let mut found = program [INFO] [stdout] 5598 + .definitions.values().filter_map(|def| match def { [INFO] [stdout] 5599 + Defined::Func(funcs) => funcs.implementations.first().copied(), [INFO] [stdout] 5600 + _ => None, [INFO] [stdout] 5601 + }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/type_inference.rs:6350:49 [INFO] [stdout] | [INFO] [stdout] 6350 | let a_ty = find_let_stmt_type(&program, &solved_types, f, "a"); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `solved_types` [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/type_inference.rs:6351:49 [INFO] [stdout] | [INFO] [stdout] 6351 | let b_ty = find_let_stmt_type(&program, &solved_types, f, "b"); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `solved_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/type_inference.rs:6352:49 [INFO] [stdout] | [INFO] [stdout] 6352 | let c_ty = find_let_stmt_type(&program, &solved_types, f, "c"); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `solved_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/type_inference.rs:6353:49 [INFO] [stdout] | [INFO] [stdout] 6353 | let d_ty = find_let_stmt_type(&program, &solved_types, f, "d"); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `solved_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/type_inference.rs:6354:49 [INFO] [stdout] | [INFO] [stdout] 6354 | let e_ty = find_let_stmt_type(&program, &solved_types, f, "e"); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `solved_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/type_inference.rs:6365:13 [INFO] [stdout] | [INFO] [stdout] 6365 | style.is_fancy() == !raw [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `style.is_fancy() != raw` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/type_inference.rs:7242:49 [INFO] [stdout] | [INFO] [stdout] 7242 | let a_ty = find_let_stmt_type(&program, &solved_types, g, "a"); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `solved_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/type_inference.rs:7243:49 [INFO] [stdout] | [INFO] [stdout] 7243 | let b_ty = find_let_stmt_type(&program, &solved_types, g, "b"); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `solved_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/type_inference.rs:7273:49 [INFO] [stdout] | [INFO] [stdout] 7273 | let a_ty = find_let_stmt_type(&program, &solved_types, g, "a"); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `solved_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/type_inference.rs:7274:49 [INFO] [stdout] | [INFO] [stdout] 7274 | let b_ty = find_let_stmt_type(&program, &solved_types, g, "b"); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `solved_types` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.84s [INFO] running `Command { std: "docker" "inspect" "6a8784f0ceb7a74e235ce985cd08afdadb5d2ea555489336912488a68276c5b0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6a8784f0ceb7a74e235ce985cd08afdadb5d2ea555489336912488a68276c5b0", kill_on_drop: false }` [INFO] [stdout] 6a8784f0ceb7a74e235ce985cd08afdadb5d2ea555489336912488a68276c5b0