[INFO] cloning repository https://github.com/hella-lang/hella
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hella-lang/hella" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhella-lang%2Fhella", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhella-lang%2Fhella'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 365cd4230243686983d8468311bb8f2383ec7c2f
[INFO] checking hella-lang/hella against 7211ea594cbf137ef6118b1752b959dea7cb9088 for pr-164148-crater-rollup
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhella-lang%2Fhella" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/hella-lang/hella
[INFO] finished tweaking git repo https://github.com/hella-lang/hella
[INFO] tweaked toml for git repo https://github.com/hella-lang/hella written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hella-lang/hella on toolchain 7211ea594cbf137ef6118b1752b959dea7cb9088
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7211ea594cbf137ef6118b1752b959dea7cb9088" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/hella-lang/hella 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" "+7211ea594cbf137ef6118b1752b959dea7cb9088" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded lsp-server v0.10.0
[INFO] [stderr]   Downloaded terminal_size v0.4.4
[INFO] [stderr]   Downloaded supports-hyperlinks v3.2.0
[INFO] [stderr]   Downloaded supports-color v3.0.2
[INFO] [stderr]   Downloaded lsp-types v0.97.0
[INFO] [stderr]   Downloaded inkwell_internals v0.15.0
[INFO] [stderr]   Downloaded llvm-sys v211.1.0
[INFO] [stderr]   Downloaded inkwell v0.10.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 9a1031af860bd7fa2032b5e31132db190585fb4e267d77074c6daf393f232f21
[INFO] running `Command { std: "docker" "start" "9a1031af860bd7fa2032b5e31132db190585fb4e267d77074c6daf393f232f21", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9a1031af860bd7fa2032b5e31132db190585fb4e267d77074c6daf393f232f21", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9a1031af860bd7fa2032b5e31132db190585fb4e267d77074c6daf393f232f21" "/opt/rustwide/cargo-home/bin/cargo" "+7211ea594cbf137ef6118b1752b959dea7cb9088" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9a1031af860bd7fa2032b5e31132db190585fb4e267d77074c6daf393f232f21", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9a1031af860bd7fa2032b5e31132db190585fb4e267d77074c6daf393f232f21" "/opt/rustwide/cargo-home/bin/cargo" "+7211ea594cbf137ef6118b1752b959dea7cb9088" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling regex-lite v0.1.9
[INFO] [stderr]    Compiling aho-corasick v1.1.5
[INFO] [stderr]     Checking gimli v0.32.3
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]    Compiling syn v3.0.5
[INFO] [stderr]     Checking is_ci v1.2.0
[INFO] [stderr]    Compiling inkwell v0.10.0
[INFO] [stderr]     Checking winnow v1.0.4
[INFO] [stderr]     Checking unicode-linebreak v0.1.5
[INFO] [stderr]    Compiling miette-derive v7.6.0
[INFO] [stderr]     Checking toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]     Checking serde_spanned v1.1.1
[INFO] [stderr]     Checking supports-hyperlinks v3.2.0
[INFO] [stderr]     Checking toml_writer v1.1.2+spec-1.1.0
[INFO] [stderr]     Checking supports-unicode v3.0.0
[INFO] [stderr]     Checking supports-color v3.0.2
[INFO] [stderr]    Compiling hella-compiler v0.1.0 (/opt/rustwide/workdir/crates/hella-compiler)
[INFO] [stderr]    Compiling crossbeam-utils v0.8.23
[INFO] [stderr]     Checking serde_json v1.0.151
[INFO] [stderr]     Checking fluent-uri v0.1.4
[INFO] [stderr]     Checking textwrap v0.16.2
[INFO] [stderr]     Checking console v0.16.4
[INFO] [stderr]    Compiling hella v0.1.0 (/opt/rustwide/workdir/crates/hella-cli)
[INFO] [stderr]     Checking toml_parser v1.1.3+spec-1.1.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking indicatif v0.18.6
[INFO] [stderr]     Checking toml v1.1.6+spec-1.1.0
[INFO] [stderr]    Compiling llvm-sys v211.1.0
[INFO] [stderr]     Checking terminal_size v0.4.4
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]     Checking addr2line v0.25.1
[INFO] [stderr]     Checking backtrace v0.3.76
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]    Compiling inkwell_internals v0.15.0
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling serde_repr v0.1.21
[INFO] [stderr]     Checking backtrace-ext v0.2.1
[INFO] [stderr]     Checking miette v7.6.0
[INFO] [stderr]     Checking thiserror v2.0.20
[INFO] [stderr]     Checking clap v4.6.6
[INFO] [stderr]    Compiling logos-codegen v0.16.1
[INFO] [stderr]     Checking serde v1.0.229
[INFO] [stderr]    Compiling logos-derive v0.16.1
[INFO] [stderr]     Checking lsp-types v0.97.0
[INFO] [stderr]     Checking lsp-server v0.10.0
[INFO] [stderr]     Checking logos v0.16.1
[INFO] [stdout] warning: unused import: `Item`
[INFO] [stdout]   --> crates/hella-compiler/src/cfg.rs:34:59
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::ast::{Attribute, AttributeArg, Expr, ExprKind, Item};
[INFO] [stdout]    |                                                           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Item`
[INFO] [stdout]   --> crates/hella-compiler/src/cfg.rs:34:59
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::ast::{Attribute, AttributeArg, Expr, ExprKind, Item};
[INFO] [stdout]    |                                                           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `inkwell::types::StructType::<'ctx>::ptr_type`: Starting from version 15.0, LLVM doesn't differentiate between pointer types. Use Context::ptr_type instead.
[INFO] [stdout]    --> crates/hella-compiler/src/codegen/mod.rs:482:25
[INFO] [stdout]     |
[INFO] [stdout] 482 |         let ptr_ty = st.ptr_type(inkwell::AddressSpace::default());
[INFO] [stdout]     |                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `inkwell::types::StructType::<'ctx>::ptr_type`: Starting from version 15.0, LLVM doesn't differentiate between pointer types. Use Context::ptr_type instead.
[INFO] [stdout]    --> crates/hella-compiler/src/codegen/mod.rs:482:25
[INFO] [stdout]     |
[INFO] [stdout] 482 |         let ptr_ty = st.ptr_type(inkwell::AddressSpace::default());
[INFO] [stdout]     |                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `inkwell::types::FunctionType::<'ctx>::ptr_type`: Starting from version 15.0, LLVM doesn't differentiate between pointer types. Use Context::ptr_type instead.
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:4061:47
[INFO] [stdout]      |
[INFO] [stdout] 4061 | ...   let fn_ty = ptr_ty.fn_type(&[entry_ty.ptr_type(inkwell::AddressSpace::default()).into(), ptr_ty.into(), i64_ty.into()], false);
[INFO] [stdout]      |                                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `inkwell::types::FunctionType::<'ctx>::ptr_type`: Starting from version 15.0, LLVM doesn't differentiate between pointer types. Use Context::ptr_type instead.
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:4061:47
[INFO] [stdout]      |
[INFO] [stdout] 4061 | ...   let fn_ty = ptr_ty.fn_type(&[entry_ty.ptr_type(inkwell::AddressSpace::default()).into(), ptr_ty.into(), i64_ty.into()], false);
[INFO] [stdout]      |                                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `inkwell::types::StructType::<'ctx>::ptr_type`: Starting from version 15.0, LLVM doesn't differentiate between pointer types. Use Context::ptr_type instead.
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:9558:68
[INFO] [stdout]      |
[INFO] [stdout] 9558 | ...   let heap_ptr = self.builder.build_bit_cast(raw, st.ptr_type(inkwell::AddressSpace::default()), "new.cast").unwrap().into_poi...
[INFO] [stdout]      |                                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `inkwell::types::StructType::<'ctx>::ptr_type`: Starting from version 15.0, LLVM doesn't differentiate between pointer types. Use Context::ptr_type instead.
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:9558:68
[INFO] [stdout]      |
[INFO] [stdout] 9558 | ...   let heap_ptr = self.builder.build_bit_cast(raw, st.ptr_type(inkwell::AddressSpace::default()), "new.cast").unwrap().into_poi...
[INFO] [stdout]      |                                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src_owner`
[INFO] [stdout]    --> crates/hella-compiler/src/codegen/mod.rs:548:21
[INFO] [stdout]     |
[INFO] [stdout] 548 |         if let Some(src_owner) = self.pair_owner_of(val_st.get_type()) {
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_owner`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sp`
[INFO] [stdout]    --> crates/hella-compiler/src/codegen/mod.rs:644:28
[INFO] [stdout]     |
[INFO] [stdout] 644 |             Type::Named(n, sp) => {
[INFO] [stdout]     |                            ^^ help: if this is intentional, prefix it with an underscore: `_sp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:1122:21
[INFO] [stdout]      |
[INFO] [stdout] 1122 |                 let mut params = vec![crate::sema::Ty::Struct(c.name.clone())];
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:1137:21
[INFO] [stdout]      |
[INFO] [stdout] 1137 |                 let mut params = vec![crate::sema::Ty::Struct(c.name.clone()), setter_ty.clone()];
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parent_field_count`
[INFO] [stdout]    --> crates/hella-compiler/src/codegen/mod.rs:776:29
[INFO] [stdout]     |
[INFO] [stdout] 776 |                         let parent_field_count = parent_struct.count_fields() as usize;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent_field_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:1493:29
[INFO] [stdout]      |
[INFO] [stdout] 1493 |                         let mut params = vec![crate::sema::Ty::Struct(target.clone())];
[INFO] [stdout]      |                             ----^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:1508:29
[INFO] [stdout]      |
[INFO] [stdout] 1508 |                         let mut params = vec![crate::sema::Ty::Struct(target.clone()), setter_ty.clone()];
[INFO] [stdout]      |                             ----^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vals`
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:3276:26
[INFO] [stdout]      |
[INFO] [stdout] 3276 |                 let (st, vals, len) = match &buf {
[INFO] [stdout]      |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_vals`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bt`
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:3772:33
[INFO] [stdout]      |
[INFO] [stdout] 3772 |                     if let Some(bt) = self.llvm_ty_for_sema(&elem_rt) {
[INFO] [stdout]      |                                 ^^ help: if this is intentional, prefix it with an underscore: `_bt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `param_is_variadic`
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:3747:13
[INFO] [stdout]      |
[INFO] [stdout] 3747 |         let param_is_variadic: Vec<bool> = f.params.iter().map(|p| p.is_variadic).collect();
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_param_is_variadic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_main_with_args`
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:3799:13
[INFO] [stdout]      |
[INFO] [stdout] 3799 |         let is_main_with_args = f.name == "main"
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_main_with_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elem_ty`
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:3894:25
[INFO] [stdout]      |
[INFO] [stdout] 3894 |                     let elem_ty = self.llvm_ty_for_sema(el).unwrap();
[INFO] [stdout]      |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elem_ty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `one`
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:4175:17
[INFO] [stdout]      |
[INFO] [stdout] 4175 |             let one = i32_ty.const_int(1, false);
[INFO] [stdout]      |                 ^^^ help: if this is intentional, prefix it with an underscore: `_one`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cap`
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:4176:17
[INFO] [stdout]      |
[INFO] [stdout] 4176 |             let cap = i32_ty.const_int(16, false);
[INFO] [stdout]      |                 ^^^ help: if this is intentional, prefix it with an underscore: `_cap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:4725:9
[INFO] [stdout]      |
[INFO] [stdout] 4725 |         span: Span,
[INFO] [stdout]      |         ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `llvm_ty`
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:5691:9
[INFO] [stdout]      |
[INFO] [stdout] 5691 |         llvm_ty: BasicTypeEnum<'ctx>,
[INFO] [stdout]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_llvm_ty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cur_bb`
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:6035:13
[INFO] [stdout]      |
[INFO] [stdout] 6035 |         let cur_bb = self.builder.get_insert_block().unwrap();
[INFO] [stdout]      |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cur_bb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:6332:25
[INFO] [stdout]      |
[INFO] [stdout] 6332 |                     let ty = self.llvm_ty_for(prop_ty);
[INFO] [stdout]      |                         ^^ help: if this is intentional, prefix it with an underscore: `_ty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src_owner`
[INFO] [stdout]    --> crates/hella-compiler/src/codegen/mod.rs:548:21
[INFO] [stdout]     |
[INFO] [stdout] 548 |         if let Some(src_owner) = self.pair_owner_of(val_st.get_type()) {
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_owner`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sp`
[INFO] [stdout]    --> crates/hella-compiler/src/codegen/mod.rs:644:28
[INFO] [stdout]     |
[INFO] [stdout] 644 |             Type::Named(n, sp) => {
[INFO] [stdout]     |                            ^^ help: if this is intentional, prefix it with an underscore: `_sp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:9121:13
[INFO] [stdout]      |
[INFO] [stdout] 7640 |             ExprKind::CharLit(c) => Ok(self.context.i32_type().const_int(*c as u64, false).into()),
[INFO] [stdout]      |             -------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 9121 |             ExprKind::CharLit(ch) => {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:9498:13
[INFO] [stdout]      |
[INFO] [stdout] 7781 |             ExprKind::Paren(inner) => self.codegen_expr(inner),
[INFO] [stdout]      |             ---------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 9498 |             ExprKind::Paren(inner) => self.codegen_expr(inner),
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:9608:13
[INFO] [stdout]      |
[INFO] [stdout] 9608 |             _ => todo!("unhandled expr {:?}", expr.kind),
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:9608:13
[INFO] [stdout]      |
[INFO] [stdout] 7628 |             ExprKind::IntLit(v) => {
[INFO] [stdout]      |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 7631 |             ExprKind::FloatLit(v) => {
[INFO] [stdout]      |             --------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 7635 |             ExprKind::BoolLit(b) => Ok(self
[INFO] [stdout]      |             -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 7640 |             ExprKind::CharLit(c) => Ok(self.context.i32_type().const_int(*c as u64, false).into()),
[INFO] [stdout]      |             -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 9608 |             _ => todo!("unhandled expr {:?}", expr.kind),
[INFO] [stdout]      |             ^ ...and 31 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:1122:21
[INFO] [stdout]      |
[INFO] [stdout] 1122 |                 let mut params = vec![crate::sema::Ty::Struct(c.name.clone())];
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:1137:21
[INFO] [stdout]      |
[INFO] [stdout] 1137 |                 let mut params = vec![crate::sema::Ty::Struct(c.name.clone()), setter_ty.clone()];
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parent_field_count`
[INFO] [stdout]    --> crates/hella-compiler/src/codegen/mod.rs:776:29
[INFO] [stdout]     |
[INFO] [stdout] 776 |                         let parent_field_count = parent_struct.count_fields() as usize;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent_field_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:1493:29
[INFO] [stdout]      |
[INFO] [stdout] 1493 |                         let mut params = vec![crate::sema::Ty::Struct(target.clone())];
[INFO] [stdout]      |                             ----^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:1508:29
[INFO] [stdout]      |
[INFO] [stdout] 1508 |                         let mut params = vec![crate::sema::Ty::Struct(target.clone()), setter_ty.clone()];
[INFO] [stdout]      |                             ----^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:8655:37
[INFO] [stdout]      |
[INFO] [stdout] 8655 | ...                   let idx = self.context.i32_type().const_int(j as u64, false);
[INFO] [stdout]      |                           ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `remaining_params`
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:8689:37
[INFO] [stdout]      |
[INFO] [stdout] 8689 | ...                   let remaining_params = info.params.len() - vidx - 1;
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remaining_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vals`
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:3276:26
[INFO] [stdout]      |
[INFO] [stdout] 3276 |                 let (st, vals, len) = match &buf {
[INFO] [stdout]      |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_vals`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:9643:9
[INFO] [stdout]      |
[INFO] [stdout] 9643 |         span: Span,
[INFO] [stdout]      |         ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bt`
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:3772:33
[INFO] [stdout]      |
[INFO] [stdout] 3772 |                     if let Some(bt) = self.llvm_ty_for_sema(&elem_rt) {
[INFO] [stdout]      |                                 ^^ help: if this is intentional, prefix it with an underscore: `_bt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `param_is_variadic`
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:3747:13
[INFO] [stdout]      |
[INFO] [stdout] 3747 |         let param_is_variadic: Vec<bool> = f.params.iter().map(|p| p.is_variadic).collect();
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_param_is_variadic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_main_with_args`
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:3799:13
[INFO] [stdout]      |
[INFO] [stdout] 3799 |         let is_main_with_args = f.name == "main"
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_main_with_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elem_ty`
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:3894:25
[INFO] [stdout]      |
[INFO] [stdout] 3894 |                     let elem_ty = self.llvm_ty_for_sema(el).unwrap();
[INFO] [stdout]      |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elem_ty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `one`
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:4175:17
[INFO] [stdout]      |
[INFO] [stdout] 4175 |             let one = i32_ty.const_int(1, false);
[INFO] [stdout]      |                 ^^^ help: if this is intentional, prefix it with an underscore: `_one`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cap`
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:4176:17
[INFO] [stdout]      |
[INFO] [stdout] 4176 |             let cap = i32_ty.const_int(16, false);
[INFO] [stdout]      |                 ^^^ help: if this is intentional, prefix it with an underscore: `_cap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:4725:9
[INFO] [stdout]      |
[INFO] [stdout] 4725 |         span: Span,
[INFO] [stdout]      |         ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/hella-compiler/src/modules.rs:758:9
[INFO] [stdout]     |
[INFO] [stdout] 758 |     let mut sub = crate::parse::parse(toks.tokens, src).ok()?;
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `llvm_ty`
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:5691:9
[INFO] [stdout]      |
[INFO] [stdout] 5691 |         llvm_ty: BasicTypeEnum<'ctx>,
[INFO] [stdout]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_llvm_ty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> crates/hella-compiler/src/parse/mod.rs:313:21
[INFO] [stdout]     |
[INFO] [stdout] 313 |                 let span = Span::new(start, blk.span.end);
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cur_bb`
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:6035:13
[INFO] [stdout]      |
[INFO] [stdout] 6035 |         let cur_bb = self.builder.get_insert_block().unwrap();
[INFO] [stdout]      |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cur_bb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/hella-compiler/src/parse/mod.rs:705:21
[INFO] [stdout]     |
[INFO] [stdout] 705 |                 let mut prop_vis = if vis == Visibility::Default { Visibility::Public } else { vis };
[INFO] [stdout]     |                     ----^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/hella-compiler/src/parse/mod.rs:770:21
[INFO] [stdout]     |
[INFO] [stdout] 770 |                 let mut op_str = match op_tok.token {
[INFO] [stdout]     |                     ----^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fname`
[INFO] [stdout]    --> crates/hella-compiler/src/parse/mod.rs:903:26
[INFO] [stdout]     |
[INFO] [stdout] 903 |                     let (fname, fspan) = self.parse_ident()?;
[INFO] [stdout]     |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_fname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fspan`
[INFO] [stdout]    --> crates/hella-compiler/src/parse/mod.rs:903:33
[INFO] [stdout]     |
[INFO] [stdout] 903 |                     let (fname, fspan) = self.parse_ident()?;
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_fspan`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `class_vis` is never read
[INFO] [stdout]    --> crates/hella-compiler/src/parse/mod.rs:573:47
[INFO] [stdout]     |
[INFO] [stdout] 573 |         if class_vis == Visibility::Default { class_vis = self.parse_visibility(); }
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:6332:25
[INFO] [stdout]      |
[INFO] [stdout] 6332 |                     let ty = self.llvm_ty_for(prop_ty);
[INFO] [stdout]      |                         ^^ help: if this is intentional, prefix it with an underscore: `_ty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:1239:17
[INFO] [stdout]      |
[INFO] [stdout] 1239 |             let mut is_static = false;
[INFO] [stdout]      |                 ----^^^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:1240:17
[INFO] [stdout]      |
[INFO] [stdout] 1240 |             let mut save_static = self.pos;
[INFO] [stdout]      |                 ----^^^^^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_static`
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:1239:17
[INFO] [stdout]      |
[INFO] [stdout] 1239 |             let mut is_static = false;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `save_static`
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:1240:17
[INFO] [stdout]      |
[INFO] [stdout] 1240 |             let mut save_static = self.pos;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_save_static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `save4`
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:1386:17
[INFO] [stdout]      |
[INFO] [stdout] 1386 |             let save4 = self.pos;
[INFO] [stdout]      |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_save4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:1804:13
[INFO] [stdout]      |
[INFO] [stdout] 1804 |         let mut ty_opt: Option<Type> = None;
[INFO] [stdout]      |             ----^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:1805:13
[INFO] [stdout]      |
[INFO] [stdout] 1805 |         let mut name_opt: Option<(String, Span)> = None;
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty_opt`
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:1804:13
[INFO] [stdout]      |
[INFO] [stdout] 1804 |         let mut ty_opt: Option<Type> = None;
[INFO] [stdout]      |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ty_opt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name_opt`
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:1805:13
[INFO] [stdout]      |
[INFO] [stdout] 1805 |         let mut name_opt: Option<(String, Span)> = None;
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_name_opt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_span`
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:2682:25
[INFO] [stdout]      |
[INFO] [stdout] 2682 |                     let is_span = self.peek().unwrap().span;
[INFO] [stdout]      |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op`
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:2738:18
[INFO] [stdout]      |
[INFO] [stdout] 2738 |             let (op, inclusive) = match self.peek_token() {
[INFO] [stdout]      |                  ^^ help: if this is intentional, prefix it with an underscore: `_op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:2954:33
[INFO] [stdout]      |
[INFO] [stdout] 2954 | ...                   let mut temp_pos = self.pos;
[INFO] [stdout]      |                           ----^^^^^^^^
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `temp_pos`
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:2954:33
[INFO] [stdout]      |
[INFO] [stdout] 2954 | ...                   let mut temp_pos = self.pos;
[INFO] [stdout]      |                           ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `depth` is assigned to, but never used
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:2956:33
[INFO] [stdout]      |
[INFO] [stdout] 2956 | ...                   let mut depth = 0;
[INFO] [stdout]      |                           ^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_depth` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `save3`
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:2960:37
[INFO] [stdout]      |
[INFO] [stdout] 2960 | ...                   let save3 = self.pos;
[INFO] [stdout]      |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_save3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `depth` is never read
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:2963:80
[INFO] [stdout]      |
[INFO] [stdout] 2963 | ...                   if self.peek_token() == Some(&Token::Lt) { depth += 1; }
[INFO] [stdout]      |                                                                  ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:3291:25
[INFO] [stdout]      |
[INFO] [stdout] 3291 |                     let mut in_expr = false;
[INFO] [stdout]      |                         ----^^^^^^^
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:3586:13
[INFO] [stdout]      |
[INFO] [stdout] 3586 |         let mut span_start = alts[0].span().start;
[INFO] [stdout]      |             ----^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `save`
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:3635:25
[INFO] [stdout]      |
[INFO] [stdout] 3635 |                     let save = self.pos;
[INFO] [stdout]      |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_save`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `has_tok`
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:3774:13
[INFO] [stdout]      |
[INFO] [stdout] 3774 |         let has_tok = self.advance().unwrap(); // consume has
[INFO] [stdout]      |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_tok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:9121:13
[INFO] [stdout]      |
[INFO] [stdout] 7640 |             ExprKind::CharLit(c) => Ok(self.context.i32_type().const_int(*c as u64, false).into()),
[INFO] [stdout]      |             -------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 9121 |             ExprKind::CharLit(ch) => {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:9498:13
[INFO] [stdout]      |
[INFO] [stdout] 7781 |             ExprKind::Paren(inner) => self.codegen_expr(inner),
[INFO] [stdout]      |             ---------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 9498 |             ExprKind::Paren(inner) => self.codegen_expr(inner),
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:9608:13
[INFO] [stdout]      |
[INFO] [stdout] 9608 |             _ => todo!("unhandled expr {:?}", expr.kind),
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:9608:13
[INFO] [stdout]      |
[INFO] [stdout] 7628 |             ExprKind::IntLit(v) => {
[INFO] [stdout]      |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 7631 |             ExprKind::FloatLit(v) => {
[INFO] [stdout]      |             --------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 7635 |             ExprKind::BoolLit(b) => Ok(self
[INFO] [stdout]      |             -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 7640 |             ExprKind::CharLit(c) => Ok(self.context.i32_type().const_int(*c as u64, false).into()),
[INFO] [stdout]      |             -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 9608 |             _ => todo!("unhandled expr {:?}", expr.kind),
[INFO] [stdout]      |             ^ ...and 31 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:1155:35
[INFO] [stdout]      |
[INFO] [stdout] 1155 |         if let Ty::Generic(ref n, ref args) = t {
[INFO] [stdout]      |                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:8655:37
[INFO] [stdout]      |
[INFO] [stdout] 8655 | ...                   let idx = self.context.i32_type().const_int(j as u64, false);
[INFO] [stdout]      |                           ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `remaining_params`
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:8689:37
[INFO] [stdout]      |
[INFO] [stdout] 8689 | ...                   let remaining_params = info.params.len() - vidx - 1;
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remaining_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:1576:37
[INFO] [stdout]      |
[INFO] [stdout] 1576 |                         if let Some(ref g) = prop.getter {
[INFO] [stdout]      |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vis`
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:1871:39
[INFO] [stdout]      |
[INFO] [stdout] 1871 |                     for (op_str, sig, vis) in pending_ops {
[INFO] [stdout]      |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_vis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:2022:39
[INFO] [stdout]      |
[INFO] [stdout] 2022 |                 if let Item::Function(f) = item.as_ref() {
[INFO] [stdout]      |                                       ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:4571:13
[INFO] [stdout]      |
[INFO] [stdout] 2978 |             ExprKind::Paren(inner) => self.check_expr(inner),
[INFO] [stdout]      |             ---------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 4571 |             ExprKind::Paren(inner) => self.check_expr(inner),
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:4167:45
[INFO] [stdout]      |
[INFO] [stdout] 4150 | ...   (Some(pats), expecteds) => {
[INFO] [stdout]      |       ----------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 4167 | ...   (Some(_), []) => self.errors.push(SemError{message: format!("variant `{}` has no payload but pattern provides one", variant)...
[INFO] [stdout]      |       ^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:9643:9
[INFO] [stdout]      |
[INFO] [stdout] 9643 |         span: Span,
[INFO] [stdout]      |         ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:3344:37
[INFO] [stdout]      |
[INFO] [stdout] 3344 | ...                   let mut ok = true;
[INFO] [stdout]      |                           ----^^
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ok`
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:3344:37
[INFO] [stdout]      |
[INFO] [stdout] 3344 | ...                   let mut ok = true;
[INFO] [stdout]      |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cls`
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:3427:29
[INFO] [stdout]      |
[INFO] [stdout] 3427 |                 if let Some(cls) = self.classes.get(&callee_key).cloned() {
[INFO] [stdout]      |                             ^^^ help: if this is intentional, prefix it with an underscore: `_cls`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `arm_has_wildcard` is assigned to, but never used
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:4070:25
[INFO] [stdout]      |
[INFO] [stdout] 4070 |                     let mut arm_has_wildcard = false;
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_arm_has_wildcard` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `variant`
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:4099:51
[INFO] [stdout]      |
[INFO] [stdout] 4099 | ...                   Pattern::Enum{variant, variant_span, ..} => {
[INFO] [stdout]      |                                     ^^^^^^^ help: try ignoring the field: `variant: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `found` is never read
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:4005:33
[INFO] [stdout]      |
[INFO] [stdout] 4005 | ...                   found = Some(ename.clone());
[INFO] [stdout]      |                       ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `arm_has_wildcard` is never read
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:4074:29
[INFO] [stdout]      |
[INFO] [stdout] 4074 |                             arm_has_wildcard = true;
[INFO] [stdout]      |                             ^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 4086 |                         Pattern::Var(_, _) => { has_wildcard = true; arm_has_wildcard = true; }
[INFO] [stdout]      |                                                                      ----------------------- `arm_has_wildcard` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `arm_has_wildcard` is never read
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:4086:70
[INFO] [stdout]      |
[INFO] [stdout] 4086 |                         Pattern::Var(_, _) => { has_wildcard = true; arm_has_wildcard = true; }
[INFO] [stdout]      |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 4112 |                             if any_wildcard { has_wildcard = true; arm_has_wildcard = true; }
[INFO] [stdout]      |                                                                    ----------------------- `arm_has_wildcard` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `arm_has_wildcard` is never read
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:4112:68
[INFO] [stdout]      |
[INFO] [stdout] 4112 | ...                   if any_wildcard { has_wildcard = true; arm_has_wildcard = true; }
[INFO] [stdout]      |                                                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_out`
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:4943:33
[INFO] [stdout]      |
[INFO] [stdout] 4943 | ...                   let is_out = matches!(arg, CallArg::Out{..});
[INFO] [stdout]      |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_ref`
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:4944:33
[INFO] [stdout]      |
[INFO] [stdout] 4944 | ...                   let is_ref = matches!(arg, CallArg::Ref{..});
[INFO] [stdout]      |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trait_info`
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:5253:37
[INFO] [stdout]      |
[INFO] [stdout] 5253 |                         if let Some(trait_info) = self.traits.get(trait_name) {
[INFO] [stdout]      |                                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trait_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/hella-compiler/src/modules.rs:758:9
[INFO] [stdout]     |
[INFO] [stdout] 758 |     let mut sub = crate::parse::parse(toks.tokens, src).ok()?;
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> crates/hella-compiler/src/parse/mod.rs:313:21
[INFO] [stdout]     |
[INFO] [stdout] 313 |                 let span = Span::new(start, blk.span.end);
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/hella-compiler/src/parse/mod.rs:705:21
[INFO] [stdout]     |
[INFO] [stdout] 705 |                 let mut prop_vis = if vis == Visibility::Default { Visibility::Public } else { vis };
[INFO] [stdout]     |                     ----^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/hella-compiler/src/parse/mod.rs:770:21
[INFO] [stdout]     |
[INFO] [stdout] 770 |                 let mut op_str = match op_tok.token {
[INFO] [stdout]     |                     ----^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fname`
[INFO] [stdout]    --> crates/hella-compiler/src/parse/mod.rs:903:26
[INFO] [stdout]     |
[INFO] [stdout] 903 |                     let (fname, fspan) = self.parse_ident()?;
[INFO] [stdout]     |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_fname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fspan`
[INFO] [stdout]    --> crates/hella-compiler/src/parse/mod.rs:903:33
[INFO] [stdout]     |
[INFO] [stdout] 903 |                     let (fname, fspan) = self.parse_ident()?;
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_fspan`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `class_vis` is never read
[INFO] [stdout]    --> crates/hella-compiler/src/parse/mod.rs:573:47
[INFO] [stdout]     |
[INFO] [stdout] 573 |         if class_vis == Visibility::Default { class_vis = self.parse_visibility(); }
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:1239:17
[INFO] [stdout]      |
[INFO] [stdout] 1239 |             let mut is_static = false;
[INFO] [stdout]      |                 ----^^^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:1240:17
[INFO] [stdout]      |
[INFO] [stdout] 1240 |             let mut save_static = self.pos;
[INFO] [stdout]      |                 ----^^^^^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_static`
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:1239:17
[INFO] [stdout]      |
[INFO] [stdout] 1239 |             let mut is_static = false;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `save_static`
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:1240:17
[INFO] [stdout]      |
[INFO] [stdout] 1240 |             let mut save_static = self.pos;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_save_static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `save4`
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:1386:17
[INFO] [stdout]      |
[INFO] [stdout] 1386 |             let save4 = self.pos;
[INFO] [stdout]      |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_save4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:1804:13
[INFO] [stdout]      |
[INFO] [stdout] 1804 |         let mut ty_opt: Option<Type> = None;
[INFO] [stdout]      |             ----^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:1805:13
[INFO] [stdout]      |
[INFO] [stdout] 1805 |         let mut name_opt: Option<(String, Span)> = None;
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty_opt`
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:1804:13
[INFO] [stdout]      |
[INFO] [stdout] 1804 |         let mut ty_opt: Option<Type> = None;
[INFO] [stdout]      |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ty_opt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name_opt`
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:1805:13
[INFO] [stdout]      |
[INFO] [stdout] 1805 |         let mut name_opt: Option<(String, Span)> = None;
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_name_opt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_span`
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:2682:25
[INFO] [stdout]      |
[INFO] [stdout] 2682 |                     let is_span = self.peek().unwrap().span;
[INFO] [stdout]      |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op`
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:2738:18
[INFO] [stdout]      |
[INFO] [stdout] 2738 |             let (op, inclusive) = match self.peek_token() {
[INFO] [stdout]      |                  ^^ help: if this is intentional, prefix it with an underscore: `_op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:2954:33
[INFO] [stdout]      |
[INFO] [stdout] 2954 | ...                   let mut temp_pos = self.pos;
[INFO] [stdout]      |                           ----^^^^^^^^
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `temp_pos`
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:2954:33
[INFO] [stdout]      |
[INFO] [stdout] 2954 | ...                   let mut temp_pos = self.pos;
[INFO] [stdout]      |                           ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `depth` is assigned to, but never used
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:2956:33
[INFO] [stdout]      |
[INFO] [stdout] 2956 | ...                   let mut depth = 0;
[INFO] [stdout]      |                           ^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_depth` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `save3`
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:2960:37
[INFO] [stdout]      |
[INFO] [stdout] 2960 | ...                   let save3 = self.pos;
[INFO] [stdout]      |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_save3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `depth` is never read
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:2963:80
[INFO] [stdout]      |
[INFO] [stdout] 2963 | ...                   if self.peek_token() == Some(&Token::Lt) { depth += 1; }
[INFO] [stdout]      |                                                                  ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:3291:25
[INFO] [stdout]      |
[INFO] [stdout] 3291 |                     let mut in_expr = false;
[INFO] [stdout]      |                         ----^^^^^^^
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:3586:13
[INFO] [stdout]      |
[INFO] [stdout] 3586 |         let mut span_start = alts[0].span().start;
[INFO] [stdout]      |             ----^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `save`
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:3635:25
[INFO] [stdout]      |
[INFO] [stdout] 3635 |                     let save = self.pos;
[INFO] [stdout]      |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_save`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `has_tok`
[INFO] [stdout]     --> crates/hella-compiler/src/parse/mod.rs:3774:13
[INFO] [stdout]      |
[INFO] [stdout] 3774 |         let has_tok = self.advance().unwrap(); // consume has
[INFO] [stdout]      |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_tok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:1155:35
[INFO] [stdout]      |
[INFO] [stdout] 1155 |         if let Ty::Generic(ref n, ref args) = t {
[INFO] [stdout]      |                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `unify_int_operands`, `get_or_declare_putchar`, `get_or_declare_strcpy`, `get_or_declare_strcat`, and `get_or_declare_sprintf` are never used
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:2527:8
[INFO] [stdout]      |
[INFO] [stdout]  192 | impl<'ctx> Codegen<'ctx> {
[INFO] [stdout]      | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2527 |     fn unify_int_operands(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3990 |     fn get_or_declare_putchar(&self) -> FunctionValue<'ctx> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4000 |     fn get_or_declare_strcpy(&self) -> FunctionValue<'ctx> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4006 |     fn get_or_declare_strcat(&self) -> FunctionValue<'ctx> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4012 |     fn get_or_declare_sprintf(&self) -> FunctionValue<'ctx> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `span` are never read
[INFO] [stdout]    --> crates/hella-compiler/src/sema/mod.rs:265:5
[INFO] [stdout]     |
[INFO] [stdout] 264 | struct StructInfo {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] 265 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |     span: Span,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StructInfo` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]    --> crates/hella-compiler/src/sema/mod.rs:277:5
[INFO] [stdout]     |
[INFO] [stdout] 276 | struct ClassInfo {
[INFO] [stdout]     |        --------- field in this struct
[INFO] [stdout] 277 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClassInfo` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `span` are never read
[INFO] [stdout]    --> crates/hella-compiler/src/sema/mod.rs:307:5
[INFO] [stdout]     |
[INFO] [stdout] 306 | struct TraitInfo {
[INFO] [stdout]     |        --------- fields in this struct
[INFO] [stdout] 307 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 311 |     span: Span,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TraitInfo` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `variants`, and `span` are never read
[INFO] [stdout]    --> crates/hella-compiler/src/sema/mod.rs:355:5
[INFO] [stdout]     |
[INFO] [stdout] 354 | struct EnumInfo {
[INFO] [stdout]     |        -------- fields in this struct
[INFO] [stdout] 355 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 356 |     variants: Vec<EnumVariantInfo>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 360 |     span: Span,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EnumInfo` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `tag`, `payload_tys`, `discriminant_expr`, and `span` are never read
[INFO] [stdout]    --> crates/hella-compiler/src/sema/mod.rs:365:5
[INFO] [stdout]     |
[INFO] [stdout] 364 | struct EnumVariantInfo {
[INFO] [stdout]     |        --------------- fields in this struct
[INFO] [stdout] 365 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 366 |     tag: usize,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 367 |     payload_tys: Vec<Ty>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 368 |     discriminant_expr: Option<Expr>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 369 |     span: Span,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EnumVariantInfo` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_own` and `own_inner` are never used
[INFO] [stdout]    --> crates/hella-compiler/src/sema/mod.rs:533:8
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl Checker {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 533 |     fn is_own(&self, ty: &Ty) -> bool {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 538 |     fn own_inner(&self, ty: &Ty) -> Option<Ty> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collect_scope_task_decls` is never used
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:5484:4
[INFO] [stdout]      |
[INFO] [stdout] 5484 | fn collect_scope_task_decls(b: &Block, out: &mut Vec<String>) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `elem:` in this pattern is redundant
[INFO] [stdout]    --> crates/hella-compiler/src/codegen/mod.rs:902:47
[INFO] [stdout]     |
[INFO] [stdout] 902 |                 crate::sema::Ty::FixedArray { elem: ref elem, size: ref size } => {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref elem`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_shorthand_field_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `size:` in this pattern is redundant
[INFO] [stdout]    --> crates/hella-compiler/src/codegen/mod.rs:902:63
[INFO] [stdout]     |
[INFO] [stdout] 902 |                 crate::sema::Ty::FixedArray { elem: ref elem, size: ref size } => {
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `key:` in this pattern is redundant
[INFO] [stdout]    --> crates/hella-compiler/src/codegen/mod.rs:920:40
[INFO] [stdout]     |
[INFO] [stdout] 920 |                 crate::sema::Ty::Map { key: ref key, value: ref value } => {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^ help: use shorthand field pattern: `ref key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `value:` in this pattern is redundant
[INFO] [stdout]    --> crates/hella-compiler/src/codegen/mod.rs:920:54
[INFO] [stdout]     |
[INFO] [stdout] 920 |                 crate::sema::Ty::Map { key: ref key, value: ref value } => {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `elem:` in this pattern is redundant
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:1363:47
[INFO] [stdout]      |
[INFO] [stdout] 1363 |                 crate::sema::Ty::FixedArray { elem: ref elem, size: ref size } => {
[INFO] [stdout]      |                                               ^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref elem`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `size:` in this pattern is redundant
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:1363:63
[INFO] [stdout]      |
[INFO] [stdout] 1363 |                 crate::sema::Ty::FixedArray { elem: ref elem, size: ref size } => {
[INFO] [stdout]      |                                                               ^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `key:` in this pattern is redundant
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:1381:40
[INFO] [stdout]      |
[INFO] [stdout] 1381 |                 crate::sema::Ty::Map { key: ref key, value: ref value } => {
[INFO] [stdout]      |                                        ^^^^^^^^^^^^ help: use shorthand field pattern: `ref key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `value:` in this pattern is redundant
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:1381:54
[INFO] [stdout]      |
[INFO] [stdout] 1381 |                 crate::sema::Ty::Map { key: ref key, value: ref value } => {
[INFO] [stdout]      |                                                      ^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `elem:` in this pattern is redundant
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:3899:47
[INFO] [stdout]      |
[INFO] [stdout] 3899 |                 crate::sema::Ty::FixedArray { elem: ref elem, size: ref size } => {
[INFO] [stdout]      |                                               ^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref elem`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `size:` in this pattern is redundant
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:3899:63
[INFO] [stdout]      |
[INFO] [stdout] 3899 |                 crate::sema::Ty::FixedArray { elem: ref elem, size: ref size } => {
[INFO] [stdout]      |                                                               ^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `key:` in this pattern is redundant
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:3918:40
[INFO] [stdout]      |
[INFO] [stdout] 3918 |                 crate::sema::Ty::Map { key: ref key, value: ref value } => {
[INFO] [stdout]      |                                        ^^^^^^^^^^^^ help: use shorthand field pattern: `ref key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `value:` in this pattern is redundant
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:3918:54
[INFO] [stdout]      |
[INFO] [stdout] 3918 |                 crate::sema::Ty::Map { key: ref key, value: ref value } => {
[INFO] [stdout]      |                                                      ^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `elem:` in this pattern is redundant
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:5275:51
[INFO] [stdout]      |
[INFO] [stdout] 5275 |                     crate::sema::Ty::FixedArray { elem: ref elem, size: ref size } => {
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref elem`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `size:` in this pattern is redundant
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:5275:67
[INFO] [stdout]      |
[INFO] [stdout] 5275 |                     crate::sema::Ty::FixedArray { elem: ref elem, size: ref size } => {
[INFO] [stdout]      |                                                                   ^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `key:` in this pattern is redundant
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:5293:44
[INFO] [stdout]      |
[INFO] [stdout] 5293 |                     crate::sema::Ty::Map { key: ref key, value: ref value } => {
[INFO] [stdout]      |                                            ^^^^^^^^^^^^ help: use shorthand field pattern: `ref key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `value:` in this pattern is redundant
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:5293:58
[INFO] [stdout]      |
[INFO] [stdout] 5293 |                     crate::sema::Ty::Map { key: ref key, value: ref value } => {
[INFO] [stdout]      |                                                          ^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking hella-fmt v0.1.0 (/opt/rustwide/workdir/crates/hella-fmt)
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:1576:37
[INFO] [stdout]      |
[INFO] [stdout] 1576 |                         if let Some(ref g) = prop.getter {
[INFO] [stdout]      |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vis`
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:1871:39
[INFO] [stdout]      |
[INFO] [stdout] 1871 |                     for (op_str, sig, vis) in pending_ops {
[INFO] [stdout]      |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_vis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:2022:39
[INFO] [stdout]      |
[INFO] [stdout] 2022 |                 if let Item::Function(f) = item.as_ref() {
[INFO] [stdout]      |                                       ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> crates/hella-fmt/src/lib.rs:1241:1
[INFO] [stdout]      |
[INFO] [stdout] 1241 | ;s.push_str(&self.emit_comments_at(&__leads, self.indent + 1));
[INFO] [stdout]      | ^ help: remove this semicolon
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> crates/hella-fmt/src/lib.rs:1281:1
[INFO] [stdout]      |
[INFO] [stdout] 1281 | ;s.push_str(&self.emit_comments_at(&__leads, self.indent + 1));
[INFO] [stdout]      | ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> crates/hella-fmt/src/lib.rs:1319:1
[INFO] [stdout]      |
[INFO] [stdout] 1319 | ;s.push_str(&self.emit_comments_at(&__leads, self.indent + 1));
[INFO] [stdout]      | ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> crates/hella-fmt/src/lib.rs:1356:1
[INFO] [stdout]      |
[INFO] [stdout] 1356 | ;s.push_str(&self.emit_comments_at(&__leads, self.indent + 1));
[INFO] [stdout]      | ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> crates/hella-fmt/src/lib.rs:2164:1
[INFO] [stdout]      |
[INFO] [stdout] 2164 | ;s.push_str(&self.emit_comments_at(&__leads, self.indent + 1));
[INFO] [stdout]      | ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> crates/hella-fmt/src/lib.rs:2199:1
[INFO] [stdout]      |
[INFO] [stdout] 2199 | ;s.push_str(&self.emit_comments_at(&__leads, self.indent + 1));
[INFO] [stdout]      | ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> crates/hella-fmt/src/lib.rs:2240:1
[INFO] [stdout]      |
[INFO] [stdout] 2240 | ;s.push_str(&self.emit_comments_at(&__leads, outer + 1));
[INFO] [stdout]      | ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:4571:13
[INFO] [stdout]      |
[INFO] [stdout] 2978 |             ExprKind::Paren(inner) => self.check_expr(inner),
[INFO] [stdout]      |             ---------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 4571 |             ExprKind::Paren(inner) => self.check_expr(inner),
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:4167:45
[INFO] [stdout]      |
[INFO] [stdout] 4150 | ...   (Some(pats), expecteds) => {
[INFO] [stdout]      |       ----------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 4167 | ...   (Some(_), []) => self.errors.push(SemError{message: format!("variant `{}` has no payload but pattern provides one", variant)...
[INFO] [stdout]      |       ^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> crates/hella-fmt/src/lib.rs:1241:1
[INFO] [stdout]      |
[INFO] [stdout] 1241 | ;s.push_str(&self.emit_comments_at(&__leads, self.indent + 1));
[INFO] [stdout]      | ^ help: remove this semicolon
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> crates/hella-fmt/src/lib.rs:1281:1
[INFO] [stdout]      |
[INFO] [stdout] 1281 | ;s.push_str(&self.emit_comments_at(&__leads, self.indent + 1));
[INFO] [stdout]      | ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> crates/hella-fmt/src/lib.rs:1319:1
[INFO] [stdout]      |
[INFO] [stdout] 1319 | ;s.push_str(&self.emit_comments_at(&__leads, self.indent + 1));
[INFO] [stdout]      | ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> crates/hella-fmt/src/lib.rs:1356:1
[INFO] [stdout]      |
[INFO] [stdout] 1356 | ;s.push_str(&self.emit_comments_at(&__leads, self.indent + 1));
[INFO] [stdout]      | ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> crates/hella-fmt/src/lib.rs:2164:1
[INFO] [stdout]      |
[INFO] [stdout] 2164 | ;s.push_str(&self.emit_comments_at(&__leads, self.indent + 1));
[INFO] [stdout]      | ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> crates/hella-fmt/src/lib.rs:2199:1
[INFO] [stdout]      |
[INFO] [stdout] 2199 | ;s.push_str(&self.emit_comments_at(&__leads, self.indent + 1));
[INFO] [stdout]      | ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> crates/hella-fmt/src/lib.rs:2240:1
[INFO] [stdout]      |
[INFO] [stdout] 2240 | ;s.push_str(&self.emit_comments_at(&__leads, outer + 1));
[INFO] [stdout]      | ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:3344:37
[INFO] [stdout]      |
[INFO] [stdout] 3344 | ...                   let mut ok = true;
[INFO] [stdout]      |                           ----^^
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ok`
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:3344:37
[INFO] [stdout]      |
[INFO] [stdout] 3344 | ...                   let mut ok = true;
[INFO] [stdout]      |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cls`
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:3427:29
[INFO] [stdout]      |
[INFO] [stdout] 3427 |                 if let Some(cls) = self.classes.get(&callee_key).cloned() {
[INFO] [stdout]      |                             ^^^ help: if this is intentional, prefix it with an underscore: `_cls`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `arm_has_wildcard` is assigned to, but never used
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:4070:25
[INFO] [stdout]      |
[INFO] [stdout] 4070 |                     let mut arm_has_wildcard = false;
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_arm_has_wildcard` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `variant`
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:4099:51
[INFO] [stdout]      |
[INFO] [stdout] 4099 | ...                   Pattern::Enum{variant, variant_span, ..} => {
[INFO] [stdout]      |                                     ^^^^^^^ help: try ignoring the field: `variant: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `found` is never read
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:4005:33
[INFO] [stdout]      |
[INFO] [stdout] 4005 | ...                   found = Some(ename.clone());
[INFO] [stdout]      |                       ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `arm_has_wildcard` is never read
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:4074:29
[INFO] [stdout]      |
[INFO] [stdout] 4074 |                             arm_has_wildcard = true;
[INFO] [stdout]      |                             ^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 4086 |                         Pattern::Var(_, _) => { has_wildcard = true; arm_has_wildcard = true; }
[INFO] [stdout]      |                                                                      ----------------------- `arm_has_wildcard` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `arm_has_wildcard` is never read
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:4086:70
[INFO] [stdout]      |
[INFO] [stdout] 4086 |                         Pattern::Var(_, _) => { has_wildcard = true; arm_has_wildcard = true; }
[INFO] [stdout]      |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 4112 |                             if any_wildcard { has_wildcard = true; arm_has_wildcard = true; }
[INFO] [stdout]      |                                                                    ----------------------- `arm_has_wildcard` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `arm_has_wildcard` is never read
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:4112:68
[INFO] [stdout]      |
[INFO] [stdout] 4112 | ...                   if any_wildcard { has_wildcard = true; arm_has_wildcard = true; }
[INFO] [stdout]      |                                                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_out`
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:4943:33
[INFO] [stdout]      |
[INFO] [stdout] 4943 | ...                   let is_out = matches!(arg, CallArg::Out{..});
[INFO] [stdout]      |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_ref`
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:4944:33
[INFO] [stdout]      |
[INFO] [stdout] 4944 | ...                   let is_ref = matches!(arg, CallArg::Ref{..});
[INFO] [stdout]      |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trait_info`
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:5253:37
[INFO] [stdout]      |
[INFO] [stdout] 5253 |                         if let Some(trait_info) = self.traits.get(trait_name) {
[INFO] [stdout]      |                                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trait_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/hella-fmt/src/lib.rs:946:13
[INFO] [stdout]     |
[INFO] [stdout] 946 |         let mut sections: Vec<String> = Vec::new();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sections`
[INFO] [stdout]    --> crates/hella-fmt/src/lib.rs:946:13
[INFO] [stdout]     |
[INFO] [stdout] 946 |         let mut sections: Vec<String> = Vec::new();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sections`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `line` is never read
[INFO] [stdout]   --> crates/hella-fmt/src/lib.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 92 | struct Comment {
[INFO] [stdout]    |        ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 97 |     line: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Comment` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/hella-fmt/src/lib.rs:946:13
[INFO] [stdout]     |
[INFO] [stdout] 946 |         let mut sections: Vec<String> = Vec::new();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sections`
[INFO] [stdout]    --> crates/hella-fmt/src/lib.rs:946:13
[INFO] [stdout]     |
[INFO] [stdout] 946 |         let mut sections: Vec<String> = Vec::new();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sections`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `unify_int_operands`, `get_or_declare_putchar`, `get_or_declare_strcpy`, `get_or_declare_strcat`, and `get_or_declare_sprintf` are never used
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:2527:8
[INFO] [stdout]      |
[INFO] [stdout]  192 | impl<'ctx> Codegen<'ctx> {
[INFO] [stdout]      | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2527 |     fn unify_int_operands(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3990 |     fn get_or_declare_putchar(&self) -> FunctionValue<'ctx> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4000 |     fn get_or_declare_strcpy(&self) -> FunctionValue<'ctx> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4006 |     fn get_or_declare_strcat(&self) -> FunctionValue<'ctx> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4012 |     fn get_or_declare_sprintf(&self) -> FunctionValue<'ctx> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `span` are never read
[INFO] [stdout]    --> crates/hella-compiler/src/sema/mod.rs:265:5
[INFO] [stdout]     |
[INFO] [stdout] 264 | struct StructInfo {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] 265 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |     span: Span,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StructInfo` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]    --> crates/hella-compiler/src/sema/mod.rs:277:5
[INFO] [stdout]     |
[INFO] [stdout] 276 | struct ClassInfo {
[INFO] [stdout]     |        --------- field in this struct
[INFO] [stdout] 277 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClassInfo` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `span` are never read
[INFO] [stdout]    --> crates/hella-compiler/src/sema/mod.rs:307:5
[INFO] [stdout]     |
[INFO] [stdout] 306 | struct TraitInfo {
[INFO] [stdout]     |        --------- fields in this struct
[INFO] [stdout] 307 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 311 |     span: Span,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TraitInfo` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `variants`, and `span` are never read
[INFO] [stdout]    --> crates/hella-compiler/src/sema/mod.rs:355:5
[INFO] [stdout]     |
[INFO] [stdout] 354 | struct EnumInfo {
[INFO] [stdout]     |        -------- fields in this struct
[INFO] [stdout] 355 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 356 |     variants: Vec<EnumVariantInfo>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 360 |     span: Span,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EnumInfo` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `tag`, `payload_tys`, `discriminant_expr`, and `span` are never read
[INFO] [stdout]    --> crates/hella-compiler/src/sema/mod.rs:365:5
[INFO] [stdout]     |
[INFO] [stdout] 364 | struct EnumVariantInfo {
[INFO] [stdout]     |        --------------- fields in this struct
[INFO] [stdout] 365 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 366 |     tag: usize,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 367 |     payload_tys: Vec<Ty>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 368 |     discriminant_expr: Option<Expr>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 369 |     span: Span,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EnumVariantInfo` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_own` and `own_inner` are never used
[INFO] [stdout]    --> crates/hella-compiler/src/sema/mod.rs:533:8
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl Checker {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 533 |     fn is_own(&self, ty: &Ty) -> bool {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 538 |     fn own_inner(&self, ty: &Ty) -> Option<Ty> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collect_scope_task_decls` is never used
[INFO] [stdout]     --> crates/hella-compiler/src/sema/mod.rs:5484:4
[INFO] [stdout]      |
[INFO] [stdout] 5484 | fn collect_scope_task_decls(b: &Block, out: &mut Vec<String>) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `elem:` in this pattern is redundant
[INFO] [stdout]    --> crates/hella-compiler/src/codegen/mod.rs:902:47
[INFO] [stdout]     |
[INFO] [stdout] 902 |                 crate::sema::Ty::FixedArray { elem: ref elem, size: ref size } => {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref elem`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_shorthand_field_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `size:` in this pattern is redundant
[INFO] [stdout]    --> crates/hella-compiler/src/codegen/mod.rs:902:63
[INFO] [stdout]     |
[INFO] [stdout] 902 |                 crate::sema::Ty::FixedArray { elem: ref elem, size: ref size } => {
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `key:` in this pattern is redundant
[INFO] [stdout]    --> crates/hella-compiler/src/codegen/mod.rs:920:40
[INFO] [stdout]     |
[INFO] [stdout] 920 |                 crate::sema::Ty::Map { key: ref key, value: ref value } => {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^ help: use shorthand field pattern: `ref key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `value:` in this pattern is redundant
[INFO] [stdout]    --> crates/hella-compiler/src/codegen/mod.rs:920:54
[INFO] [stdout]     |
[INFO] [stdout] 920 |                 crate::sema::Ty::Map { key: ref key, value: ref value } => {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `elem:` in this pattern is redundant
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:1363:47
[INFO] [stdout]      |
[INFO] [stdout] 1363 |                 crate::sema::Ty::FixedArray { elem: ref elem, size: ref size } => {
[INFO] [stdout]      |                                               ^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref elem`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `size:` in this pattern is redundant
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:1363:63
[INFO] [stdout]      |
[INFO] [stdout] 1363 |                 crate::sema::Ty::FixedArray { elem: ref elem, size: ref size } => {
[INFO] [stdout]      |                                                               ^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `key:` in this pattern is redundant
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:1381:40
[INFO] [stdout]      |
[INFO] [stdout] 1381 |                 crate::sema::Ty::Map { key: ref key, value: ref value } => {
[INFO] [stdout]      |                                        ^^^^^^^^^^^^ help: use shorthand field pattern: `ref key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `value:` in this pattern is redundant
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:1381:54
[INFO] [stdout]      |
[INFO] [stdout] 1381 |                 crate::sema::Ty::Map { key: ref key, value: ref value } => {
[INFO] [stdout]      |                                                      ^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `elem:` in this pattern is redundant
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:3899:47
[INFO] [stdout]      |
[INFO] [stdout] 3899 |                 crate::sema::Ty::FixedArray { elem: ref elem, size: ref size } => {
[INFO] [stdout]      |                                               ^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref elem`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `size:` in this pattern is redundant
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:3899:63
[INFO] [stdout]      |
[INFO] [stdout] 3899 |                 crate::sema::Ty::FixedArray { elem: ref elem, size: ref size } => {
[INFO] [stdout]      |                                                               ^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `key:` in this pattern is redundant
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:3918:40
[INFO] [stdout]      |
[INFO] [stdout] 3918 |                 crate::sema::Ty::Map { key: ref key, value: ref value } => {
[INFO] [stdout]      |                                        ^^^^^^^^^^^^ help: use shorthand field pattern: `ref key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `value:` in this pattern is redundant
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:3918:54
[INFO] [stdout]      |
[INFO] [stdout] 3918 |                 crate::sema::Ty::Map { key: ref key, value: ref value } => {
[INFO] [stdout]      |                                                      ^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `elem:` in this pattern is redundant
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:5275:51
[INFO] [stdout]      |
[INFO] [stdout] 5275 |                     crate::sema::Ty::FixedArray { elem: ref elem, size: ref size } => {
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref elem`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `size:` in this pattern is redundant
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:5275:67
[INFO] [stdout]      |
[INFO] [stdout] 5275 |                     crate::sema::Ty::FixedArray { elem: ref elem, size: ref size } => {
[INFO] [stdout]      |                                                                   ^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `key:` in this pattern is redundant
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:5293:44
[INFO] [stdout]      |
[INFO] [stdout] 5293 |                     crate::sema::Ty::Map { key: ref key, value: ref value } => {
[INFO] [stdout]      |                                            ^^^^^^^^^^^^ help: use shorthand field pattern: `ref key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `value:` in this pattern is redundant
[INFO] [stdout]     --> crates/hella-compiler/src/codegen/mod.rs:5293:58
[INFO] [stdout]      |
[INFO] [stdout] 5293 |                     crate::sema::Ty::Map { key: ref key, value: ref value } => {
[INFO] [stdout]      |                                                          ^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `line` is never read
[INFO] [stdout]   --> crates/hella-fmt/src/lib.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 92 | struct Comment {
[INFO] [stdout]    |        ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 97 |     line: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Comment` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking hella-lsp v0.1.0 (/opt/rustwide/workdir/crates/hella-lsp)
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]    --> crates/hella-lsp/src/actions.rs:159:26
[INFO] [stdout]     |
[INFO] [stdout] 159 | fn insert_end(uri: &Uri, text: &str, diag: &Diagnostic) -> Option<CodeAction> {
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]    --> crates/hella-lsp/src/actions.rs:159:26
[INFO] [stdout]     |
[INFO] [stdout] 159 | fn insert_end(uri: &Uri, text: &str, diag: &Diagnostic) -> Option<CodeAction> {
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `version` is never read
[INFO] [stdout]    --> crates/hella-cli/src/main.rs:523:5
[INFO] [stdout]     |
[INFO] [stdout] 521 | struct Manifest {
[INFO] [stdout]     |        -------- field in this struct
[INFO] [stdout] 522 |     name: String,
[INFO] [stdout] 523 |     version: String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/hella-cli/src/pkg.rs:779:9
[INFO] [stdout]     |
[INFO] [stdout] 779 |         ensure_git();
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]     |
[INFO] [stdout] 779 |         let _unused = ensure_git();
[INFO] [stdout]     |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/hella-cli/src/pkg.rs:848:5
[INFO] [stdout]     |
[INFO] [stdout] 848 |     ensure_git();
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]     |
[INFO] [stdout] 848 |     let _unused = ensure_git();
[INFO] [stdout]     |     +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> crates/hella-cli/src/pkg.rs:1415:5
[INFO] [stdout]      |
[INFO] [stdout] 1415 |     ensure_git();
[INFO] [stdout]      |     ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 1415 |     let _unused = ensure_git();
[INFO] [stdout]      |     +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `version` is never read
[INFO] [stdout]    --> crates/hella-cli/src/main.rs:523:5
[INFO] [stdout]     |
[INFO] [stdout] 521 | struct Manifest {
[INFO] [stdout]     |        -------- field in this struct
[INFO] [stdout] 522 |     name: String,
[INFO] [stdout] 523 |     version: String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/hella-cli/src/pkg.rs:779:9
[INFO] [stdout]     |
[INFO] [stdout] 779 |         ensure_git();
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]     |
[INFO] [stdout] 779 |         let _unused = ensure_git();
[INFO] [stdout]     |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/hella-cli/src/pkg.rs:848:5
[INFO] [stdout]     |
[INFO] [stdout] 848 |     ensure_git();
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]     |
[INFO] [stdout] 848 |     let _unused = ensure_git();
[INFO] [stdout]     |     +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> crates/hella-cli/src/pkg.rs:1415:5
[INFO] [stdout]      |
[INFO] [stdout] 1415 |     ensure_git();
[INFO] [stdout]      |     ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 1415 |     let _unused = ensure_git();
[INFO] [stdout]      |     +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `addFetches_resolves_and_removes` should have a snake case name
[INFO] [stdout]     --> crates/hella-cli/src/pkg.rs:1661:8
[INFO] [stdout]      |
[INFO] [stdout] 1661 |     fn addFetches_resolves_and_removes() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `add_fetches_resolves_and_removes`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `clap`
[INFO] [stderr]   --> crates/hella-compiler/Cargo.toml:11:1
[INFO] [stderr]    |
[INFO] [stderr] 11 | clap = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `clap`
[INFO] [stderr] warning: `hella-compiler` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 30.23s
[INFO] running `Command { std: "docker" "inspect" "9a1031af860bd7fa2032b5e31132db190585fb4e267d77074c6daf393f232f21", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9a1031af860bd7fa2032b5e31132db190585fb4e267d77074c6daf393f232f21", kill_on_drop: false }`
[INFO] [stdout] 9a1031af860bd7fa2032b5e31132db190585fb4e267d77074c6daf393f232f21
