[INFO] cloning repository https://github.com/Roast-Lang/roast
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Roast-Lang/roast" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRoast-Lang%2Froast", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRoast-Lang%2Froast'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 82fb0eb9e418d511695adcc6df3678005c4b44de
[INFO] building Roast-Lang/roast against try#58b1b3c5342a414c161338871f8004258ccef2a7 for pr-149937
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRoast-Lang%2Froast" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  92% (487/524)
Updating files:  93% (488/524)
Updating files:  94% (493/524)
Updating files:  95% (498/524)
Updating files:  96% (504/524)
Updating files:  97% (509/524)
Updating files:  98% (514/524)
Updating files:  99% (519/524)
Updating files: 100% (524/524)
Updating files: 100% (524/524), done.
[INFO] removed /workspace/builds/worker-0-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/Roast-Lang/roast
[INFO] finished tweaking git repo https://github.com/Roast-Lang/roast
[INFO] tweaked toml for git repo https://github.com/Roast-Lang/roast written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Roast-Lang/roast on toolchain 58b1b3c5342a414c161338871f8004258ccef2a7
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+58b1b3c5342a414c161338871f8004258ccef2a7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+58b1b3c5342a414c161338871f8004258ccef2a7" "generate-lockfile" "--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]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 428 packages to latest compatible versions
[INFO] [stderr]       Adding base64 v0.21.7 (available: v0.22.1)
[INFO] [stderr]       Adding bcrypt v0.15.1 (available: v0.17.1)
[INFO] [stderr]       Adding codespan-reporting v0.11.1 (available: v0.13.1)
[INFO] [stderr]       Adding colored v2.2.0 (available: v3.0.0)
[INFO] [stderr]       Adding console v0.15.11 (available: v0.16.2)
[INFO] [stderr]       Adding cranelift-codegen v0.111.5 (available: v0.127.0)
[INFO] [stderr]       Adding cranelift-codegen v0.112.3 (available: v0.127.0)
[INFO] [stderr]       Adding cranelift-frontend v0.111.5 (available: v0.127.0)
[INFO] [stderr]       Adding cranelift-frontend v0.112.3 (available: v0.127.0)
[INFO] [stderr]       Adding cranelift-jit v0.111.5 (available: v0.127.0)
[INFO] [stderr]       Adding cranelift-jit v0.112.3 (available: v0.127.0)
[INFO] [stderr]       Adding cranelift-module v0.111.5 (available: v0.127.0)
[INFO] [stderr]       Adding cranelift-module v0.112.3 (available: v0.127.0)
[INFO] [stderr]       Adding cranelift-native v0.111.5 (available: v0.127.0)
[INFO] [stderr]       Adding cranelift-native v0.112.3 (available: v0.127.0)
[INFO] [stderr]       Adding cranelift-object v0.111.5 (available: v0.127.0)
[INFO] [stderr]       Adding dashmap v5.5.3 (available: v6.1.0)
[INFO] [stderr]       Adding dirs v5.0.1 (available: v6.0.0)
[INFO] [stderr]       Adding generic-array v0.14.7 (available: v0.14.9)
[INFO] [stderr]       Adding gimli v0.31.1 (available: v0.32.3)
[INFO] [stderr]       Adding indicatif v0.17.11 (available: v0.18.3)
[INFO] [stderr]       Adding libloading v0.8.9 (available: v0.9.0)
[INFO] [stderr]       Adding logos v0.14.4 (available: v0.16.0)
[INFO] [stderr]       Adding metal v0.28.0 (available: v0.33.0)
[INFO] [stderr]       Adding nix v0.27.1 (available: v0.30.1)
[INFO] [stderr]       Adding object v0.36.7 (available: v0.38.0)
[INFO] [stderr]       Adding petgraph v0.6.5 (available: v0.8.3)
[INFO] [stderr]       Adding pyo3 v0.22.6 (available: v0.27.2)
[INFO] [stderr]       Adding rand v0.8.5 (available: v0.9.2)
[INFO] [stderr]       Adding reqwest v0.11.27 (available: v0.12.28)
[INFO] [stderr]       Adding rusqlite v0.31.0 (available: v0.38.0)
[INFO] [stderr]       Adding rustc-hash v1.1.0 (available: v2.1.1)
[INFO] [stderr]       Adding rustyline v14.0.0 (available: v17.0.2)
[INFO] [stderr]       Adding string-interner v0.17.0 (available: v0.19.0)
[INFO] [stderr]       Adding target-lexicon v0.12.16 (available: v0.13.4)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.17)
[INFO] [stderr]       Adding toml v0.8.23 (available: v0.9.10+spec-1.1.0)
[INFO] [stderr]       Adding ureq v2.12.1 (available: v3.1.4)
[INFO] [stderr]       Adding which v5.0.0 (available: v8.0.0)
[INFO] [stderr]       Adding winreg v0.52.0 (available: v0.55.0)
[INFO] [stderr]       Adding zip v0.6.6 (available: v7.0.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+58b1b3c5342a414c161338871f8004258ccef2a7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+58b1b3c5342a414c161338871f8004258ccef2a7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 89469ff833141b792faa43ab44f7111e71ee939ee9facc0b6718b4269f645a90
[INFO] running `Command { std: "docker" "start" "-a" "89469ff833141b792faa43ab44f7111e71ee939ee9facc0b6718b4269f645a90", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "89469ff833141b792faa43ab44f7111e71ee939ee9facc0b6718b4269f645a90", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "89469ff833141b792faa43ab44f7111e71ee939ee9facc0b6718b4269f645a90", kill_on_drop: false }`
[INFO] [stdout] 89469ff833141b792faa43ab44f7111e71ee939ee9facc0b6718b4269f645a90
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+58b1b3c5342a414c161338871f8004258ccef2a7" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1f8c90763ace37ef93799010427acd1e67d564392907fbc1cf62f990e999b616
[INFO] running `Command { std: "docker" "start" "-a" "1f8c90763ace37ef93799010427acd1e67d564392907fbc1cf62f990e999b616", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling zerocopy-derive v0.8.31
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling indexmap v2.12.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling cranelift-isle v0.111.5
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling cranelift-codegen-shared v0.111.5
[INFO] [stderr]    Compiling cranelift-codegen-meta v0.111.5
[INFO] [stderr]    Compiling cc v1.2.50
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-registry v1.4.7
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling target-lexicon v0.12.16
[INFO] [stderr]    Compiling id-arena v2.2.1
[INFO] [stderr]    Compiling cranelift-bitset v0.111.5
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling cranelift-entity v0.111.5
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling slice-group-by v0.3.1
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling hashbrown v0.13.2
[INFO] [stderr]    Compiling arbitrary v1.4.2
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling string-interner v0.17.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling regalloc2 v0.9.3
[INFO] [stderr]    Compiling roast-common v0.1.0 (/opt/rustwide/workdir/crates/common)
[INFO] [stderr]    Compiling cranelift-bforest v0.111.5
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> crates/common/src/error_codes.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling cranelift-control v0.111.5
[INFO] [stderr]    Compiling gimli v0.29.0
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/common/src/interner.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let mut interner = Self {
[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] [stderr]    Compiling bumpalo v3.19.1
[INFO] [stderr]    Compiling cranelift-codegen v0.111.5
[INFO] [stderr]    Compiling roast-ast v0.1.0 (/opt/rustwide/workdir/crates/ast)
[INFO] [stdout] warning: unused import: `Ident`
[INFO] [stdout]  --> crates/ast/src/macros.rs:5:40
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{Decorator, Expr, ExprKind, Ident, Keyword};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling roast-typer v0.1.0 (/opt/rustwide/workdir/crates/typer)
[INFO] [stdout] warning: unused import: `roast_common::Symbol`
[INFO] [stdout]  --> crates/typer/src/builtins.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use roast_common::Symbol;
[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: `roast_common::Symbol`
[INFO] [stdout]  --> crates/typer/src/ownership.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use roast_common::Symbol;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/typer/src/ownership.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ClassType`
[INFO] [stdout]  --> crates/typer/src/mro.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::types::{Type, ClassType};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OwnershipInfo` and `TypeTrait`
[INFO] [stdout]  --> crates/typer/src/concurrency.rs:7:43
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::ownership::{OwnershipAnalyzer, OwnershipInfo, TypeTrait};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `roast_common::prelude::*`
[INFO] [stdout]   --> crates/typer/src/lib.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use roast_common::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> crates/typer/src/infer.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         (t, Type::Optional(inner)) => unify(ctx, t, inner),
[INFO] [stdout]    |         -------------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 67 |         (Type::Optional(a), Type::Optional(b)) => unify(ctx, a, b),
[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: unused variable: `name`
[INFO] [stdout]    --> crates/typer/src/checker.rs:126:53
[INFO] [stdout]     |
[INFO] [stdout] 126 |             StmtKind::FunctionDef { body, is_async, name, .. } => {
[INFO] [stdout]     |                                                     ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> crates/typer/src/checker.rs:1493:56
[INFO] [stdout]      |
[INFO] [stdout] 1400 | ...   PatternKind::MatchValue { value } => {
[INFO] [stdout]      |       --------------------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1493 | ...   PatternKind::MatchSingleton { value: _ } | PatternKind::MatchValue { value: _ } if matches!(subject_type, Type::Optional(_))...
[INFO] [stdout]      |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cls`
[INFO] [stdout]    --> crates/typer/src/ownership.rs:329:25
[INFO] [stdout]     |
[INFO] [stdout] 329 |             Type::Class(cls) => {
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_cls`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keys`
[INFO] [stdout]    --> crates/typer/src/exhaustiveness.rs:198:41
[INFO] [stdout]     |
[INFO] [stdout] 198 |             PatternKind::MatchMapping { keys, patterns, rest } => {
[INFO] [stdout]     |                                         ^^^^ help: try ignoring the field: `keys: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rest`
[INFO] [stdout]    --> crates/typer/src/exhaustiveness.rs:198:57
[INFO] [stdout]     |
[INFO] [stdout] 198 |             PatternKind::MatchMapping { keys, patterns, rest } => {
[INFO] [stdout]     |                                                         ^^^^ help: try ignoring the field: `rest: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arity`
[INFO] [stdout]    --> crates/typer/src/exhaustiveness.rs:300:13
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let arity = ctor.arity();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_arity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n1`
[INFO] [stdout]    --> crates/typer/src/exhaustiveness.rs:378:35
[INFO] [stdout]     |
[INFO] [stdout] 378 |         (Constructor::ListAtLeast(n1), Constructor::ListAtLeast(n2)) => true,
[INFO] [stdout]     |                                   ^^ help: if this is intentional, prefix it with an underscore: `_n1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n2`
[INFO] [stdout]    --> crates/typer/src/exhaustiveness.rs:378:65
[INFO] [stdout]     |
[INFO] [stdout] 378 |         (Constructor::ListAtLeast(n1), Constructor::ListAtLeast(n2)) => true,
[INFO] [stdout]     |                                                                 ^^ help: if this is intentional, prefix it with an underscore: `_n2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cls`
[INFO] [stdout]    --> crates/typer/src/exhaustiveness.rs:487:21
[INFO] [stdout]     |
[INFO] [stdout] 487 |         Type::Class(cls) => {
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_cls`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub_witness`
[INFO] [stdout]    --> crates/typer/src/exhaustiveness.rs:606:29
[INFO] [stdout]     |
[INFO] [stdout] 606 |                 if let Some(sub_witness) = compute_usefulness(&specialized, &witness_fields, ty) {
[INFO] [stdout]     |                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_witness`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub_witness`
[INFO] [stdout]    --> crates/typer/src/exhaustiveness.rs:621:29
[INFO] [stdout]     |
[INFO] [stdout] 621 |                 if let Some(sub_witness) = compute_usefulness(&specialized, &witness_fields, ty) {
[INFO] [stdout]     |                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_witness`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/typer/src/exhaustiveness.rs:648:9
[INFO] [stdout]     |
[INFO] [stdout] 648 |     let mut has_guard = false;
[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: `has_guard`
[INFO] [stdout]    --> crates/typer/src/exhaustiveness.rs:648:9
[INFO] [stdout]     |
[INFO] [stdout] 648 |     let mut has_guard = false;
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_guard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stdout] warning: method `is_exhaustive` is never used
[INFO] [stdout]    --> crates/typer/src/exhaustiveness.rs:475:8
[INFO] [stdout]     |
[INFO] [stdout] 403 | impl ConstructorSet {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 475 |     fn is_exhaustive(&self, covered: &[Constructor]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling twox-hash v1.6.3
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling roast-hir v0.1.0 (/opt/rustwide/workdir/crates/hir)
[INFO] [stdout] warning: unused import: `roast_common::prelude::*`
[INFO] [stdout]   --> crates/hir/src/lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use roast_common::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rustls-pki-types v1.13.2
[INFO] [stdout] warning: unused variable: `concrete_methods`
[INFO] [stdout]     --> crates/hir/src/build.rs:1723:13
[INFO] [stdout]      |
[INFO] [stdout] 1723 |         let concrete_methods: std::collections::HashSet<String> = members.iter()
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_concrete_methods`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]     --> crates/hir/src/build.rs:1939:41
[INFO] [stdout]      |
[INFO] [stdout] 1939 |                 if let ExprKind::Name { id, .. } = &target.kind {
[INFO] [stdout]      |                                         ^^ help: try ignoring the field: `id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling roast-mir v0.1.0 (/opt/rustwide/workdir/crates/mir)
[INFO] [stdout] warning: unused import: `id_arena::Id`
[INFO] [stdout]  --> crates/mir/src/nodes.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use id_arena::Id;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> crates/mir/src/build.rs:715:13
[INFO] [stdout]     |
[INFO] [stdout] 715 |             _ => {}
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> crates/mir/src/build.rs:715:13
[INFO] [stdout]     |
[INFO] [stdout] 265 |             HirStmtKind::Let { name, ty, init, mutable } => {
[INFO] [stdout]     |             -------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 320 |             HirStmtKind::Assign { target, value } => {
[INFO] [stdout]     |             ------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 403 |             HirStmtKind::Expr(expr_id) => {
[INFO] [stdout]     |             -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 408 |             HirStmtKind::Return(expr) => {
[INFO] [stdout]     |             ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 715 |             _ => {}
[INFO] [stdout]     |             ^ ...and 10 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> crates/mir/src/build.rs:887:14
[INFO] [stdout]     |
[INFO] [stdout] 887 |         for (i, arm) in arms.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> crates/mir/src/build.rs:1393:21
[INFO] [stdout]      |
[INFO] [stdout] 1393 |                     _ => MirBinOp::Add, // Fallback for Is/IsNot
[INFO] [stdout]      |                     ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> crates/mir/src/build.rs:1393:21
[INFO] [stdout]      |
[INFO] [stdout] 1362 |                     HirBinOp::Add => MirBinOp::Add,
[INFO] [stdout]      |                     ------------- matches some of the same values
[INFO] [stdout] 1363 |                     HirBinOp::Sub => MirBinOp::Sub,
[INFO] [stdout]      |                     ------------- matches some of the same values
[INFO] [stdout] 1364 |                     HirBinOp::Mul => MirBinOp::Mul,
[INFO] [stdout]      |                     ------------- matches some of the same values
[INFO] [stdout] 1365 |                     HirBinOp::Div => MirBinOp::Div,
[INFO] [stdout]      |                     ------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1393 |                     _ => MirBinOp::Add, // Fallback for Is/IsNot
[INFO] [stdout]      |                     ^ ...and 19 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling object v0.36.7
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling ruzstd v0.7.3
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling libsqlite3-sys v0.28.0
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling region v2.2.0
[INFO] [stderr]    Compiling wasmtime-jit-icache-coherence v24.0.5
[INFO] [stderr]    Compiling dashmap v5.5.3
[INFO] [stderr]    Compiling rustls v0.23.35
[INFO] [stderr]    Compiling gimli v0.31.1
[INFO] [stderr]    Compiling rustls-webpki v0.103.8
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling webpki-roots v1.0.4
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling blowfish v0.9.1
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling bcrypt v0.15.1
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling uuid v1.19.0
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling tokio-util v0.7.17
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling beef v0.5.2
[INFO] [stderr]    Compiling logos-codegen v0.14.4
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling ureq v2.12.1
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling logos-derive v0.14.4
[INFO] [stderr]    Compiling clap_builder v4.5.53
[INFO] [stderr]    Compiling logos v0.14.4
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling sct v0.7.1
[INFO] [stderr]    Compiling rustls-webpki v0.101.7
[INFO] [stderr]    Compiling bzip2-sys v0.1.13+1.0.8
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling zstd-safe v5.0.2+zstd.1.5.2
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling roast-parser v0.1.0 (/opt/rustwide/workdir/crates/parser)
[INFO] [stdout] warning: unused import: `Symbol`
[INFO] [stdout]  --> crates/parser/src/parser.rs:5:76
[INFO] [stdout]   |
[INFO] [stdout] 5 | use roast_common::{Diagnostic, DiagnosticSink, Interner, SourceFile, Span, Symbol};
[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 variable: `c`
[INFO] [stdout]    --> crates/parser/src/lexer.rs:510:34
[INFO] [stdout]     |
[INFO] [stdout] 510 | ...                   Some(c) => {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `closed` is never read
[INFO] [stdout]    --> crates/parser/src/lexer.rs:445:26
[INFO] [stdout]     |
[INFO] [stdout] 445 |         let mut closed = false;
[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 `seen_double_star` is assigned to, but never used
[INFO] [stdout]    --> crates/parser/src/parser.rs:352:13
[INFO] [stdout]     |
[INFO] [stdout] 352 |         let mut seen_double_star = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_seen_double_star` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `seen_double_star` is never read
[INFO] [stdout]    --> crates/parser/src/parser.rs:369:17
[INFO] [stdout]     |
[INFO] [stdout] 369 |                 seen_double_star = true;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `seen_double_star` is assigned to, but never used
[INFO] [stdout]    --> crates/parser/src/parser.rs:406:13
[INFO] [stdout]     |
[INFO] [stdout] 406 |         let mut seen_double_star = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_seen_double_star` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `seen_double_star` is never read
[INFO] [stdout]    --> crates/parser/src/parser.rs:424:17
[INFO] [stdout]     |
[INFO] [stdout] 424 |                 seen_double_star = true;
[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/parser/src/parser.rs:2598:13
[INFO] [stdout]      |
[INFO] [stdout] 2598 |         let mut lexer = Lexer::new(&temp_source, self.interner);
[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] [stderr]    Compiling rusqlite v0.31.0
[INFO] [stdout] warning: unused variable: `kw`
[INFO] [stdout]   --> crates/parser/src/token.rs:22:30
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn is_keyword(&self, kw: &str) -> bool {
[INFO] [stdout]    |                              ^^ help: if this is intentional, prefix it with an underscore: `_kw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `source` is never read
[INFO] [stdout]   --> crates/parser/src/lexer.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Lexer<'src> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 12 |     source: &'src str,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `at_any` is never used
[INFO] [stdout]   --> crates/parser/src/parser.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl<'a> Parser<'a> {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 82 |     fn at_any(&self, kinds: &[TokenKind]) -> bool {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling clap v4.5.53
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling portable-atomic v1.12.0
[INFO] [stderr]    Compiling base64ct v1.8.1
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling nix v0.28.0
[INFO] [stderr]    Compiling password-hash v0.4.2
[INFO] [stderr]    Compiling pin-project v1.1.10
[INFO] [stderr]    Compiling tokio-rustls v0.24.1
[INFO] [stderr]    Compiling which v5.0.0
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling roast-optimizer v0.1.0 (/opt/rustwide/workdir/crates/optimizer)
[INFO] [stdout] warning: unused import: `FxHashMap`
[INFO] [stdout]  --> crates/optimizer/src/loop_opt.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rustc_hash::{FxHashMap, FxHashSet};
[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: `FxHashMap`
[INFO] [stdout]   --> crates/optimizer/src/unroll.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | use rustc_hash::{FxHashMap, FxHashSet};
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FxHashMap`
[INFO] [stdout]   --> crates/optimizer/src/fusion.rs:34:18
[INFO] [stdout]    |
[INFO] [stdout] 34 | use rustc_hash::{FxHashMap, FxHashSet};
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CachedMethod` and `InlineCache`
[INFO] [stdout]   --> crates/optimizer/src/pgo.rs:19:27
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::inline_cache::{InlineCache, InlineCacheManager, ICState, ShapeId, MethodTarget, CachedMethod};
[INFO] [stdout]    |                           ^^^^^^^^^^^                                                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `roast_typer::Type`
[INFO] [stdout]   --> crates/optimizer/src/pgo.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use roast_typer::Type;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FxHashSet`
[INFO] [stdout]   --> crates/optimizer/src/pgo.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 22 | use rustc_hash::{FxHashMap, FxHashSet};
[INFO] [stdout]    |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> crates/optimizer/src/pgo.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/optimizer/src/passes.rs:845:40
[INFO] [stdout]     |
[INFO] [stdout] 845 |     if let MirTerminator::Call { func, args, destination, target, .. } = &block.terminator {
[INFO] [stdout]     |                                        ^^^^ help: try ignoring the field: `args: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `destination`
[INFO] [stdout]    --> crates/optimizer/src/passes.rs:845:46
[INFO] [stdout]     |
[INFO] [stdout] 845 |     if let MirTerminator::Call { func, args, destination, target, .. } = &block.terminator {
[INFO] [stdout]     |                                              ^^^^^^^^^^^ help: try ignoring the field: `destination: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> crates/optimizer/src/passes.rs:845:59
[INFO] [stdout]     |
[INFO] [stdout] 845 |     if let MirTerminator::Call { func, args, destination, target, .. } = &block.terminator {
[INFO] [stdout]     |                                                           ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> crates/optimizer/src/passes.rs:882:71
[INFO] [stdout]     |
[INFO] [stdout] 882 |                     if let MirStmtKind::Assign { place: assign_place, value } = &stmt.kind {
[INFO] [stdout]     |                                                                       ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]   --> crates/optimizer/src/loop_opt.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     body: &MirBody,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/optimizer/src/unroll.rs:543:30
[INFO] [stdout]     |
[INFO] [stdout] 543 |     fn offset_iv_uses(&self, mut stmt: MirStmt, iv_local: LocalId, offset: i128) -> MirStmt {
[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: `iv_local`
[INFO] [stdout]    --> crates/optimizer/src/unroll.rs:543:49
[INFO] [stdout]     |
[INFO] [stdout] 543 |     fn offset_iv_uses(&self, mut stmt: MirStmt, iv_local: LocalId, offset: i128) -> MirStmt {
[INFO] [stdout]     |                                                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_iv_local`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> crates/optimizer/src/unroll.rs:543:68
[INFO] [stdout]     |
[INFO] [stdout] 543 |     fn offset_iv_uses(&self, mut stmt: MirStmt, iv_local: LocalId, offset: i128) -> MirStmt {
[INFO] [stdout]     |                                                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `place`
[INFO] [stdout]    --> crates/optimizer/src/fusion.rs:229:38
[INFO] [stdout]     |
[INFO] [stdout] 229 |         if let MirStmtKind::Assign { place, value } = &stmt.kind {
[INFO] [stdout]     |                                      ^^^^^ help: try ignoring the field: `place: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/optimizer/src/fusion.rs:324:13
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let mut stmts = Vec::new();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> crates/optimizer/src/fusion.rs:352:18
[INFO] [stdout]     |
[INFO] [stdout] 352 | pub fn fuse_maps(f: &LambdaCapture, g: &LambdaCapture) -> Option<LambdaCapture> {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> crates/optimizer/src/fusion.rs:352:37
[INFO] [stdout]     |
[INFO] [stdout] 352 | pub fn fuse_maps(f: &LambdaCapture, g: &LambdaCapture) -> Option<LambdaCapture> {
[INFO] [stdout]     |                                     ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]    --> crates/optimizer/src/fusion.rs:367:21
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub fn fuse_filters(p: &LambdaCapture, q: &LambdaCapture) -> Option<LambdaCapture> {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `q`
[INFO] [stdout]    --> crates/optimizer/src/fusion.rs:367:40
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub fn fuse_filters(p: &LambdaCapture, q: &LambdaCapture) -> Option<LambdaCapture> {
[INFO] [stdout]     |                                        ^ help: if this is intentional, prefix it with an underscore: `_q`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `candidate`
[INFO] [stdout]    --> crates/optimizer/src/pgo.rs:393:32
[INFO] [stdout]     |
[INFO] [stdout] 393 |     fn devirtualize(&mut self, candidate: DevirtCandidate) {
[INFO] [stdout]     |                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_candidate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func`
[INFO] [stdout]    --> crates/optimizer/src/pgo.rs:396:42
[INFO] [stdout]     |
[INFO] [stdout] 396 |             if let MirTerminator::Call { func, target, .. } = &mut block.terminator {
[INFO] [stdout]     |                                          ^^^^ help: try ignoring the field: `func: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> crates/optimizer/src/pgo.rs:396:48
[INFO] [stdout]     |
[INFO] [stdout] 396 |             if let MirTerminator::Call { func, target, .. } = &mut block.terminator {
[INFO] [stdout]     |                                                ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `return_local` is never read
[INFO] [stdout]    --> crates/optimizer/src/passes.rs:835:5
[INFO] [stdout]     |
[INFO] [stdout] 829 | struct TailCallInfo {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 835 |     return_local: Option<LocalId>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TailCallInfo` has derived impls for the traits `Debug` and `Clone`, 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: field `post_dominators` is never read
[INFO] [stdout]   --> crates/optimizer/src/analysis.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct CfgAnalysis<'a> {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     post_dominators: FxHashMap<BlockId, BlockId>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `init` and `step` are never read
[INFO] [stdout]    --> crates/optimizer/src/loop_opt.rs:271:5
[INFO] [stdout]     |
[INFO] [stdout] 269 | struct InductionVariable {
[INFO] [stdout]     |        ----------------- fields in this struct
[INFO] [stdout] 270 |     local: LocalId,
[INFO] [stdout] 271 |     init: MirConstant,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 272 |     step: MirConstant,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InductionVariable` 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 `next_block_id` and `next_local_id` are never read
[INFO] [stdout]    --> crates/optimizer/src/unroll.rs:280:5
[INFO] [stdout]     |
[INFO] [stdout] 277 | pub struct LoopUnroller<'a> {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 280 |     next_block_id: BlockId,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 281 |     next_local_id: LocalId,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `alloc_block_id` and `alloc_local_id` are never used
[INFO] [stdout]    --> crates/optimizer/src/unroll.rs:550:8
[INFO] [stdout]     |
[INFO] [stdout] 284 | impl<'a> LoopUnroller<'a> {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 550 |     fn alloc_block_id(&mut self) -> BlockId {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 556 |     fn alloc_local_id(&mut self) -> LocalId {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_field_name` and `extract_field_path` are never used
[INFO] [stdout]    --> crates/optimizer/src/sroa.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout]  91 | impl<'a> SroaPass<'a> {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 158 |     fn get_field_name(&self, ty: &Type, field_idx: u32) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     fn extract_field_path(&self, projections: &[MirProjection]) -> Vec<u32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `next_local_id` is never read
[INFO] [stdout]    --> crates/optimizer/src/fusion.rs:254:5
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub struct FusionTransformer<'a> {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 254 |     next_local_id: LocalId,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `alloc_local_id` is never used
[INFO] [stdout]    --> crates/optimizer/src/fusion.rs:344:8
[INFO] [stdout]     |
[INFO] [stdout] 258 | impl<'a> FusionTransformer<'a> {
[INFO] [stdout]     | ------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 344 |     fn alloc_local_id(&mut self) -> LocalId {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `site_id`, `shape`, `target`, and `confidence` are never read
[INFO] [stdout]    --> crates/optimizer/src/pgo.rs:415:5
[INFO] [stdout]     |
[INFO] [stdout] 414 | struct DevirtCandidate {
[INFO] [stdout]     |        --------------- fields in this struct
[INFO] [stdout] 415 |     site_id: u32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 416 |     shape: ShapeId,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 417 |     target: MethodTarget,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 418 |     confidence: f64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DevirtCandidate` 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 `body` is never read
[INFO] [stdout]    --> crates/optimizer/src/pgo.rs:427:5
[INFO] [stdout]     |
[INFO] [stdout] 426 | pub struct SpeculativeInliner<'a> {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] 427 |     body: &'a mut MirBody,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `site_id` is never read
[INFO] [stdout]    --> crates/optimizer/src/pgo.rs:547:5
[INFO] [stdout]     |
[INFO] [stdout] 546 | struct InlineCandidate {
[INFO] [stdout]     |        --------------- field in this struct
[INFO] [stdout] 547 |     site_id: u32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InlineCandidate` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling cranelift-module v0.111.5
[INFO] [stderr]    Compiling cranelift-native v0.111.5
[INFO] [stderr]    Compiling cranelift-frontend v0.111.5
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling cranelift-object v0.111.5
[INFO] [stderr]    Compiling cranelift-jit v0.111.5
[INFO] [stderr]    Compiling tower v0.4.13
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling roast-codegen v0.1.0 (/opt/rustwide/workdir/crates/codegen)
[INFO] [stderr]    Compiling lsp-types v0.94.1
[INFO] [stdout] warning: unused import: `CodegenError`
[INFO] [stdout]  --> crates/codegen/src/emit.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{CodeGenerator, CodegenError, CodegenResult};
[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 variable: `object`
[INFO] [stdout]    --> crates/codegen/src/bytecode.rs:483:36
[INFO] [stdout]     |
[INFO] [stdout] 483 |             MirStmtKind::SetAttr { object, attr, value } => {
[INFO] [stdout]     |                                    ^^^^^^ help: try ignoring the field: `object: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attr`
[INFO] [stdout]    --> crates/codegen/src/bytecode.rs:483:44
[INFO] [stdout]     |
[INFO] [stdout] 483 |             MirStmtKind::SetAttr { object, attr, value } => {
[INFO] [stdout]     |                                            ^^^^ help: try ignoring the field: `attr: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> crates/codegen/src/bytecode.rs:483:50
[INFO] [stdout]     |
[INFO] [stdout] 483 |             MirStmtKind::SetAttr { object, attr, value } => {
[INFO] [stdout]     |                                                  ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> crates/codegen/src/bytecode.rs:486:55
[INFO] [stdout]     |
[INFO] [stdout] 486 |             MirStmtKind::SetAttrIndex { object, attr, index, value } => {
[INFO] [stdout]     |                                                       ^^^^^ help: try ignoring the field: `index: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> crates/codegen/src/emit.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct CodeEmitter {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 11 |     config: TargetConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling hyper-rustls v0.24.2
[INFO] [stderr]    Compiling ed25519 v2.2.3
[INFO] [stderr]    Compiling time v0.3.44
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling bzip2 v0.4.4
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling pbkdf2 v0.11.0
[INFO] [stderr]    Compiling xattr v1.6.1
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling filetime v0.2.26
[INFO] [stderr]    Compiling nibble_vec v0.1.0
[INFO] [stderr]    Compiling auto_impl v1.3.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling tower-lsp-macros v0.9.0
[INFO] [stderr]    Compiling constant_time_eq v0.1.5
[INFO] [stderr]    Compiling number_prefix v0.4.0
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling endian-type v0.1.2
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling radix_trie v0.2.1
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling indicatif v0.17.11
[INFO] [stderr]    Compiling tar v0.4.44
[INFO] [stderr]    Compiling ed25519-dalek v2.2.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling zstd v0.11.2+zstd.1.5.2
[INFO] [stderr]    Compiling zip v0.6.6
[INFO] [stderr]    Compiling fd-lock v4.0.4
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling hostname v0.4.2
[INFO] [stderr]    Compiling nix v0.27.1
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling roast-package-manager v0.1.0 (/opt/rustwide/workdir/crates/package_manager)
[INFO] [stderr]    Compiling rustyline v14.0.0
[INFO] [stdout] warning: field `graph` is never read
[INFO] [stdout]   --> crates/package_manager/src/resolver.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct Resolver {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 26 |     graph: DiGraph<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: field `base_url` is never read
[INFO] [stdout]  --> crates/package_manager/src/registry.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Registry {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 9 |     base_url: String,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling bytemuck v1.24.0
[INFO] [stderr]    Compiling roast-borrowck v0.1.0 (/opt/rustwide/workdir/crates/borrowck)
[INFO] [stdout] warning: unused imports: `DiGraph` and `NodeIndex`
[INFO] [stdout]  --> crates/borrowck/src/dataflow.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use petgraph::graph::{DiGraph, NodeIndex};
[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: `std::hash::Hash`
[INFO] [stdout]   --> crates/borrowck/src/dataflow.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::hash::Hash;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlaceId`
[INFO] [stdout]  --> crates/borrowck/src/moves.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::places::{Place, PlaceId};
[INFO] [stdout]   |                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bitflags::bitflags`
[INFO] [stdout]  --> crates/borrowck/src/regions.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use bitflags::bitflags;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ControlFlowGraph`, `LivenessAnalysis`, `StatementRhs`, `Statement`, and `self`
[INFO] [stdout]  --> crates/borrowck/src/checker.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::dataflow::{self, ControlFlowGraph, LivenessAnalysis, Statement, StatementRhs};
[INFO] [stdout]   |                       ^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllFacts` and `OutputFacts`
[INFO] [stdout]  --> crates/borrowck/src/checker.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::facts::{AllFacts, FactGenerator, OutputFacts};
[INFO] [stdout]   |                    ^^^^^^^^                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LifetimeId`
[INFO] [stdout]  --> crates/borrowck/src/checker.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::lifetime::{LifetimeContext, LifetimeId};
[INFO] [stdout]   |                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MoveError`
[INFO] [stdout]  --> crates/borrowck/src/checker.rs:8:42
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::moves::{InitStatus, MoveData, MoveError};
[INFO] [stdout]   |                                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PlaceElem` and `PlaceSet`
[INFO] [stdout]  --> crates/borrowck/src/checker.rs:9:28
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::places::{Place, PlaceElem, PlaceId, PlaceSet};
[INFO] [stdout]   |                            ^^^^^^^^^           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConstraintKind`, `ConstraintOrigin`, and `RegionId`
[INFO] [stdout]   --> crates/borrowck/src/checker.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::regions::{ConstraintKind, ConstraintOrigin, RegionId, RegionInference};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Loan` and `Location`
[INFO] [stdout]  --> crates/borrowck/src/diagnostics.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::loans::{Loan, LoanKind, Location};
[INFO] [stdout]   |                    ^^^^            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DiagnosticKind`
[INFO] [stdout]  --> crates/borrowck/src/diagnostics.rs:7:32
[INFO] [stdout]   |
[INFO] [stdout] 7 | use roast_common::{Diagnostic, DiagnosticKind, Span};
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `roast_common::prelude::*`
[INFO] [stdout]   --> crates/borrowck/src/lib.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use roast_common::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling roast-llvm-backend v0.1.0 (/opt/rustwide/workdir/crates/llvm_backend)
[INFO] [stdout] warning: unused imports: `RUNTIME_DECLARATIONS` and `TypeTag`
[INFO] [stdout]   --> crates/llvm_backend/src/types.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::runtime::{RUNTIME_DECLARATIONS, TypeTag};
[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: `std::io::Write`
[INFO] [stdout]     --> crates/llvm_backend/src/lib.rs:1390:13
[INFO] [stdout]      |
[INFO] [stdout] 1390 |         use std::io::Write;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> crates/borrowck/src/places.rs:115:34
[INFO] [stdout]     |
[INFO] [stdout] 115 |                 PlaceElem::Field(idx, Some(sym)) => write!(f, ".{}", sym.as_raw())?,
[INFO] [stdout]     |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> crates/borrowck/src/checker.rs:175:78
[INFO] [stdout]     |
[INFO] [stdout] 175 |     fn check_terminator(&mut self, term: &MirTerminator, location: Location, body: &MirBody, span: Span) {
[INFO] [stdout]     |                                                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]    --> crates/borrowck/src/checker.rs:358:51
[INFO] [stdout]     |
[INFO] [stdout] 358 |     fn check_read_place(&mut self, place: &Place, location: Location, span: Span) {
[INFO] [stdout]     |                                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]    --> crates/borrowck/src/checker.rs:393:70
[INFO] [stdout]     |
[INFO] [stdout] 393 |     fn check_write_place(&mut self, mir_place: &roast_mir::MirPlace, location: Location, span: Span) {
[INFO] [stdout]     |                                                                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `interner` is never read
[INFO] [stdout]   --> crates/borrowck/src/checker.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct BorrowChecker<'a> {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     interner: &'a Interner,
[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 variable: `escaped`
[INFO] [stdout]     --> crates/llvm_backend/src/lib.rs:1305:33
[INFO] [stdout]      |
[INFO] [stdout] 1305 | ...                   let escaped = method_name.replace("\\", "\\5C").replace("\"", "\\22");
[INFO] [stdout]      |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_escaped`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `unwind`
[INFO] [stdout]     --> crates/llvm_backend/src/lib.rs:3863:68
[INFO] [stdout]      |
[INFO] [stdout] 3863 |             MirTerminator::Call { func, args, destination, target, unwind } => {
[INFO] [stdout]      |                                                                    ^^^^^^ help: try ignoring the field: `unwind: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `finally`
[INFO] [stdout]     --> crates/llvm_backend/src/lib.rs:5112:55
[INFO] [stdout]      |
[INFO] [stdout] 5112 |             MirTerminator::TryBegin { body, handlers, finally, exit } => {
[INFO] [stdout]      |                                                       ^^^^^^^ help: try ignoring the field: `finally: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> crates/llvm_backend/src/lib.rs:5212:22
[INFO] [stdout]      |
[INFO] [stdout] 5212 |                 for (i, arg) in args.iter().enumerate() {
[INFO] [stdout]      |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ir`, `declarations`, `definitions`, `class_globals`, `debug_metadata_id`, and `debug_functions` are never read
[INFO] [stdout]    --> crates/llvm_backend/src/lib.rs:498:5
[INFO] [stdout]     |
[INFO] [stdout] 495 | pub struct LlvmCodeGen {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 498 |     ir: String,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 499 |     /// Function declarations
[INFO] [stdout] 500 |     declarations: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 501 |     /// Function definitions
[INFO] [stdout] 502 |     definitions: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 514 |     class_globals: HashMap<String, String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 522 |     debug_metadata_id: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 523 |     /// Debug info: function metadata (function_name -> metadata_id)
[INFO] [stdout] 524 |     debug_functions: HashMap<String, u32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `fresh_label` and `generate_block` are never used
[INFO] [stdout]     --> crates/llvm_backend/src/lib.rs:1604:8
[INFO] [stdout]      |
[INFO] [stdout] 1586 | impl<'a> FunctionGen<'a> {
[INFO] [stdout]      | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1604 |     fn fresh_label(&mut self) -> usize {
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2042 |     fn generate_block(&mut self, block: &MirBlock) -> LlvmResult<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling roast-jit v0.1.0 (/opt/rustwide/workdir/crates/jit)
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> crates/jit/src/baseline.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct BaselineCompiler {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 60 |     config: BaselineConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `next_value` is never read
[INFO] [stdout]    --> crates/jit/src/optimizing.rs:402:5
[INFO] [stdout]     |
[INFO] [stdout] 399 | pub struct OptIR {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 402 |     next_value: u32,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `terminator` are never read
[INFO] [stdout]    --> crates/jit/src/optimizing.rs:407:5
[INFO] [stdout]     |
[INFO] [stdout] 406 | pub struct IRBlock {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 407 |     id: usize,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 408 |     instructions: Vec<IRInst>,
[INFO] [stdout] 409 |     terminator: IRTerminator,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `result` and `op` are never read
[INFO] [stdout]    --> crates/jit/src/optimizing.rs:414:5
[INFO] [stdout]     |
[INFO] [stdout] 413 | pub struct IRInst {
[INFO] [stdout]     |            ------ fields in this struct
[INFO] [stdout] 414 |     result: Option<u32>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 415 |     op: IROp,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `header`, `body`, and `exit` are never read
[INFO] [stdout]    --> crates/jit/src/optimizing.rs:446:5
[INFO] [stdout]     |
[INFO] [stdout] 445 | pub struct LoopInfo {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 446 |     header: usize,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 447 |     body: Vec<usize>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 448 |     exit: usize,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `deopt_point` is never read
[INFO] [stdout]    --> crates/jit/src/code_cache.rs:356:5
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct DeoptHandle {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 355 |     func_id: u32,
[INFO] [stdout] 356 |     deopt_point: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling roast-runtime v0.1.0 (/opt/rustwide/workdir/crates/runtime)
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> crates/runtime/src/executor.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cell::RefCell;
[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 doc comment
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:6873:1
[INFO] [stdout]      |
[INFO] [stdout] 6873 | /// Thread-local exception state
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]      |
[INFO] [stdout]      = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]      = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Output` and `Stdio`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:4400:29
[INFO] [stdout]      |
[INFO] [stdout] 4400 | use std::process::{Command, Stdio, Output};
[INFO] [stdout]      |                             ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TcpListener` and `UdpSocket`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:5163:27
[INFO] [stdout]      |
[INFO] [stdout] 5163 | use std::net::{TcpStream, TcpListener, UdpSocket};
[INFO] [stdout]      |                           ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:5518:27
[INFO] [stdout]      |
[INFO] [stdout] 5518 |         result.push(CHARS[(b0 >> 2)] as char);
[INFO] [stdout]      |                           ^       ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 5518 -         result.push(CHARS[(b0 >> 2)] as char);
[INFO] [stdout] 5518 +         result.push(CHARS[b0 >> 2] as char);
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufReader`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:7236:37
[INFO] [stdout]      |
[INFO] [stdout] 7236 | use std::io::{Read, Write, BufRead, BufReader};
[INFO] [stdout]      |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:7611:27
[INFO] [stdout]      |
[INFO] [stdout] 7611 |         result.push(CHARS[(b0 >> 2)] as char);
[INFO] [stdout]      |                           ^       ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 7611 -         result.push(CHARS[(b0 >> 2)] as char);
[INFO] [stdout] 7611 +         result.push(CHARS[b0 >> 2] as char);
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tower-lsp v0.20.0
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:5094:16
[INFO] [stdout]      |
[INFO] [stdout] 5094 | use md5::{Md5, Digest as Md5Digest};
[INFO] [stdout]      |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:7236:28
[INFO] [stdout]      |
[INFO] [stdout] 7236 | use std::io::{Read, Write, BufRead, BufReader};
[INFO] [stdout]      |                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:2569:5
[INFO] [stdout]      |
[INFO] [stdout] 2569 |     func: c_long,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_func`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:2588:5
[INFO] [stdout]      |
[INFO] [stdout] 2588 |     unsafe {
[INFO] [stdout]      |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pred`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:2582:5
[INFO] [stdout]      |
[INFO] [stdout] 2582 |     pred: c_long,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_pred`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pred`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:2598:5
[INFO] [stdout]      |
[INFO] [stdout] 2598 |     pred: c_long,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_pred`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:3251:25
[INFO] [stdout]      |
[INFO] [stdout] 3251 |                     let result = method_fn(obj);
[INFO] [stdout]      |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:3971:13
[INFO] [stdout]      |
[INFO] [stdout] 3971 |         let mut current_class = (*sup).start_class;
[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: `current_class`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:3971:13
[INFO] [stdout]      |
[INFO] [stdout] 3971 |         let mut current_class = (*sup).start_class;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:4017:5
[INFO] [stdout]      |
[INFO] [stdout] 4017 |     args: *const c_long,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nargs`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:4018:5
[INFO] [stdout]      |
[INFO] [stdout] 4018 |     nargs: c_long,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_nargs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `obj`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:4141:66
[INFO] [stdout]      |
[INFO] [stdout] 4141 | pub extern "C" fn roast_property_get(prop: *const RoastProperty, obj: c_long) -> c_long {
[INFO] [stdout]      |                                                                  ^^^ help: if this is intentional, prefix it with an underscore: `_obj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `obj`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:4158:66
[INFO] [stdout]      |
[INFO] [stdout] 4158 | pub extern "C" fn roast_property_set(prop: *const RoastProperty, obj: c_long, value: c_long) {
[INFO] [stdout]      |                                                                  ^^^ help: if this is intentional, prefix it with an underscore: `_obj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:4158:79
[INFO] [stdout]      |
[INFO] [stdout] 4158 | pub extern "C" fn roast_property_set(prop: *const RoastProperty, obj: c_long, value: c_long) {
[INFO] [stdout]      |                                                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exc`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:7135:43
[INFO] [stdout]      |
[INFO] [stdout] 7135 | pub extern "C" fn roast_exception_matches(exc: c_long, type_name: *const c_char) -> c_long {
[INFO] [stdout]      |                                           ^^^ help: if this is intentional, prefix it with an underscore: `_exc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `buffered` is never read
[INFO] [stdout]    --> crates/runtime/src/gc.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout]  99 | struct GcInner<T> {
[INFO] [stdout]     |        ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 104 |     buffered: AtomicUsize,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `color`, `set_color`, `increment_buffered`, `buffered`, and `reset_buffered` are never used
[INFO] [stdout]    --> crates/runtime/src/gc.rs:145:8
[INFO] [stdout]     |
[INFO] [stdout] 108 | impl<T> GcRef<T> {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 145 |     fn color(&self) -> GcColor {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     fn set_color(&self, color: GcColor) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     fn increment_buffered(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     fn buffered(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     fn reset_buffered(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `garbage` is never read
[INFO] [stdout]    --> crates/runtime/src/gc.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub struct CycleCollector {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 214 |     garbage: Mutex<Vec<*const ()>>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `THREADS` is never used
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:5429:8
[INFO] [stdout]      |
[INFO] [stdout] 5429 | static THREADS: Lazy<Mutex<Vec<Option<JoinHandle<c_long>>>>> = Lazy::new(|| Mutex::new(Vec::new()));
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `base64_engine` is never used
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:5537:4
[INFO] [stdout]      |
[INFO] [stdout] 5537 | fn base64_engine() {}
[INFO] [stdout]      |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `exception_type` and `exception_value` are never read
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:6859:5
[INFO] [stdout]      |
[INFO] [stdout] 6857 | struct ExceptionFrame {
[INFO] [stdout]      |        -------------- fields in this struct
[INFO] [stdout] 6858 |     jmp_buf: JmpBuf,
[INFO] [stdout] 6859 |     exception_type: c_long,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^
[INFO] [stdout] 6860 |     exception_value: c_long,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_TAG` is never used
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:7248:7
[INFO] [stdout]      |
[INFO] [stdout] 7248 | const FILE_TAG: u8 = 20;
[INFO] [stdout]      |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setjmp` is never used
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:6764:8
[INFO] [stdout]      |
[INFO] [stdout] 6764 |     fn setjmp(env: *mut JmpBuf) -> c_int;
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling roast-lsp v0.1.0 (/opt/rustwide/workdir/crates/lsp)
[INFO] [stdout] warning: unused import: `resolve_module_path`
[INFO] [stdout]   --> crates/lsp/src/server.rs:14:96
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::analysis::{Analyzer, DocumentAnalysis, SymbolKind, SymbolInfo, builtin_completions, resolve_module_path};
[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 imports: `TypeChecker` and `TypeContext`
[INFO] [stdout]  --> crates/lsp/src/analysis.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 | use roast_typer::{Type, TypeContext, TypeChecker};
[INFO] [stdout]   |                         ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Location` and `Url`
[INFO] [stdout]   --> crates/lsp/src/analysis.rs:11:45
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tower_lsp::lsp_types::{Position, Range, Location, Url};
[INFO] [stdout]    |                                             ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]    --> crates/lsp/src/analysis.rs:205:27
[INFO] [stdout]     |
[INFO] [stdout] 205 |     use std::path::{Path, PathBuf};
[INFO] [stdout]     |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parse_result`
[INFO] [stdout]    --> crates/lsp/src/server.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let parse_result = parse_module(source, uri.path(), &self.interner, &mut diag_sink);
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parse_result`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> crates/lsp/src/server.rs:382:13
[INFO] [stdout]     |
[INFO] [stdout] 382 |         let position = params.text_document_position.position;
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decorators`
[INFO] [stdout]    --> crates/lsp/src/analysis.rs:352:64
[INFO] [stdout]     |
[INFO] [stdout] 352 |             StmtKind::FunctionDef { name, args, returns, body, decorators, .. } => {
[INFO] [stdout]     |                                                                ^^^^^^^^^^ help: try ignoring the field: `decorators: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_str`
[INFO] [stdout]    --> crates/lsp/src/analysis.rs:361:21
[INFO] [stdout]     |
[INFO] [stdout] 361 |                 let type_str = self.build_function_signature(args, returns.as_deref());
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> crates/lsp/src/analysis.rs:915:33
[INFO] [stdout]     |
[INFO] [stdout] 915 |                     if let Some(info) = self.analysis.symbols.get(&func_name).cloned() {
[INFO] [stdout]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `lookup_symbol` and `get_module_exports` are never used
[INFO] [stdout]   --> crates/lsp/src/server.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl ModuleIndex {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |     fn lookup_symbol(&self, module_path: &str, symbol_name: &str) -> Option<(PathBuf, SymbolInfo)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     fn get_module_exports(&self, module_path: &str) -> Vec<(String, SymbolInfo)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling roast-vm v0.1.0 (/opt/rustwide/workdir/crates/vm)
[INFO] [stderr]    Compiling roast-stdlib v0.1.0 (/opt/rustwide/workdir/crates/stdlib)
[INFO] [stderr]    Compiling roast-gpu v0.1.0 (/opt/rustwide/workdir/crates/gpu)
[INFO] [stdout] warning: unused import: `FrameState`
[INFO] [stdout]  --> crates/vm/src/interpreter.rs:3:49
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::frame::{CallFrame, ExceptionHandler, FrameState};
[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: `HeapId`
[INFO] [stdout]  --> crates/vm/src/interpreter.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::heap::{Heap, HeapId};
[INFO] [stdout]   |                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> crates/vm/src/heap.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> crates/vm/src/heap.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/vm/src/builtins.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/gpu/src/device.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[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: `std::sync::Arc`
[INFO] [stdout]  --> crates/gpu/src/tensor.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]  --> crates/gpu/src/tensor.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/gpu/src/backend.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::CString`
[INFO] [stdout]    --> crates/gpu/src/backend.rs:183:9
[INFO] [stdout]     |
[INFO] [stdout] 183 |     use std::ffi::CString;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DType`
[INFO] [stdout]  --> crates/gpu/src/ops.rs:3:36
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::tensor::{Tensor, Shape, DType};
[INFO] [stdout]   |                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::device::Device`
[INFO] [stdout]  --> crates/gpu/src/ops.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::device::Device;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cuda_kernels`
[INFO] [stdout]  --> crates/gpu/src/ops.rs:5:35
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::kernel::{LaunchConfig, cuda_kernels};
[INFO] [stdout]   |                                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arc`
[INFO] [stdout]  --> crates/gpu/src/runtime.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::{Arc, Once, RwLock};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GpuError`
[INFO] [stdout]  --> crates/gpu/src/runtime.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::error::{GpuError, GpuResult};
[INFO] [stdout]   |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:308:9
[INFO] [stdout]     |
[INFO] [stdout] 308 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> crates/gpu/src/error.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/gpu/src/nvrtc.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/gpu/src/cuda.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> crates/gpu/src/cuda.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DType`
[INFO] [stdout]   --> crates/gpu/src/cublas.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::tensor::{Tensor, DType};
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Shape`
[INFO] [stdout]   --> crates/gpu/src/cudnn.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::tensor::{Tensor, Shape, DType};
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> crates/gpu/src/autograd.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DType`
[INFO] [stdout]  --> crates/gpu/src/autograd.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::tensor::{Tensor, Shape, DType};
[INFO] [stdout]   |                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::device::Device`
[INFO] [stdout]   --> crates/gpu/src/autograd.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::device::Device;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GpuError`
[INFO] [stdout]   --> crates/gpu/src/autograd.rs:11:20
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::error::{GpuError, GpuResult};
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader` and `BufWriter`
[INFO] [stdout]  --> crates/stdlib/src/fs.rs:6:34
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{self, Read, Write, BufReader, BufWriter};
[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: `BufReader`
[INFO] [stdout]  --> crates/stdlib/src/http.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{self, Read, Write, BufRead, BufReader};
[INFO] [stdout]   |                                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `AtomicUsize`
[INFO] [stdout]  --> crates/stdlib/src/sync.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Arc, Mutex as StdMutex, RwLock as StdRwLock,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 7 |     atomic::{AtomicBool, AtomicI64, AtomicUsize, Ordering},
[INFO] [stdout]   |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::UnsafeCell`
[INFO] [stdout]   --> crates/stdlib/src/sync.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::cell::UnsafeCell;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> crates/stdlib/src/heap.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CoverageCollector` and `CoverageSummary`
[INFO] [stdout]  --> crates/stdlib/src/testing.rs:9:23
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::coverage::{CoverageCollector, CoverageSummary, SharedCoverage};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap` and `BTreeSet`
[INFO] [stdout]  --> crates/stdlib/src/coverage.rs:5:42
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{HashMap, HashSet, BTreeMap, BTreeSet};
[INFO] [stdout]   |                                          ^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/stdlib/src/itertools.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Peekable`
[INFO] [stdout]  --> crates/stdlib/src/itertools.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::iter::{self, Peekable};
[INFO] [stdout]   |                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> crates/stdlib/src/functools.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> crates/stdlib/src/functools.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> crates/stdlib/src/profiler.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AtomicUsize`
[INFO] [stdout]  --> crates/stdlib/src/profiler.rs:7:36
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::atomic::{AtomicU64, AtomicUsize, Ordering};
[INFO] [stdout]   |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arc`
[INFO] [stdout]  --> crates/stdlib/src/profiler.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> crates/stdlib/src/database.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ExitStatus`
[INFO] [stdout]  --> crates/stdlib/src/subprocess.rs:9:74
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::process::{Child, ChildStderr, ChildStdin, ChildStdout, Command, ExitStatus, Stdio};
[INFO] [stdout]   |                                                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]   --> crates/stdlib/src/subprocess.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::{Arc, Mutex};
[INFO] [stdout]    |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/stdlib/src/web.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]    --> crates/stdlib/src/web.rs:793:17
[INFO] [stdout]     |
[INFO] [stdout] 793 | use std::time::{Duration, Instant};
[INFO] [stdout]     |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Metadata`
[INFO] [stdout]  --> crates/stdlib/src/shutil.rs:5:27
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::fs::{self, File, Metadata};
[INFO] [stdout]   |                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> crates/stdlib/src/doc.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> crates/stdlib/src/xml.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{Read, Write};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> crates/stdlib/src/heapq.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]    --> crates/stdlib/src/signal.rs:268:13
[INFO] [stdout]     |
[INFO] [stdout] 268 |         use std::mem;
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/stdlib/src/timezone.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> crates/stdlib/src/timezone.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame`
[INFO] [stdout]    --> crates/vm/src/interpreter.rs:224:32
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let func = if let Some(frame) = self.frames.last() {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/vm/src/interpreter.rs:970:29
[INFO] [stdout]     |
[INFO] [stdout] 970 |                         let mut gen_state = gen.lock().unwrap();
[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: `code`
[INFO] [stdout]     --> crates/vm/src/interpreter.rs:1559:28
[INFO] [stdout]      |
[INFO] [stdout] 1559 |             Constant::Code(code) => Value::None, // Functions are more complex
[INFO] [stdout]      |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]     --> crates/vm/src/interpreter.rs:1711:24
[INFO] [stdout]      |
[INFO] [stdout] 1711 |             Value::Str(s) => match name {
[INFO] [stdout]      |                        ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `type_char` is never read
[INFO] [stdout]    --> crates/vm/src/builtins.rs:325:29
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let mut type_char = None;
[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 import: `Backend`
[INFO] [stdout]  --> crates/gpu/src/runtime.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::backend::{Backend, BackendType};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `heap` is never read
[INFO] [stdout]    --> crates/vm/src/interpreter.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout]  91 | pub struct VM {
[INFO] [stdout]     |            -- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 103 |     heap: Heap,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Await` is never constructed
[INFO] [stdout]     --> crates/vm/src/interpreter.rs:1788:5
[INFO] [stdout]      |
[INFO] [stdout] 1783 | enum ExecResult {
[INFO] [stdout]      |      ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 1788 |     Await(Value),
[INFO] [stdout]      |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `duration_ms` is never read
[INFO] [stdout]    --> crates/vm/src/async_rt.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct Sleep {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 182 |     duration_ms: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `inner` is never read
[INFO] [stdout]    --> crates/vm/src/async_rt.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub struct Channel<T> {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 211 |     inner: Arc<Mutex<ChannelInner<T>>>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `send_wakers` is never read
[INFO] [stdout]    --> crates/vm/src/async_rt.rs:217:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | struct ChannelInner<T> {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 217 |     send_wakers: Vec<Waker>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dtype`
[INFO] [stdout]    --> crates/gpu/src/tensor.rs:297:31
[INFO] [stdout]     |
[INFO] [stdout] 297 |     pub fn rand(shape: Shape, dtype: DType, device: &Device) -> GpuResult<Self> {
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_dtype`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `low`
[INFO] [stdout]    --> crates/gpu/src/tensor.rs:322:9
[INFO] [stdout]     |
[INFO] [stdout] 322 |         low: f32,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_low`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `high`
[INFO] [stdout]    --> crates/gpu/src/tensor.rs:323:9
[INFO] [stdout]     |
[INFO] [stdout] 323 |         high: f32,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_high`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dtype`
[INFO] [stdout]    --> crates/gpu/src/tensor.rs:333:32
[INFO] [stdout]     |
[INFO] [stdout] 333 |     pub fn randn(shape: Shape, dtype: DType, device: &Device) -> GpuResult<Self> {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_dtype`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dtype`
[INFO] [stdout]    --> crates/gpu/src/tensor.rs:364:26
[INFO] [stdout]     |
[INFO] [stdout] 364 |     pub fn eye(n: usize, dtype: DType, device: &Device) -> GpuResult<Self> {
[INFO] [stdout]     |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_dtype`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dtype`
[INFO] [stdout]    --> crates/gpu/src/tensor.rs:374:43
[INFO] [stdout]     |
[INFO] [stdout] 374 |     pub fn full(shape: Shape, value: f32, dtype: DType, device: &Device) -> GpuResult<Self> {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_dtype`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> crates/gpu/src/memory.rs:282:16
[INFO] [stdout]     |
[INFO] [stdout] 282 |     pub fn new(size: usize) -> GpuResult<Self> {
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kernel`
[INFO] [stdout]    --> crates/gpu/src/backend.rs:471:13
[INFO] [stdout]     |
[INFO] [stdout] 471 |             kernel: &CompiledKernel,
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_kernel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `grid`
[INFO] [stdout]    --> crates/gpu/src/backend.rs:472:13
[INFO] [stdout]     |
[INFO] [stdout] 472 |             grid: [u32; 3],
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_grid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> crates/gpu/src/backend.rs:473:13
[INFO] [stdout]     |
[INFO] [stdout] 473 |             block: [u32; 3],
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/gpu/src/backend.rs:474:13
[INFO] [stdout]     |
[INFO] [stdout] 474 |             args: &[KernelArg],
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stream`
[INFO] [stdout]    --> crates/gpu/src/backend.rs:475:13
[INFO] [stdout]     |
[INFO] [stdout] 475 |             stream: usize,
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> crates/gpu/src/ops.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let config = LaunchConfig::linear(n, 256);
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> crates/gpu/src/ops.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let args = [
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> crates/gpu/src/ops.rs:205:16
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn sum_dim(a: &Tensor, dim: usize) -> GpuResult<Tensor> {
[INFO] [stdout]     |                ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]    --> crates/gpu/src/ops.rs:205:28
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn sum_dim(a: &Tensor, dim: usize) -> GpuResult<Tensor> {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> crates/gpu/src/ops.rs:211:17
[INFO] [stdout]     |
[INFO] [stdout] 211 | pub fn mean_dim(a: &Tensor, dim: usize) -> GpuResult<Tensor> {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]    --> crates/gpu/src/ops.rs:211:29
[INFO] [stdout]     |
[INFO] [stdout] 211 | pub fn mean_dim(a: &Tensor, dim: usize) -> GpuResult<Tensor> {
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]    --> crates/gpu/src/ops.rs:330:28
[INFO] [stdout]     |
[INFO] [stdout] 330 | pub fn softmax(a: &Tensor, dim: Option<usize>) -> GpuResult<Tensor> {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:207:23
[INFO] [stdout]     |
[INFO] [stdout] 207 |     pub fn set_device(device_id: i32) -> GpuResult<()> {
[INFO] [stdout]     |                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:218:31
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub fn enable_peer_access(device: i32, peer: i32) -> GpuResult<()> {
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `peer`
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:218:44
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub fn enable_peer_access(device: i32, peer: i32) -> GpuResult<()> {
[INFO] [stdout]     |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_peer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `peer`
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:224:32
[INFO] [stdout]     |
[INFO] [stdout] 224 |     pub fn disable_peer_access(peer: i32) -> GpuResult<()> {
[INFO] [stdout]     |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_peer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:229:28
[INFO] [stdout]     |
[INFO] [stdout] 229 |     pub fn can_access_peer(device: i32, peer: i32) -> GpuResult<bool> {
[INFO] [stdout]     |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `peer`
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:229:41
[INFO] [stdout]     |
[INFO] [stdout] 229 |     pub fn can_access_peer(device: i32, peer: i32) -> GpuResult<bool> {
[INFO] [stdout]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_peer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:294:29
[INFO] [stdout]     |
[INFO] [stdout] 294 |         pub fn elapsed_time(start: &Event, end: &Event) -> GpuResult<f32> {
[INFO] [stdout]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end`
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:294:44
[INFO] [stdout]     |
[INFO] [stdout] 294 |         pub fn elapsed_time(start: &Event, end: &Event) -> GpuResult<f32> {
[INFO] [stdout]     |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling roast-debugger v0.1.0 (/opt/rustwide/workdir/crates/debugger)
[INFO] [stderr]    Compiling roast-kitchen v0.1.0 (/opt/rustwide/workdir/crates/kitchen)
[INFO] [stderr]    Compiling roast-pycompat v0.1.0 (/opt/rustwide/workdir/crates/pycompat)
[INFO] [stdout] warning: unused variable: `dst_device`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:695:9
[INFO] [stdout]     |
[INFO] [stdout] 695 |         dst_device: i32,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dst_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst_ptr`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:696:9
[INFO] [stdout]     |
[INFO] [stdout] 696 |         dst_ptr: usize,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dst_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src_device`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:697:9
[INFO] [stdout]     |
[INFO] [stdout] 697 |         src_device: i32,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src_ptr`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:698:9
[INFO] [stdout]     |
[INFO] [stdout] 698 |         src_ptr: usize,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:699:9
[INFO] [stdout]     |
[INFO] [stdout] 699 |         size: usize,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst_device`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:708:9
[INFO] [stdout]     |
[INFO] [stdout] 708 |         dst_device: i32,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dst_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst_ptr`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:709:9
[INFO] [stdout]     |
[INFO] [stdout] 709 |         dst_ptr: usize,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dst_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src_device`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:710:9
[INFO] [stdout]     |
[INFO] [stdout] 710 |         src_device: i32,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src_ptr`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:711:9
[INFO] [stdout]     |
[INFO] [stdout] 711 |         src_ptr: usize,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:712:9
[INFO] [stdout]     |
[INFO] [stdout] 712 |         size: usize,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stream`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:713:9
[INFO] [stdout]     |
[INFO] [stdout] 713 |         stream: usize,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/stdlib/src/async_io.rs:505:9
[INFO] [stdout]     |
[INFO] [stdout] 505 |     let mut future = Box::pin(future);
[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 import: `crate::modules::PyModule`
[INFO] [stdout]  --> crates/pycompat/src/bridge.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::modules::PyModule;
[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: `PyException`
[INFO] [stdout]  --> crates/pycompat/src/builtins.rs:4:36
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::types::{PyValue, PyKey, PyException};
[INFO] [stdout]   |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PyCallable`
[INFO] [stdout]  --> crates/pycompat/src/decorators.rs:6:29
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::types::{PyValue, PyCallable, PyObject};
[INFO] [stdout]   |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> crates/pycompat/src/stdlib.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PySlice`
[INFO] [stdout]  --> crates/pycompat/src/interop.rs:6:58
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::types::{PyValue, PyKey, PyObject, PyCallable, PySlice};
[INFO] [stdout]   |                                                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_data`
[INFO] [stdout]    --> crates/gpu/src/autograd.rs:801:17
[INFO] [stdout]     |
[INFO] [stdout] 801 |             let new_data = crate::ops::add(param.data(), &scaled)?;
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `strides` and `offset` are never read
[INFO] [stdout]    --> crates/gpu/src/tensor.rs:631:5
[INFO] [stdout]     |
[INFO] [stdout] 628 | pub struct TensorView<'a> {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 631 |     strides: Vec<usize>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 632 |     offset: usize,
[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 `strides` and `offset` are never read
[INFO] [stdout]    --> crates/gpu/src/tensor.rs:653:5
[INFO] [stdout]     |
[INFO] [stdout] 650 | pub struct TensorMut<'a> {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 653 |     strides: Vec<usize>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 654 |     offset: usize,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `params` is never read
[INFO] [stdout]    --> crates/gpu/src/kernel.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub struct Kernel {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 260 |     params: Vec<KernelParam>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pooled` is never read
[INFO] [stdout]   --> crates/gpu/src/memory.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Buffer {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pooled: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `allocations` and `allocated` are never read
[INFO] [stdout]    --> crates/gpu/src/memory.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub struct SimpleAllocator {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 190 |     allocations: Mutex<HashMap<usize, usize>>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 191 |     allocated: Mutex<u64>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]    --> crates/gpu/src/memory.rs:277:5
[INFO] [stdout]     |
[INFO] [stdout] 275 | pub struct UnifiedMemory {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 276 |     ptr: usize,
[INFO] [stdout] 277 |     size: usize,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `src`, `dst`, `size`, `kind`, and `stream` are never read
[INFO] [stdout]    --> crates/gpu/src/memory.rs:321:5
[INFO] [stdout]     |
[INFO] [stdout] 319 | pub struct AsyncMemcpy {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 320 |     /// Source pointer.
[INFO] [stdout] 321 |     src: usize,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 324 |     dst: usize,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 327 |     size: usize,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 330 |     kind: MemcpyKind,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 333 |     stream: usize,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `kernel_cache` is never read
[INFO] [stdout]   --> crates/gpu/src/runtime.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct GpuRuntime {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     kernel_cache: KernelCache,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `device` is never read
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:241:9
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub struct Stream {
[INFO] [stdout]     |                ------ field in this struct
[INFO] [stdout] 240 |         handle: usize,
[INFO] [stdout] 241 |         device: usize,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `handle` is never read
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:274:9
[INFO] [stdout]     |
[INFO] [stdout] 273 |     pub struct Event {
[INFO] [stdout]     |                ----- field in this struct
[INFO] [stdout] 274 |         handle: usize,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `options` is never read
[INFO] [stdout]    --> crates/gpu/src/compiler.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub struct KernelCompiler {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 113 |     /// Options.
[INFO] [stdout] 114 |     options: CompileOptions,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `NvrtcGetCUBINSize` is never used
[INFO] [stdout]    --> crates/gpu/src/nvrtc.rs:101:6
[INFO] [stdout]     |
[INFO] [stdout] 101 | type NvrtcGetCUBINSize = unsafe extern "C" fn(prog: NvrtcProgram, size: *mut usize) -> i32;
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `NvrtcGetCUBIN` is never used
[INFO] [stdout]    --> crates/gpu/src/nvrtc.rs:102:6
[INFO] [stdout]     |
[INFO] [stdout] 102 | type NvrtcGetCUBIN = unsafe extern "C" fn(prog: NvrtcProgram, cubin: *mut i8) -> i32;
[INFO] [stdout]     |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuModuleLoadDataEx` is never used
[INFO] [stdout]    --> crates/gpu/src/nvrtc.rs:121:6
[INFO] [stdout]     |
[INFO] [stdout] 121 | type CuModuleLoadDataEx = unsafe extern "C" fn(
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `add_name_expression` and `get_lowered_name` are never read
[INFO] [stdout]    --> crates/gpu/src/nvrtc.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct NvrtcLib {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 161 |     add_name_expression: Symbol<'static, NvrtcAddNameExpression>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 162 |     get_lowered_name: Symbol<'static, NvrtcGetLoweredName>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_hash` and `compile_time_ms` are never read
[INFO] [stdout]     --> crates/gpu/src/nvrtc.rs:1017:5
[INFO] [stdout]      |
[INFO] [stdout] 1015 | struct CachedKernel {
[INFO] [stdout]      |        ------------ fields in this struct
[INFO] [stdout] 1016 |     kernel: CudaKernel,
[INFO] [stdout] 1017 |     source_hash: u64,
[INFO] [stdout]      |     ^^^^^^^^^^^
[INFO] [stdout] 1018 |     compile_time_ms: f64,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device_id` and `device_info` are never read
[INFO] [stdout]   --> crates/gpu/src/cuda.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct CudaBackend {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     device_id: i32,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     device_info: Option<DeviceInfo>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CublasGetStream` is never used
[INFO] [stdout]    --> crates/gpu/src/cublas.rs:143:6
[INFO] [stdout]     |
[INFO] [stdout] 143 | type CublasGetStream = unsafe extern "C" fn(CublasHandle, *mut usize) -> i32;
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> crates/gpu/src/cublas.rs:238:5
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub struct CublasLib {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 238 |     ddot: Symbol<'static, CublasDdot>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 239 |     snrm2: Symbol<'static, CublasSnrm2>,
[INFO] [stdout] 240 |     dnrm2: Symbol<'static, CublasDnrm2>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 241 |     sscal: Symbol<'static, CublasSscal>,
[INFO] [stdout] 242 |     dscal: Symbol<'static, CublasDscal>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 243 |     scopy: Symbol<'static, CublasScopy>,
[INFO] [stdout] 244 |     dcopy: Symbol<'static, CublasDcopy>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 245 |     isamax: Symbol<'static, CublasIsamax>,
[INFO] [stdout] 246 |     idamax: Symbol<'static, CublasIdamax>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 247 |     sasum: Symbol<'static, CublasSasum>,
[INFO] [stdout] 248 |     dasum: Symbol<'static, CublasDasum>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 252 |     dgemv: Symbol<'static, CublasDgemv>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     sgemm_batched: Symbol<'static, CublasSgemmBatched>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CudnnBatchNormForward` is never used
[INFO] [stdout]    --> crates/gpu/src/cudnn.rs:311:6
[INFO] [stdout]     |
[INFO] [stdout] 311 | type CudnnBatchNormForward = unsafe extern "C" fn(
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CudnnCreateDropoutDescriptor` is never used
[INFO] [stdout]    --> crates/gpu/src/cudnn.rs:324:6
[INFO] [stdout]     |
[INFO] [stdout] 324 | type CudnnCreateDropoutDescriptor = unsafe extern "C" fn(*mut CudnnDropoutDescriptor) -> i32;
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CudnnDestroyDropoutDescriptor` is never used
[INFO] [stdout]    --> crates/gpu/src/cudnn.rs:325:6
[INFO] [stdout]     |
[INFO] [stdout] 325 | type CudnnDestroyDropoutDescriptor = unsafe extern "C" fn(CudnnDropoutDescriptor) -> i32;
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `activation_backward` and `softmax_backward` are never read
[INFO] [stdout]    --> crates/gpu/src/cudnn.rs:346:5
[INFO] [stdout]     |
[INFO] [stdout] 332 | pub struct CudnnLib {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 346 |     activation_backward: Symbol<'static, CudnnActivationBackward>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     softmax_backward: Symbol<'static, CudnnSoftmaxBackward>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `comm_count`, `comm_cu_device`, `comm_user_rank`, and `reduce` are never read
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:171:5
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct NcclLib {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 171 |     comm_count: Symbol<'static, NcclCommCount>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 172 |     comm_cu_device: Symbol<'static, NcclCommCuDevice>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 173 |     comm_user_rank: Symbol<'static, NcclCommUserRank>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     reduce: Symbol<'static, NcclReduce>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `multi_gpu` is never read
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:739:5
[INFO] [stdout]     |
[INFO] [stdout] 731 | pub struct DataParallel {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 739 |     multi_gpu: MultiGpu,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuMemsetD16` is never used
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:29:6
[INFO] [stdout]    |
[INFO] [stdout] 29 | type CuMemsetD16 = unsafe extern "C" fn(usize, u16, usize) -> i32;
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuMemAdvise` is never used
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:38:6
[INFO] [stdout]    |
[INFO] [stdout] 38 | type CuMemAdvise = unsafe extern "C" fn(usize, usize, i32, i32) -> i32;
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuPointerGetAttribute` is never used
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:39:6
[INFO] [stdout]    |
[INFO] [stdout] 39 | type CuPointerGetAttribute = unsafe extern "C" fn(*mut i32, i32, usize) -> i32;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuMemPoolCreate` is never used
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:42:6
[INFO] [stdout]    |
[INFO] [stdout] 42 | type CuMemPoolCreate = unsafe extern "C" fn(*mut usize, *const MemPoolProps) -> i32;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuMemPoolDestroy` is never used
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:43:6
[INFO] [stdout]    |
[INFO] [stdout] 43 | type CuMemPoolDestroy = unsafe extern "C" fn(usize) -> i32;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuMemAllocFromPool` is never used
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:44:6
[INFO] [stdout]    |
[INFO] [stdout] 44 | type CuMemAllocFromPool = unsafe extern "C" fn(*mut usize, usize, usize, usize) -> i32;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuMemPoolTrimTo` is never used
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:45:6
[INFO] [stdout]    |
[INFO] [stdout] 45 | type CuMemPoolTrimTo = unsafe extern "C" fn(usize, usize) -> i32;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuMemPoolSetAttribute` is never used
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:46:6
[INFO] [stdout]    |
[INFO] [stdout] 46 | type CuMemPoolSetAttribute = unsafe extern "C" fn(usize, i32, *const std::ffi::c_void) -> i32;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuMemPoolGetAttribute` is never used
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:47:6
[INFO] [stdout]    |
[INFO] [stdout] 47 | type CuMemPoolGetAttribute = unsafe extern "C" fn(usize, i32, *mut std::ffi::c_void) -> i32;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `memcpy_dtod_async` and `memset_d32_async` are never read
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct CudaMemLib {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 86 |     memcpy_dtod_async: Symbol<'static, CuMemcpyDtoDAsync>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     memset_d32_async: Symbol<'static, CuMemsetD32Async>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ptr` and `is_pooled` are never read
[INFO] [stdout]    --> crates/gpu/src/cuda_mem.rs:377:5
[INFO] [stdout]     |
[INFO] [stdout] 376 | struct Allocation {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] 377 |     ptr: usize,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 378 |     size: usize,
[INFO] [stdout] 379 |     is_pooled: bool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Allocation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/gpu/src/tensor.rs:501:17
[INFO] [stdout]     |
[INFO] [stdout] 501 |     pub fn view(&self, new_shape: Shape) -> GpuResult<TensorView> {
[INFO] [stdout]     |                 ^^^^^ the lifetime is elided here     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 501 |     pub fn view(&self, new_shape: Shape) -> GpuResult<TensorView<'_>> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/gpu/src/cuda.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         &self,
[INFO] [stdout]    |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 84 |     ) -> GpuResult<LoadedKernel> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 84 |     ) -> GpuResult<LoadedKernel<'_>> {
[INFO] [stdout]    |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AtomicU64`
[INFO] [stdout]  --> crates/debugger/src/breakpoint.rs:5:36
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::atomic::{AtomicI64, AtomicU64, Ordering};
[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: `AtomicBool`
[INFO] [stdout]  --> crates/debugger/src/session.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::atomic::{AtomicBool, AtomicI64, Ordering};
[INFO] [stdout]   |                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arc`
[INFO] [stdout]  --> crates/debugger/src/session.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::{Arc, Mutex, Condvar};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `value_to_variable`
[INFO] [stdout]  --> crates/debugger/src/hook.rs:8:59
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::vm_integration::{VMDebugState, extract_locals, value_to_variable, build_eval_context};
[INFO] [stdout]   |                                                           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::session::DebugSession`
[INFO] [stdout]   --> crates/debugger/src/vm_integration.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::session::DebugSession;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `module`
[INFO] [stdout]    --> crates/pycompat/src/bridge.rs:345:13
[INFO] [stdout]     |
[INFO] [stdout] 345 |             module: &str,
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_module`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function`
[INFO] [stdout]    --> crates/pycompat/src/bridge.rs:346:13
[INFO] [stdout]     |
[INFO] [stdout] 346 |             function: &str,
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/pycompat/src/bridge.rs:347:13
[INFO] [stdout]     |
[INFO] [stdout] 347 |             args: Vec<PyValue>,
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `module`
[INFO] [stdout]    --> crates/pycompat/src/bridge.rs:354:36
[INFO] [stdout]     |
[INFO] [stdout] 354 |         pub fn get_attr(&mut self, module: &str, attr: &str) -> Result<PyValue, BridgeError> {
[INFO] [stdout]     |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_module`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attr`
[INFO] [stdout]    --> crates/pycompat/src/bridge.rs:354:50
[INFO] [stdout]     |
[INFO] [stdout] 354 |         pub fn get_attr(&mut self, module: &str, attr: &str) -> Result<PyValue, BridgeError> {
[INFO] [stdout]     |                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_attr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `verify_signature`
[INFO] [stdout]  --> crates/kitchen/src/registry.rs:8:52
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::signing::{PackageSignature, SigningKey, verify_signature};
[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: `crate::signing::PackageSignature`
[INFO] [stdout]  --> crates/kitchen/src/lock.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::signing::PackageSignature;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/kitchen/src/doc.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> crates/kitchen/src/doc.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{self, Write};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> crates/kitchen/src/doc.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::ts_seconds`
[INFO] [stdout]   --> crates/kitchen/src/signing.rs:15:29
[INFO] [stdout]    |
[INFO] [stdout] 15 | use chrono::{DateTime, Utc, serde::ts_seconds};
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::deps::PackageMetadata`
[INFO] [stdout]   --> crates/kitchen/src/trust.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::deps::PackageMetadata;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/pycompat/src/modules.rs:188:49
[INFO] [stdout]     |
[INFO] [stdout] 188 |                 module.add_function("findall", |args| {
[INFO] [stdout]     |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/pycompat/src/modules.rs:185:48
[INFO] [stdout]     |
[INFO] [stdout] 185 |                 module.add_function("search", |args| {
[INFO] [stdout]     |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/pycompat/src/modules.rs:181:47
[INFO] [stdout]     |
[INFO] [stdout] 181 |                 module.add_function("match", |args| {
[INFO] [stdout]     |                                               ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/pycompat/src/builtins.rs:202:17
[INFO] [stdout]     |
[INFO] [stdout] 202 | fn builtin_dict(args: Vec<PyValue>) -> Result<PyValue, BridgeError> {
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/pycompat/src/ffi.rs:245:9
[INFO] [stdout]     |
[INFO] [stdout] 245 |         args: Vec<PyValue>,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/pycompat/src/stdlib.rs:351:36
[INFO] [stdout]     |
[INFO] [stdout] 351 |     module.add_function("reduce", |args| {
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/pycompat/src/migrate.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let mut warnings = 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: `receiver`
[INFO] [stdout]   --> crates/pycompat/src/interop.rs:83:34
[INFO] [stdout]    |
[INFO] [stdout] 83 |             Value::BoundMethod { receiver, method } => PyValue::Callable(PyCallable {
[INFO] [stdout]    |                                  ^^^^^^^^ help: try ignoring the field: `receiver: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]    --> crates/pycompat/src/ffi.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct Library {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 104 |     path: 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: fields `py_incref`, `py_decref`, and `py_run_string` are never read
[INFO] [stdout]    --> crates/pycompat/src/ffi.rs:282:9
[INFO] [stdout]     |
[INFO] [stdout] 279 |     pub struct CPythonAPI {
[INFO] [stdout]     |                ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 282 |         py_incref: Option<extern "C" fn(PyObjectPtr)>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 283 |         py_decref: Option<extern "C" fn(PyObjectPtr)>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 284 |         py_run_string: Option<extern "C" fn(*const i8, i32, PyObjectPtr, PyObjectPtr) -> PyObjectPtr>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context` is never read
[INFO] [stdout]    --> crates/pycompat/src/interop.rs:279:5
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub struct Importer {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 279 |     context: InteropContext,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> crates/stdlib/src/http.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{self, Read, Write, BufRead, BufReader};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> crates/stdlib/src/http.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{self, Read, Write, BufRead, BufReader};
[INFO] [stdout]   |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> crates/stdlib/src/http.rs:6:34
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{self, Read, Write, BufRead, BufReader};
[INFO] [stdout]   |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> crates/stdlib/src/xml.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{Read, Write};
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> crates/stdlib/src/collections.rs:80:33
[INFO] [stdout]    |
[INFO] [stdout] 80 |                 ValueKey::Tuple(t) => {
[INFO] [stdout]    |                                 ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request`
[INFO] [stdout]    --> crates/stdlib/src/http.rs:280:24
[INFO] [stdout]     |
[INFO] [stdout] 280 |     pub fn send(&self, request: Request) -> io::Result<Response> {
[INFO] [stdout]     |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fut2`
[INFO] [stdout]    --> crates/stdlib/src/async_utils.rs:186:48
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub async fn select_first<T, F1, F2>(fut1: F1, fut2: F2) -> T
[INFO] [stdout]     |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_fut2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/stdlib/src/heap.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn from_vec(mut vec: Vec<T>) -> Self {
[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/stdlib/src/heap.rs:144:21
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn from_vec(mut vec: Vec<T>) -> Self {
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `leap`
[INFO] [stdout]    --> crates/stdlib/src/time.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 197 |     let leap = is_leap_year(year);
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_leap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> crates/stdlib/src/testing.rs:72:18
[INFO] [stdout]    |
[INFO] [stdout] 72 |             (Err(e), true) => TestResult::Passed,
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/stdlib/src/fmt.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |     let mut s = n.abs().to_string();
[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/stdlib/src/itertools.rs:241:13
[INFO] [stdout]     |
[INFO] [stdout] 241 |         let mut remaining: Vec<_> = items.iter()
[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/stdlib/src/itertools.rs:429:9
[INFO] [stdout]     |
[INFO] [stdout] 429 |     let mut result = Vec::new();
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `future`
[INFO] [stdout]    --> crates/stdlib/src/async_io.rs:505:9
[INFO] [stdout]     |
[INFO] [stdout] 505 |     let mut future = Box::pin(future);
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_future`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]    --> crates/stdlib/src/thread.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 192 | struct Worker {
[INFO] [stdout]     |        ------ field in this struct
[INFO] [stdout] 193 |     id: usize,
[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 `future` and `deadline` are never read
[INFO] [stdout]    --> crates/stdlib/src/async_utils.rs:224:5
[INFO] [stdout]     |
[INFO] [stdout] 223 | pub struct Timeout<F> {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 224 |     future: F,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 225 |     deadline: std::time::Instant,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `result` is never read
[INFO] [stdout]    --> crates/stdlib/src/structured.rs:234:5
[INFO] [stdout]     |
[INFO] [stdout] 231 | pub struct ScopedTask<T> {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 234 |     result: Arc<Mutex<Option<Result<T, TaskError>>>>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]    --> crates/stdlib/src/structured.rs:298:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | struct TaskMetadata {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 298 |     name: Option<String>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `func` and `args` are never read
[INFO] [stdout]   --> crates/stdlib/src/functools.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct Partial<F, A> {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 46 |     func: F,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 47 |     args: A,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `interval` is never read
[INFO] [stdout]    --> crates/stdlib/src/profiler.rs:480:5
[INFO] [stdout]     |
[INFO] [stdout] 474 | pub struct SamplingProfiler {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 480 |     interval: Duration,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `args` is never read
[INFO] [stdout]    --> crates/stdlib/src/subprocess.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout]  98 | pub struct Popen {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout]  99 |     child: Child,
[INFO] [stdout] 100 |     args: Vec<String>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `middleware` is never read
[INFO] [stdout]    --> crates/stdlib/src/web.rs:388:5
[INFO] [stdout]     |
[INFO] [stdout] 386 | pub struct App {
[INFO] [stdout]     |            --- field in this struct
[INFO] [stdout] 387 |     router: Router,
[INFO] [stdout] 388 |     middleware: Vec<Box<dyn Fn(Request, Box<dyn Fn(Request) -> Response>) -> Response + Send + Sync>>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode` is never used
[INFO] [stdout]    --> crates/stdlib/src/web.rs:260:12
[INFO] [stdout]     |
[INFO] [stdout] 260 |     pub fn encode(s: &str) -> String {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `buf`, `pos`, and `cap` are never read
[INFO] [stdout]    --> crates/stdlib/src/async_io.rs:618:5
[INFO] [stdout]     |
[INFO] [stdout] 616 | pub struct BufReader<R> {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 617 |     inner: R,
[INFO] [stdout] 618 |     buf: Vec<u8>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 619 |     pos: usize,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 620 |     cap: usize,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `reader` and `buf` are never read
[INFO] [stdout]    --> crates/stdlib/src/async_io.rs:712:5
[INFO] [stdout]     |
[INFO] [stdout] 711 | pub struct Lines<R> {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 712 |     reader: R,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 713 |     buf: String,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `flag` is never read
[INFO] [stdout]    --> crates/stdlib/src/signal.rs:354:5
[INFO] [stdout]     |
[INFO] [stdout] 353 | pub struct CtrlC {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 354 |     flag: Arc<AtomicBool>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `should_shutdown` is never read
[INFO] [stdout]    --> crates/stdlib/src/signal.rs:417:5
[INFO] [stdout]     |
[INFO] [stdout] 416 | pub struct GracefulShutdown {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 417 |     should_shutdown: Arc<AtomicBool>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/stdlib/src/sync.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn lock(&self) -> MutexGuard<T> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn lock(&self) -> MutexGuard<'_, T> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/stdlib/src/sync.rs:47:21
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn try_lock(&self) -> Option<MutexGuard<T>> {
[INFO] [stdout]    |                     ^^^^^            ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn try_lock(&self) -> Option<MutexGuard<'_, T>> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/stdlib/src/sync.rs:99:17
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn read(&self) -> RwLockReadGuard<T> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn read(&self) -> RwLockReadGuard<'_, T> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/stdlib/src/sync.rs:104:18
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn write(&self) -> RwLockWriteGuard<T> {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn write(&self) -> RwLockWriteGuard<'_, T> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/stdlib/src/sync.rs:109:21
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn try_read(&self) -> Option<RwLockReadGuard<T>> {
[INFO] [stdout]     |                     ^^^^^            ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn try_read(&self) -> Option<RwLockReadGuard<'_, T>> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/stdlib/src/sync.rs:114:22
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn try_write(&self) -> Option<RwLockWriteGuard<T>> {
[INFO] [stdout]     |                      ^^^^^            ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn try_write(&self) -> Option<RwLockWriteGuard<'_, T>> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tarball`
[INFO] [stdout]    --> crates/kitchen/src/registry.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 197 |         tarball: &[u8],
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tarball`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> crates/kitchen/src/pypi.rs:154:32
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub async fn search(&self, query: &str) -> Result<Vec<PyPISearchResult>> {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `project_root` is never read
[INFO] [stdout]    --> crates/kitchen/src/pypi.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub struct PythonEnv {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 188 |     /// Path to the project root.
[INFO] [stdout] 189 |     project_root: PathBuf,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling roast-cli v0.1.0 (/opt/rustwide/workdir/crates/cli)
[INFO] [stdout] warning: unused imports: `lock::Lockfile` and `workspace::Workspace`
[INFO] [stdout]   --> crates/kitchen/src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     lock::Lockfile,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     workspace::Workspace,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/cli/src/commands.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let mut emitter = CodeEmitter::new(target_config);
[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: `emitter`
[INFO] [stdout]   --> crates/cli/src/commands.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let mut emitter = CodeEmitter::new(target_config);
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_emitter`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parallel`
[INFO] [stdout]    --> crates/cli/src/commands.rs:425:50
[INFO] [stdout]     |
[INFO] [stdout] 425 | pub fn test(filter: Option<&str>, verbose: bool, parallel: bool, show_output: bool) -> Result<()> {
[INFO] [stdout]     |                                                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parallel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parse_result`
[INFO] [stdout]     --> crates/cli/src/commands.rs:1460:9
[INFO] [stdout]      |
[INFO] [stdout] 1460 |     let parse_result = roast_parser::parse_module(source, &path.to_string_lossy(), interner, &mut diagnostics);
[INFO] [stdout]      |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parse_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `roast_kitchen::Project::target_dir`: Use cooked_dir() instead
[INFO] [stdout]     --> crates/kitchen/src/main.rs:1408:32
[INFO] [stdout]      |
[INFO] [stdout] 1408 |     let tarball_path = project.target_dir().join(format!(
[INFO] [stdout]      |                                ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `roast_kitchen::Project::target_dir`: Use cooked_dir() instead
[INFO] [stdout]     --> crates/kitchen/src/main.rs:1414:37
[INFO] [stdout]      |
[INFO] [stdout] 1414 |     std::fs::create_dir_all(project.target_dir())?;
[INFO] [stdout]      |                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> crates/cli/src/commands.rs:1776:20
[INFO] [stdout]      |
[INFO] [stdout] 1776 |         if let Err(e) = term::emit(&mut writer.lock(), &config, &files, &codespan_diag) {
[INFO] [stdout]      |                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `debug`
[INFO] [stdout]     --> crates/cli/src/commands.rs:1913:5
[INFO] [stdout]      |
[INFO] [stdout] 1913 |     debug: bool,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_debug`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/cli/src/commands.rs:2167:9
[INFO] [stdout]      |
[INFO] [stdout] 2167 |     let mut compile_module = |
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_llvm` is never used
[INFO] [stdout]     --> crates/cli/src/commands.rs:2602:8
[INFO] [stdout]      |
[INFO] [stdout] 2602 | pub fn run_llvm(
[INFO] [stdout]      |        ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BenchConfig` is never constructed
[INFO] [stdout]  --> crates/cli/src/bench.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct BenchConfig {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BenchResult` is never constructed
[INFO] [stdout]   --> crates/cli/src/bench.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct BenchResult {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_samples`, `with_throughput`, and `format` are never used
[INFO] [stdout]    --> crates/cli/src/bench.rs:49:12
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl BenchResult {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  48 |     /// Calculate from samples.
[INFO] [stdout]  49 |     pub fn from_samples(name: &str, samples: Vec<Duration>, iters: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn with_throughput(mut self, throughput: Throughput) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn format(&self) -> String {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Throughput` is never used
[INFO] [stdout]    --> crates/cli/src/bench.rs:143:10
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub enum Throughput {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `value` and `unit` are never used
[INFO] [stdout]    --> crates/cli/src/bench.rs:150:12
[INFO] [stdout]     |
[INFO] [stdout] 149 | impl Throughput {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] 150 |     pub fn value(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn unit(&self) -> &str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bencher` is never constructed
[INFO] [stdout]    --> crates/cli/src/bench.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub struct Bencher {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `bench`, `bench_with_setup`, `results`, and `print_report` are never used
[INFO] [stdout]    --> crates/cli/src/bench.rs:174:12
[INFO] [stdout]     |
[INFO] [stdout] 173 | impl Bencher {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 174 |     pub fn new(config: BenchConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn bench<F>(&mut self, name: &str, mut f: F) -> &BenchResult
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn bench_with_setup<S, F, T>(&mut self, name: &str, mut setup: S, mut f: F) -> &BenchResult
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 250 |     pub fn results(&self) -> &[BenchResult] {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     pub fn print_report(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare` is never used
[INFO] [stdout]    --> crates/cli/src/bench.rs:275:8
[INFO] [stdout]     |
[INFO] [stdout] 275 | pub fn compare(baseline: &BenchResult, current: &BenchResult) -> Comparison {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Comparison` is never constructed
[INFO] [stdout]    --> crates/cli/src/bench.rs:301:12
[INFO] [stdout]     |
[INFO] [stdout] 301 | pub struct Comparison {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `format` is never used
[INFO] [stdout]    --> crates/cli/src/bench.rs:310:12
[INFO] [stdout]     |
[INFO] [stdout] 309 | impl Comparison {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 310 |     pub fn format(&self) -> String {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ChangeKind` is never used
[INFO] [stdout]    --> crates/cli/src/bench.rs:332:10
[INFO] [stdout]     |
[INFO] [stdout] 332 | pub enum ChangeKind {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_duration` is never used
[INFO] [stdout]    --> crates/cli/src/bench.rs:338:4
[INFO] [stdout]     |
[INFO] [stdout] 338 | fn format_duration(d: Duration) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `profile` is never used
[INFO] [stdout]    --> crates/cli/src/bench.rs:352:8
[INFO] [stdout]     |
[INFO] [stdout] 352 | pub fn profile<F, T>(name: &str, f: F) -> (T, Duration)
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Profiler` is never constructed
[INFO] [stdout]    --> crates/cli/src/bench.rs:366:12
[INFO] [stdout]     |
[INFO] [stdout] 366 | pub struct Profiler {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `start`, `stop`, `time`, `summary`, and `print_summary` are never used
[INFO] [stdout]    --> crates/cli/src/bench.rs:372:12
[INFO] [stdout]     |
[INFO] [stdout] 371 | impl Profiler {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 372 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     pub fn start(&mut self, name: &str) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 385 |     pub fn stop(&mut self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 393 |     pub fn time<F, T>(&mut self, name: &str, f: F) -> T
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 404 |     pub fn summary(&self) -> HashMap<String, ProfileSummary> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 423 |     pub fn print_summary(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProfileSummary` is never constructed
[INFO] [stdout]    --> crates/cli/src/bench.rs:450:12
[INFO] [stdout]     |
[INFO] [stdout] 450 | pub struct ProfileSummary {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `project`
[INFO] [stdout]     --> crates/kitchen/src/main.rs:1079:9
[INFO] [stdout]      |
[INFO] [stdout] 1079 |     let project = Project::find_current()?;
[INFO] [stdout]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_project`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]     --> crates/kitchen/src/main.rs:1103:22
[INFO] [stdout]      |
[INFO] [stdout] 1103 | async fn cmd_install(args: InstallArgs) -> Result<()> {
[INFO] [stdout]      |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `verbose`
[INFO] [stdout]    --> crates/kitchen/src/main.rs:494:27
[INFO] [stdout]     |
[INFO] [stdout] 494 | fn cmd_new(args: NewArgs, verbose: bool) -> Result<()> {
[INFO] [stdout]     |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `project`
[INFO] [stdout]    --> crates/kitchen/src/main.rs:512:9
[INFO] [stdout]     |
[INFO] [stdout] 512 |     let project = Project::new(&args.name, &path, template)?;
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_project`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `verbose`
[INFO] [stdout]    --> crates/kitchen/src/main.rs:534:29
[INFO] [stdout]     |
[INFO] [stdout] 534 | fn cmd_init(args: InitArgs, verbose: bool) -> Result<()> {
[INFO] [stdout]     |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/kitchen/src/main.rs:639:14
[INFO] [stdout]     |
[INFO] [stdout] 639 | fn cmd_bench(args: BenchArgs, verbose: bool) -> Result<()> {
[INFO] [stdout]     |              ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `project`
[INFO] [stdout]    --> crates/kitchen/src/main.rs:640:9
[INFO] [stdout]     |
[INFO] [stdout] 640 |     let project = Project::find_current()?;
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_project`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `venv`
[INFO] [stdout]     --> crates/kitchen/src/main.rs:1337:9
[INFO] [stdout]      |
[INFO] [stdout] 1337 |     let venv = VirtualEnv::create(&args.path, config)?;
[INFO] [stdout]      |         ^^^^ help: if this is intentional, prefix it with an underscore: `_venv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5m 29s
[INFO] running `Command { std: "docker" "inspect" "1f8c90763ace37ef93799010427acd1e67d564392907fbc1cf62f990e999b616", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1f8c90763ace37ef93799010427acd1e67d564392907fbc1cf62f990e999b616", kill_on_drop: false }`
[INFO] [stdout] 1f8c90763ace37ef93799010427acd1e67d564392907fbc1cf62f990e999b616
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+58b1b3c5342a414c161338871f8004258ccef2a7" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 826796af57efe98a9bb4245e04e526603943b4ee2d3857ba328b9e5988e8ac6e
[INFO] running `Command { std: "docker" "start" "-a" "826796af57efe98a9bb4245e04e526603943b4ee2d3857ba328b9e5988e8ac6e", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> crates/common/src/error_codes.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/common/src/interner.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let mut interner = Self {
[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 import: `Ident`
[INFO] [stdout]  --> crates/ast/src/macros.rs:5:40
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{Decorator, Expr, ExprKind, Ident, Keyword};
[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: `roast_common::Symbol`
[INFO] [stdout]  --> crates/typer/src/builtins.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use roast_common::Symbol;
[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: `roast_common::Symbol`
[INFO] [stdout]  --> crates/typer/src/ownership.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use roast_common::Symbol;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/typer/src/ownership.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ClassType`
[INFO] [stdout]  --> crates/typer/src/mro.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::types::{Type, ClassType};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OwnershipInfo` and `TypeTrait`
[INFO] [stdout]  --> crates/typer/src/concurrency.rs:7:43
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::ownership::{OwnershipAnalyzer, OwnershipInfo, TypeTrait};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `roast_common::prelude::*`
[INFO] [stdout]   --> crates/typer/src/lib.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use roast_common::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> crates/typer/src/infer.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         (t, Type::Optional(inner)) => unify(ctx, t, inner),
[INFO] [stdout]    |         -------------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 67 |         (Type::Optional(a), Type::Optional(b)) => unify(ctx, a, b),
[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: unused variable: `name`
[INFO] [stdout]    --> crates/typer/src/checker.rs:126:53
[INFO] [stdout]     |
[INFO] [stdout] 126 |             StmtKind::FunctionDef { body, is_async, name, .. } => {
[INFO] [stdout]     |                                                     ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> crates/typer/src/checker.rs:1493:56
[INFO] [stdout]      |
[INFO] [stdout] 1400 | ...   PatternKind::MatchValue { value } => {
[INFO] [stdout]      |       --------------------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1493 | ...   PatternKind::MatchSingleton { value: _ } | PatternKind::MatchValue { value: _ } if matches!(subject_type, Type::Optional(_))...
[INFO] [stdout]      |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cls`
[INFO] [stdout]    --> crates/typer/src/ownership.rs:329:25
[INFO] [stdout]     |
[INFO] [stdout] 329 |             Type::Class(cls) => {
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_cls`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keys`
[INFO] [stdout]    --> crates/typer/src/exhaustiveness.rs:198:41
[INFO] [stdout]     |
[INFO] [stdout] 198 |             PatternKind::MatchMapping { keys, patterns, rest } => {
[INFO] [stdout]     |                                         ^^^^ help: try ignoring the field: `keys: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rest`
[INFO] [stdout]    --> crates/typer/src/exhaustiveness.rs:198:57
[INFO] [stdout]     |
[INFO] [stdout] 198 |             PatternKind::MatchMapping { keys, patterns, rest } => {
[INFO] [stdout]     |                                                         ^^^^ help: try ignoring the field: `rest: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arity`
[INFO] [stdout]    --> crates/typer/src/exhaustiveness.rs:300:13
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let arity = ctor.arity();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_arity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n1`
[INFO] [stdout]    --> crates/typer/src/exhaustiveness.rs:378:35
[INFO] [stdout]     |
[INFO] [stdout] 378 |         (Constructor::ListAtLeast(n1), Constructor::ListAtLeast(n2)) => true,
[INFO] [stdout]     |                                   ^^ help: if this is intentional, prefix it with an underscore: `_n1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n2`
[INFO] [stdout]    --> crates/typer/src/exhaustiveness.rs:378:65
[INFO] [stdout]     |
[INFO] [stdout] 378 |         (Constructor::ListAtLeast(n1), Constructor::ListAtLeast(n2)) => true,
[INFO] [stdout]     |                                                                 ^^ help: if this is intentional, prefix it with an underscore: `_n2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cls`
[INFO] [stdout]    --> crates/typer/src/exhaustiveness.rs:487:21
[INFO] [stdout]     |
[INFO] [stdout] 487 |         Type::Class(cls) => {
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_cls`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub_witness`
[INFO] [stdout]    --> crates/typer/src/exhaustiveness.rs:606:29
[INFO] [stdout]     |
[INFO] [stdout] 606 |                 if let Some(sub_witness) = compute_usefulness(&specialized, &witness_fields, ty) {
[INFO] [stdout]     |                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_witness`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub_witness`
[INFO] [stdout]    --> crates/typer/src/exhaustiveness.rs:621:29
[INFO] [stdout]     |
[INFO] [stdout] 621 |                 if let Some(sub_witness) = compute_usefulness(&specialized, &witness_fields, ty) {
[INFO] [stdout]     |                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_witness`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/typer/src/exhaustiveness.rs:648:9
[INFO] [stdout]     |
[INFO] [stdout] 648 |     let mut has_guard = false;
[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: `has_guard`
[INFO] [stdout]    --> crates/typer/src/exhaustiveness.rs:648:9
[INFO] [stdout]     |
[INFO] [stdout] 648 |     let mut has_guard = false;
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_guard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_exhaustive` is never used
[INFO] [stdout]    --> crates/typer/src/exhaustiveness.rs:475:8
[INFO] [stdout]     |
[INFO] [stdout] 403 | impl ConstructorSet {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 475 |     fn is_exhaustive(&self, covered: &[Constructor]) -> bool {
[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 import: `roast_common::prelude::*`
[INFO] [stdout]   --> crates/hir/src/lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use roast_common::prelude::*;
[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 variable: `concrete_methods`
[INFO] [stdout]     --> crates/hir/src/build.rs:1723:13
[INFO] [stdout]      |
[INFO] [stdout] 1723 |         let concrete_methods: std::collections::HashSet<String> = members.iter()
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_concrete_methods`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]     --> crates/hir/src/build.rs:1939:41
[INFO] [stdout]      |
[INFO] [stdout] 1939 |                 if let ExprKind::Name { id, .. } = &target.kind {
[INFO] [stdout]      |                                         ^^ help: try ignoring the field: `id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `id_arena::Id`
[INFO] [stdout]  --> crates/mir/src/nodes.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use id_arena::Id;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> crates/mir/src/build.rs:715:13
[INFO] [stdout]     |
[INFO] [stdout] 715 |             _ => {}
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> crates/mir/src/build.rs:715:13
[INFO] [stdout]     |
[INFO] [stdout] 265 |             HirStmtKind::Let { name, ty, init, mutable } => {
[INFO] [stdout]     |             -------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 320 |             HirStmtKind::Assign { target, value } => {
[INFO] [stdout]     |             ------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 403 |             HirStmtKind::Expr(expr_id) => {
[INFO] [stdout]     |             -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 408 |             HirStmtKind::Return(expr) => {
[INFO] [stdout]     |             ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 715 |             _ => {}
[INFO] [stdout]     |             ^ ...and 10 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> crates/mir/src/build.rs:887:14
[INFO] [stdout]     |
[INFO] [stdout] 887 |         for (i, arm) in arms.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> crates/mir/src/build.rs:1393:21
[INFO] [stdout]      |
[INFO] [stdout] 1393 |                     _ => MirBinOp::Add, // Fallback for Is/IsNot
[INFO] [stdout]      |                     ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> crates/mir/src/build.rs:1393:21
[INFO] [stdout]      |
[INFO] [stdout] 1362 |                     HirBinOp::Add => MirBinOp::Add,
[INFO] [stdout]      |                     ------------- matches some of the same values
[INFO] [stdout] 1363 |                     HirBinOp::Sub => MirBinOp::Sub,
[INFO] [stdout]      |                     ------------- matches some of the same values
[INFO] [stdout] 1364 |                     HirBinOp::Mul => MirBinOp::Mul,
[INFO] [stdout]      |                     ------------- matches some of the same values
[INFO] [stdout] 1365 |                     HirBinOp::Div => MirBinOp::Div,
[INFO] [stdout]      |                     ------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1393 |                     _ => MirBinOp::Add, // Fallback for Is/IsNot
[INFO] [stdout]      |                     ^ ...and 19 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CodegenError`
[INFO] [stdout]  --> crates/codegen/src/emit.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{CodeGenerator, CodegenError, CodegenResult};
[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 variable: `object`
[INFO] [stdout]    --> crates/codegen/src/bytecode.rs:483:36
[INFO] [stdout]     |
[INFO] [stdout] 483 |             MirStmtKind::SetAttr { object, attr, value } => {
[INFO] [stdout]     |                                    ^^^^^^ help: try ignoring the field: `object: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attr`
[INFO] [stdout]    --> crates/codegen/src/bytecode.rs:483:44
[INFO] [stdout]     |
[INFO] [stdout] 483 |             MirStmtKind::SetAttr { object, attr, value } => {
[INFO] [stdout]     |                                            ^^^^ help: try ignoring the field: `attr: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> crates/codegen/src/bytecode.rs:483:50
[INFO] [stdout]     |
[INFO] [stdout] 483 |             MirStmtKind::SetAttr { object, attr, value } => {
[INFO] [stdout]     |                                                  ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> crates/codegen/src/bytecode.rs:486:55
[INFO] [stdout]     |
[INFO] [stdout] 486 |             MirStmtKind::SetAttrIndex { object, attr, index, value } => {
[INFO] [stdout]     |                                                       ^^^^^ help: try ignoring the field: `index: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> crates/codegen/src/emit.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct CodeEmitter {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 11 |     config: TargetConfig,
[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 import: `std::cell::RefCell`
[INFO] [stdout]  --> crates/runtime/src/executor.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cell::RefCell;
[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 doc comment
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:6873:1
[INFO] [stdout]      |
[INFO] [stdout] 6873 | /// Thread-local exception state
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]      |
[INFO] [stdout]      = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]      = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Output` and `Stdio`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:4400:29
[INFO] [stdout]      |
[INFO] [stdout] 4400 | use std::process::{Command, Stdio, Output};
[INFO] [stdout]      |                             ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TcpListener` and `UdpSocket`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:5163:27
[INFO] [stdout]      |
[INFO] [stdout] 5163 | use std::net::{TcpStream, TcpListener, UdpSocket};
[INFO] [stdout]      |                           ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:5518:27
[INFO] [stdout]      |
[INFO] [stdout] 5518 |         result.push(CHARS[(b0 >> 2)] as char);
[INFO] [stdout]      |                           ^       ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 5518 -         result.push(CHARS[(b0 >> 2)] as char);
[INFO] [stdout] 5518 +         result.push(CHARS[b0 >> 2] as char);
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufReader`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:7236:37
[INFO] [stdout]      |
[INFO] [stdout] 7236 | use std::io::{Read, Write, BufRead, BufReader};
[INFO] [stdout]      |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:7611:27
[INFO] [stdout]      |
[INFO] [stdout] 7611 |         result.push(CHARS[(b0 >> 2)] as char);
[INFO] [stdout]      |                           ^       ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 7611 -         result.push(CHARS[(b0 >> 2)] as char);
[INFO] [stdout] 7611 +         result.push(CHARS[b0 >> 2] as char);
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:5094:16
[INFO] [stdout]      |
[INFO] [stdout] 5094 | use md5::{Md5, Digest as Md5Digest};
[INFO] [stdout]      |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:7236:28
[INFO] [stdout]      |
[INFO] [stdout] 7236 | use std::io::{Read, Write, BufRead, BufReader};
[INFO] [stdout]      |                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:2569:5
[INFO] [stdout]      |
[INFO] [stdout] 2569 |     func: c_long,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_func`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:2588:5
[INFO] [stdout]      |
[INFO] [stdout] 2588 |     unsafe {
[INFO] [stdout]      |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pred`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:2582:5
[INFO] [stdout]      |
[INFO] [stdout] 2582 |     pred: c_long,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_pred`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pred`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:2598:5
[INFO] [stdout]      |
[INFO] [stdout] 2598 |     pred: c_long,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_pred`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:3251:25
[INFO] [stdout]      |
[INFO] [stdout] 3251 |                     let result = method_fn(obj);
[INFO] [stdout]      |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:3971:13
[INFO] [stdout]      |
[INFO] [stdout] 3971 |         let mut current_class = (*sup).start_class;
[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: `current_class`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:3971:13
[INFO] [stdout]      |
[INFO] [stdout] 3971 |         let mut current_class = (*sup).start_class;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:4017:5
[INFO] [stdout]      |
[INFO] [stdout] 4017 |     args: *const c_long,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nargs`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:4018:5
[INFO] [stdout]      |
[INFO] [stdout] 4018 |     nargs: c_long,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_nargs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `obj`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:4141:66
[INFO] [stdout]      |
[INFO] [stdout] 4141 | pub extern "C" fn roast_property_get(prop: *const RoastProperty, obj: c_long) -> c_long {
[INFO] [stdout]      |                                                                  ^^^ help: if this is intentional, prefix it with an underscore: `_obj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `obj`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:4158:66
[INFO] [stdout]      |
[INFO] [stdout] 4158 | pub extern "C" fn roast_property_set(prop: *const RoastProperty, obj: c_long, value: c_long) {
[INFO] [stdout]      |                                                                  ^^^ help: if this is intentional, prefix it with an underscore: `_obj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:4158:79
[INFO] [stdout]      |
[INFO] [stdout] 4158 | pub extern "C" fn roast_property_set(prop: *const RoastProperty, obj: c_long, value: c_long) {
[INFO] [stdout]      |                                                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exc`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:7135:43
[INFO] [stdout]      |
[INFO] [stdout] 7135 | pub extern "C" fn roast_exception_matches(exc: c_long, type_name: *const c_char) -> c_long {
[INFO] [stdout]      |                                           ^^^ help: if this is intentional, prefix it with an underscore: `_exc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `buffered` is never read
[INFO] [stdout]    --> crates/runtime/src/gc.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout]  99 | struct GcInner<T> {
[INFO] [stdout]     |        ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 104 |     buffered: AtomicUsize,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `color`, `set_color`, `increment_buffered`, `buffered`, and `reset_buffered` are never used
[INFO] [stdout]    --> crates/runtime/src/gc.rs:145:8
[INFO] [stdout]     |
[INFO] [stdout] 108 | impl<T> GcRef<T> {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 145 |     fn color(&self) -> GcColor {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     fn set_color(&self, color: GcColor) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     fn increment_buffered(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     fn buffered(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     fn reset_buffered(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `garbage` is never read
[INFO] [stdout]    --> crates/runtime/src/gc.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub struct CycleCollector {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 214 |     garbage: Mutex<Vec<*const ()>>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `THREADS` is never used
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:5429:8
[INFO] [stdout]      |
[INFO] [stdout] 5429 | static THREADS: Lazy<Mutex<Vec<Option<JoinHandle<c_long>>>>> = Lazy::new(|| Mutex::new(Vec::new()));
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `base64_engine` is never used
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:5537:4
[INFO] [stdout]      |
[INFO] [stdout] 5537 | fn base64_engine() {}
[INFO] [stdout]      |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `exception_type` and `exception_value` are never read
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:6859:5
[INFO] [stdout]      |
[INFO] [stdout] 6857 | struct ExceptionFrame {
[INFO] [stdout]      |        -------------- fields in this struct
[INFO] [stdout] 6858 |     jmp_buf: JmpBuf,
[INFO] [stdout] 6859 |     exception_type: c_long,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^
[INFO] [stdout] 6860 |     exception_value: c_long,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_TAG` is never used
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:7248:7
[INFO] [stdout]      |
[INFO] [stdout] 7248 | const FILE_TAG: u8 = 20;
[INFO] [stdout]      |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setjmp` is never used
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:6764:8
[INFO] [stdout]      |
[INFO] [stdout] 6764 |     fn setjmp(env: *mut JmpBuf) -> c_int;
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FrameState`
[INFO] [stdout]  --> crates/vm/src/interpreter.rs:3:49
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::frame::{CallFrame, ExceptionHandler, FrameState};
[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: `HeapId`
[INFO] [stdout]  --> crates/vm/src/interpreter.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::heap::{Heap, HeapId};
[INFO] [stdout]   |                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> crates/vm/src/heap.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> crates/vm/src/heap.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/vm/src/builtins.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame`
[INFO] [stdout]    --> crates/vm/src/interpreter.rs:224:32
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let func = if let Some(frame) = self.frames.last() {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/vm/src/interpreter.rs:970:29
[INFO] [stdout]     |
[INFO] [stdout] 970 |                         let mut gen_state = gen.lock().unwrap();
[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: `code`
[INFO] [stdout]     --> crates/vm/src/interpreter.rs:1559:28
[INFO] [stdout]      |
[INFO] [stdout] 1559 |             Constant::Code(code) => Value::None, // Functions are more complex
[INFO] [stdout]      |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]     --> crates/vm/src/interpreter.rs:1711:24
[INFO] [stdout]      |
[INFO] [stdout] 1711 |             Value::Str(s) => match name {
[INFO] [stdout]      |                        ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `type_char` is never read
[INFO] [stdout]    --> crates/vm/src/builtins.rs:325:29
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let mut type_char = None;
[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: field `heap` is never read
[INFO] [stdout]    --> crates/vm/src/interpreter.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout]  91 | pub struct VM {
[INFO] [stdout]     |            -- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 103 |     heap: Heap,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Await` is never constructed
[INFO] [stdout]     --> crates/vm/src/interpreter.rs:1788:5
[INFO] [stdout]      |
[INFO] [stdout] 1783 | enum ExecResult {
[INFO] [stdout]      |      ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 1788 |     Await(Value),
[INFO] [stdout]      |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `duration_ms` is never read
[INFO] [stdout]    --> crates/vm/src/async_rt.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct Sleep {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 182 |     duration_ms: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `inner` is never read
[INFO] [stdout]    --> crates/vm/src/async_rt.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub struct Channel<T> {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 211 |     inner: Arc<Mutex<ChannelInner<T>>>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `send_wakers` is never read
[INFO] [stdout]    --> crates/vm/src/async_rt.rs:217:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | struct ChannelInner<T> {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 217 |     send_wakers: Vec<Waker>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Symbol`
[INFO] [stdout]  --> crates/parser/src/parser.rs:5:76
[INFO] [stdout]   |
[INFO] [stdout] 5 | use roast_common::{Diagnostic, DiagnosticSink, Interner, SourceFile, Span, Symbol};
[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 variable: `c`
[INFO] [stdout]    --> crates/parser/src/lexer.rs:510:34
[INFO] [stdout]     |
[INFO] [stdout] 510 | ...                   Some(c) => {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `closed` is never read
[INFO] [stdout]    --> crates/parser/src/lexer.rs:445:26
[INFO] [stdout]     |
[INFO] [stdout] 445 |         let mut closed = false;
[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 `seen_double_star` is assigned to, but never used
[INFO] [stdout]    --> crates/parser/src/parser.rs:352:13
[INFO] [stdout]     |
[INFO] [stdout] 352 |         let mut seen_double_star = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_seen_double_star` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `seen_double_star` is never read
[INFO] [stdout]    --> crates/parser/src/parser.rs:369:17
[INFO] [stdout]     |
[INFO] [stdout] 369 |                 seen_double_star = true;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `seen_double_star` is assigned to, but never used
[INFO] [stdout]    --> crates/parser/src/parser.rs:406:13
[INFO] [stdout]     |
[INFO] [stdout] 406 |         let mut seen_double_star = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_seen_double_star` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `seen_double_star` is never read
[INFO] [stdout]    --> crates/parser/src/parser.rs:424:17
[INFO] [stdout]     |
[INFO] [stdout] 424 |                 seen_double_star = true;
[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/parser/src/parser.rs:2598:13
[INFO] [stdout]      |
[INFO] [stdout] 2598 |         let mut lexer = Lexer::new(&temp_source, self.interner);
[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: `kw`
[INFO] [stdout]   --> crates/parser/src/token.rs:22:30
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn is_keyword(&self, kw: &str) -> bool {
[INFO] [stdout]    |                              ^^ help: if this is intentional, prefix it with an underscore: `_kw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `source` is never read
[INFO] [stdout]   --> crates/parser/src/lexer.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Lexer<'src> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 12 |     source: &'src str,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `at_any` is never used
[INFO] [stdout]   --> crates/parser/src/parser.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl<'a> Parser<'a> {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 82 |     fn at_any(&self, kinds: &[TokenKind]) -> bool {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FxHashMap`
[INFO] [stdout]  --> crates/optimizer/src/loop_opt.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rustc_hash::{FxHashMap, FxHashSet};
[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: `FxHashMap`
[INFO] [stdout]   --> crates/optimizer/src/unroll.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | use rustc_hash::{FxHashMap, FxHashSet};
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FxHashMap`
[INFO] [stdout]   --> crates/optimizer/src/fusion.rs:34:18
[INFO] [stdout]    |
[INFO] [stdout] 34 | use rustc_hash::{FxHashMap, FxHashSet};
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CachedMethod` and `InlineCache`
[INFO] [stdout]   --> crates/optimizer/src/pgo.rs:19:27
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::inline_cache::{InlineCache, InlineCacheManager, ICState, ShapeId, MethodTarget, CachedMethod};
[INFO] [stdout]    |                           ^^^^^^^^^^^                                                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `roast_typer::Type`
[INFO] [stdout]   --> crates/optimizer/src/pgo.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use roast_typer::Type;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FxHashSet`
[INFO] [stdout]   --> crates/optimizer/src/pgo.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 22 | use rustc_hash::{FxHashMap, FxHashSet};
[INFO] [stdout]    |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> crates/optimizer/src/pgo.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/optimizer/src/passes.rs:845:40
[INFO] [stdout]     |
[INFO] [stdout] 845 |     if let MirTerminator::Call { func, args, destination, target, .. } = &block.terminator {
[INFO] [stdout]     |                                        ^^^^ help: try ignoring the field: `args: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `destination`
[INFO] [stdout]    --> crates/optimizer/src/passes.rs:845:46
[INFO] [stdout]     |
[INFO] [stdout] 845 |     if let MirTerminator::Call { func, args, destination, target, .. } = &block.terminator {
[INFO] [stdout]     |                                              ^^^^^^^^^^^ help: try ignoring the field: `destination: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> crates/optimizer/src/passes.rs:845:59
[INFO] [stdout]     |
[INFO] [stdout] 845 |     if let MirTerminator::Call { func, args, destination, target, .. } = &block.terminator {
[INFO] [stdout]     |                                                           ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> crates/optimizer/src/passes.rs:882:71
[INFO] [stdout]     |
[INFO] [stdout] 882 |                     if let MirStmtKind::Assign { place: assign_place, value } = &stmt.kind {
[INFO] [stdout]     |                                                                       ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]   --> crates/optimizer/src/loop_opt.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     body: &MirBody,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/optimizer/src/unroll.rs:543:30
[INFO] [stdout]     |
[INFO] [stdout] 543 |     fn offset_iv_uses(&self, mut stmt: MirStmt, iv_local: LocalId, offset: i128) -> MirStmt {
[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: `iv_local`
[INFO] [stdout]    --> crates/optimizer/src/unroll.rs:543:49
[INFO] [stdout]     |
[INFO] [stdout] 543 |     fn offset_iv_uses(&self, mut stmt: MirStmt, iv_local: LocalId, offset: i128) -> MirStmt {
[INFO] [stdout]     |                                                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_iv_local`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> crates/optimizer/src/unroll.rs:543:68
[INFO] [stdout]     |
[INFO] [stdout] 543 |     fn offset_iv_uses(&self, mut stmt: MirStmt, iv_local: LocalId, offset: i128) -> MirStmt {
[INFO] [stdout]     |                                                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `place`
[INFO] [stdout]    --> crates/optimizer/src/fusion.rs:229:38
[INFO] [stdout]     |
[INFO] [stdout] 229 |         if let MirStmtKind::Assign { place, value } = &stmt.kind {
[INFO] [stdout]     |                                      ^^^^^ help: try ignoring the field: `place: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/optimizer/src/fusion.rs:324:13
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let mut stmts = Vec::new();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> crates/optimizer/src/fusion.rs:352:18
[INFO] [stdout]     |
[INFO] [stdout] 352 | pub fn fuse_maps(f: &LambdaCapture, g: &LambdaCapture) -> Option<LambdaCapture> {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> crates/optimizer/src/fusion.rs:352:37
[INFO] [stdout]     |
[INFO] [stdout] 352 | pub fn fuse_maps(f: &LambdaCapture, g: &LambdaCapture) -> Option<LambdaCapture> {
[INFO] [stdout]     |                                     ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]    --> crates/optimizer/src/fusion.rs:367:21
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub fn fuse_filters(p: &LambdaCapture, q: &LambdaCapture) -> Option<LambdaCapture> {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `q`
[INFO] [stdout]    --> crates/optimizer/src/fusion.rs:367:40
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub fn fuse_filters(p: &LambdaCapture, q: &LambdaCapture) -> Option<LambdaCapture> {
[INFO] [stdout]     |                                        ^ help: if this is intentional, prefix it with an underscore: `_q`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `candidate`
[INFO] [stdout]    --> crates/optimizer/src/pgo.rs:393:32
[INFO] [stdout]     |
[INFO] [stdout] 393 |     fn devirtualize(&mut self, candidate: DevirtCandidate) {
[INFO] [stdout]     |                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_candidate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func`
[INFO] [stdout]    --> crates/optimizer/src/pgo.rs:396:42
[INFO] [stdout]     |
[INFO] [stdout] 396 |             if let MirTerminator::Call { func, target, .. } = &mut block.terminator {
[INFO] [stdout]     |                                          ^^^^ help: try ignoring the field: `func: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> crates/optimizer/src/pgo.rs:396:48
[INFO] [stdout]     |
[INFO] [stdout] 396 |             if let MirTerminator::Call { func, target, .. } = &mut block.terminator {
[INFO] [stdout]     |                                                ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `return_local` is never read
[INFO] [stdout]    --> crates/optimizer/src/passes.rs:835:5
[INFO] [stdout]     |
[INFO] [stdout] 829 | struct TailCallInfo {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 835 |     return_local: Option<LocalId>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TailCallInfo` has derived impls for the traits `Debug` and `Clone`, 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: field `post_dominators` is never read
[INFO] [stdout]   --> crates/optimizer/src/analysis.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct CfgAnalysis<'a> {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     post_dominators: FxHashMap<BlockId, BlockId>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `init` and `step` are never read
[INFO] [stdout]    --> crates/optimizer/src/loop_opt.rs:271:5
[INFO] [stdout]     |
[INFO] [stdout] 269 | struct InductionVariable {
[INFO] [stdout]     |        ----------------- fields in this struct
[INFO] [stdout] 270 |     local: LocalId,
[INFO] [stdout] 271 |     init: MirConstant,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 272 |     step: MirConstant,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InductionVariable` 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 `next_block_id` and `next_local_id` are never read
[INFO] [stdout]    --> crates/optimizer/src/unroll.rs:280:5
[INFO] [stdout]     |
[INFO] [stdout] 277 | pub struct LoopUnroller<'a> {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 280 |     next_block_id: BlockId,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 281 |     next_local_id: LocalId,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `alloc_block_id` and `alloc_local_id` are never used
[INFO] [stdout]    --> crates/optimizer/src/unroll.rs:550:8
[INFO] [stdout]     |
[INFO] [stdout] 284 | impl<'a> LoopUnroller<'a> {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 550 |     fn alloc_block_id(&mut self) -> BlockId {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 556 |     fn alloc_local_id(&mut self) -> LocalId {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_field_name` and `extract_field_path` are never used
[INFO] [stdout]    --> crates/optimizer/src/sroa.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout]  91 | impl<'a> SroaPass<'a> {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 158 |     fn get_field_name(&self, ty: &Type, field_idx: u32) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     fn extract_field_path(&self, projections: &[MirProjection]) -> Vec<u32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `next_local_id` is never read
[INFO] [stdout]    --> crates/optimizer/src/fusion.rs:254:5
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub struct FusionTransformer<'a> {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 254 |     next_local_id: LocalId,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `alloc_local_id` is never used
[INFO] [stdout]    --> crates/optimizer/src/fusion.rs:344:8
[INFO] [stdout]     |
[INFO] [stdout] 258 | impl<'a> FusionTransformer<'a> {
[INFO] [stdout]     | ------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 344 |     fn alloc_local_id(&mut self) -> LocalId {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `site_id`, `shape`, `target`, and `confidence` are never read
[INFO] [stdout]    --> crates/optimizer/src/pgo.rs:415:5
[INFO] [stdout]     |
[INFO] [stdout] 414 | struct DevirtCandidate {
[INFO] [stdout]     |        --------------- fields in this struct
[INFO] [stdout] 415 |     site_id: u32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 416 |     shape: ShapeId,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 417 |     target: MethodTarget,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 418 |     confidence: f64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DevirtCandidate` 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 `body` is never read
[INFO] [stdout]    --> crates/optimizer/src/pgo.rs:427:5
[INFO] [stdout]     |
[INFO] [stdout] 426 | pub struct SpeculativeInliner<'a> {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] 427 |     body: &'a mut MirBody,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `site_id` is never read
[INFO] [stdout]    --> crates/optimizer/src/pgo.rs:547:5
[INFO] [stdout]     |
[INFO] [stdout] 546 | struct InlineCandidate {
[INFO] [stdout]     |        --------------- field in this struct
[INFO] [stdout] 547 |     site_id: u32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InlineCandidate` 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: unused import: `AtomicU64`
[INFO] [stdout]  --> crates/debugger/src/breakpoint.rs:5:36
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::atomic::{AtomicI64, AtomicU64, Ordering};
[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: `AtomicBool`
[INFO] [stdout]  --> crates/debugger/src/session.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::atomic::{AtomicBool, AtomicI64, Ordering};
[INFO] [stdout]   |                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arc`
[INFO] [stdout]  --> crates/debugger/src/session.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::{Arc, Mutex, Condvar};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `value_to_variable`
[INFO] [stdout]  --> crates/debugger/src/hook.rs:8:59
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::vm_integration::{VMDebugState, extract_locals, value_to_variable, build_eval_context};
[INFO] [stdout]   |                                                           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::session::DebugSession`
[INFO] [stdout]   --> crates/debugger/src/vm_integration.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::session::DebugSession;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stdout] warning: unused imports: `BufReader` and `BufWriter`
[INFO] [stdout]  --> crates/stdlib/src/fs.rs:6:34
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{self, Read, Write, BufReader, BufWriter};
[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: `BufReader`
[INFO] [stdout]  --> crates/stdlib/src/http.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{self, Read, Write, BufRead, BufReader};
[INFO] [stdout]   |                                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `AtomicUsize`
[INFO] [stdout]  --> crates/stdlib/src/sync.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Arc, Mutex as StdMutex, RwLock as StdRwLock,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 7 |     atomic::{AtomicBool, AtomicI64, AtomicUsize, Ordering},
[INFO] [stdout]   |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::UnsafeCell`
[INFO] [stdout]   --> crates/stdlib/src/sync.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::cell::UnsafeCell;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> crates/stdlib/src/heap.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CoverageCollector` and `CoverageSummary`
[INFO] [stdout]  --> crates/stdlib/src/testing.rs:9:23
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::coverage::{CoverageCollector, CoverageSummary, SharedCoverage};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap` and `BTreeSet`
[INFO] [stdout]  --> crates/stdlib/src/coverage.rs:5:42
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{HashMap, HashSet, BTreeMap, BTreeSet};
[INFO] [stdout]   |                                          ^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/stdlib/src/itertools.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Peekable`
[INFO] [stdout]  --> crates/stdlib/src/itertools.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::iter::{self, Peekable};
[INFO] [stdout]   |                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> crates/stdlib/src/functools.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> crates/stdlib/src/functools.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> crates/stdlib/src/profiler.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AtomicUsize`
[INFO] [stdout]  --> crates/stdlib/src/profiler.rs:7:36
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::atomic::{AtomicU64, AtomicUsize, Ordering};
[INFO] [stdout]   |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arc`
[INFO] [stdout]  --> crates/stdlib/src/profiler.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> crates/stdlib/src/database.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ExitStatus`
[INFO] [stdout]  --> crates/stdlib/src/subprocess.rs:9:74
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::process::{Child, ChildStderr, ChildStdin, ChildStdout, Command, ExitStatus, Stdio};
[INFO] [stdout]   |                                                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]   --> crates/stdlib/src/subprocess.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::{Arc, Mutex};
[INFO] [stdout]    |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/stdlib/src/web.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]    --> crates/stdlib/src/web.rs:793:17
[INFO] [stdout]     |
[INFO] [stdout] 793 | use std::time::{Duration, Instant};
[INFO] [stdout]     |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Metadata`
[INFO] [stdout]  --> crates/stdlib/src/shutil.rs:5:27
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::fs::{self, File, Metadata};
[INFO] [stdout]   |                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> crates/stdlib/src/doc.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> crates/stdlib/src/xml.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{Read, Write};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> crates/stdlib/src/heapq.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]    --> crates/stdlib/src/signal.rs:268:13
[INFO] [stdout]     |
[INFO] [stdout] 268 |         use std::mem;
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/stdlib/src/timezone.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> crates/stdlib/src/timezone.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/stdlib/src/async_io.rs:505:9
[INFO] [stdout]     |
[INFO] [stdout] 505 |     let mut future = Box::pin(future);
[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 import: `Read`
[INFO] [stdout]  --> crates/stdlib/src/http.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{self, Read, Write, BufRead, BufReader};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> crates/stdlib/src/http.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{self, Read, Write, BufRead, BufReader};
[INFO] [stdout]   |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> crates/stdlib/src/http.rs:6:34
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{self, Read, Write, BufRead, BufReader};
[INFO] [stdout]   |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> crates/stdlib/src/xml.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{Read, Write};
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> crates/stdlib/src/collections.rs:80:33
[INFO] [stdout]    |
[INFO] [stdout] 80 |                 ValueKey::Tuple(t) => {
[INFO] [stdout]    |                                 ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request`
[INFO] [stdout]    --> crates/stdlib/src/http.rs:280:24
[INFO] [stdout]     |
[INFO] [stdout] 280 |     pub fn send(&self, request: Request) -> io::Result<Response> {
[INFO] [stdout]     |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fut2`
[INFO] [stdout]    --> crates/stdlib/src/async_utils.rs:186:48
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub async fn select_first<T, F1, F2>(fut1: F1, fut2: F2) -> T
[INFO] [stdout]     |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_fut2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/stdlib/src/heap.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn from_vec(mut vec: Vec<T>) -> Self {
[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/stdlib/src/heap.rs:144:21
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn from_vec(mut vec: Vec<T>) -> Self {
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `leap`
[INFO] [stdout]    --> crates/stdlib/src/time.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 197 |     let leap = is_leap_year(year);
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_leap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> crates/stdlib/src/testing.rs:72:18
[INFO] [stdout]    |
[INFO] [stdout] 72 |             (Err(e), true) => TestResult::Passed,
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/stdlib/src/fmt.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |     let mut s = n.abs().to_string();
[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/stdlib/src/itertools.rs:241:13
[INFO] [stdout]     |
[INFO] [stdout] 241 |         let mut remaining: Vec<_> = items.iter()
[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/stdlib/src/itertools.rs:429:9
[INFO] [stdout]     |
[INFO] [stdout] 429 |     let mut result = Vec::new();
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `future`
[INFO] [stdout]    --> crates/stdlib/src/async_io.rs:505:9
[INFO] [stdout]     |
[INFO] [stdout] 505 |     let mut future = Box::pin(future);
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_future`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]    --> crates/stdlib/src/thread.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 192 | struct Worker {
[INFO] [stdout]     |        ------ field in this struct
[INFO] [stdout] 193 |     id: usize,
[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 `future` and `deadline` are never read
[INFO] [stdout]    --> crates/stdlib/src/async_utils.rs:224:5
[INFO] [stdout]     |
[INFO] [stdout] 223 | pub struct Timeout<F> {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 224 |     future: F,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 225 |     deadline: std::time::Instant,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `result` is never read
[INFO] [stdout]    --> crates/stdlib/src/structured.rs:234:5
[INFO] [stdout]     |
[INFO] [stdout] 231 | pub struct ScopedTask<T> {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 234 |     result: Arc<Mutex<Option<Result<T, TaskError>>>>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]    --> crates/stdlib/src/structured.rs:298:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | struct TaskMetadata {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 298 |     name: Option<String>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `func` and `args` are never read
[INFO] [stdout]   --> crates/stdlib/src/functools.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct Partial<F, A> {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 46 |     func: F,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 47 |     args: A,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `interval` is never read
[INFO] [stdout]    --> crates/stdlib/src/profiler.rs:480:5
[INFO] [stdout]     |
[INFO] [stdout] 474 | pub struct SamplingProfiler {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 480 |     interval: Duration,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `args` is never read
[INFO] [stdout]    --> crates/stdlib/src/subprocess.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout]  98 | pub struct Popen {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout]  99 |     child: Child,
[INFO] [stdout] 100 |     args: Vec<String>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `middleware` is never read
[INFO] [stdout]    --> crates/stdlib/src/web.rs:388:5
[INFO] [stdout]     |
[INFO] [stdout] 386 | pub struct App {
[INFO] [stdout]     |            --- field in this struct
[INFO] [stdout] 387 |     router: Router,
[INFO] [stdout] 388 |     middleware: Vec<Box<dyn Fn(Request, Box<dyn Fn(Request) -> Response>) -> Response + Send + Sync>>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode` is never used
[INFO] [stdout]    --> crates/stdlib/src/web.rs:260:12
[INFO] [stdout]     |
[INFO] [stdout] 260 |     pub fn encode(s: &str) -> String {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `buf`, `pos`, and `cap` are never read
[INFO] [stdout]    --> crates/stdlib/src/async_io.rs:618:5
[INFO] [stdout]     |
[INFO] [stdout] 616 | pub struct BufReader<R> {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 617 |     inner: R,
[INFO] [stdout] 618 |     buf: Vec<u8>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 619 |     pos: usize,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 620 |     cap: usize,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `reader` and `buf` are never read
[INFO] [stdout]    --> crates/stdlib/src/async_io.rs:712:5
[INFO] [stdout]     |
[INFO] [stdout] 711 | pub struct Lines<R> {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 712 |     reader: R,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 713 |     buf: String,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `flag` is never read
[INFO] [stdout]    --> crates/stdlib/src/signal.rs:354:5
[INFO] [stdout]     |
[INFO] [stdout] 353 | pub struct CtrlC {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 354 |     flag: Arc<AtomicBool>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `should_shutdown` is never read
[INFO] [stdout]    --> crates/stdlib/src/signal.rs:417:5
[INFO] [stdout]     |
[INFO] [stdout] 416 | pub struct GracefulShutdown {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 417 |     should_shutdown: Arc<AtomicBool>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/stdlib/src/sync.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn lock(&self) -> MutexGuard<T> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn lock(&self) -> MutexGuard<'_, T> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/stdlib/src/sync.rs:47:21
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn try_lock(&self) -> Option<MutexGuard<T>> {
[INFO] [stdout]    |                     ^^^^^            ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn try_lock(&self) -> Option<MutexGuard<'_, T>> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/stdlib/src/sync.rs:99:17
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn read(&self) -> RwLockReadGuard<T> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn read(&self) -> RwLockReadGuard<'_, T> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/stdlib/src/sync.rs:104:18
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn write(&self) -> RwLockWriteGuard<T> {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn write(&self) -> RwLockWriteGuard<'_, T> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/stdlib/src/sync.rs:109:21
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn try_read(&self) -> Option<RwLockReadGuard<T>> {
[INFO] [stdout]     |                     ^^^^^            ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn try_read(&self) -> Option<RwLockReadGuard<'_, T>> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/stdlib/src/sync.rs:114:22
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn try_write(&self) -> Option<RwLockWriteGuard<T>> {
[INFO] [stdout]     |                      ^^^^^            ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn try_write(&self) -> Option<RwLockWriteGuard<'_, T>> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `verify_signature`
[INFO] [stdout]  --> crates/kitchen/src/registry.rs:8:52
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::signing::{PackageSignature, SigningKey, verify_signature};
[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: `crate::signing::PackageSignature`
[INFO] [stdout]  --> crates/kitchen/src/lock.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::signing::PackageSignature;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/kitchen/src/doc.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> crates/kitchen/src/doc.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{self, Write};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> crates/kitchen/src/doc.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::ts_seconds`
[INFO] [stdout]   --> crates/kitchen/src/signing.rs:15:29
[INFO] [stdout]    |
[INFO] [stdout] 15 | use chrono::{DateTime, Utc, serde::ts_seconds};
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::deps::PackageMetadata`
[INFO] [stdout]   --> crates/kitchen/src/trust.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::deps::PackageMetadata;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tarball`
[INFO] [stdout]    --> crates/kitchen/src/registry.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 197 |         tarball: &[u8],
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tarball`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> crates/kitchen/src/pypi.rs:154:32
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub async fn search(&self, query: &str) -> Result<Vec<PyPISearchResult>> {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `project_root` is never read
[INFO] [stdout]    --> crates/kitchen/src/pypi.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub struct PythonEnv {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 188 |     /// Path to the project root.
[INFO] [stdout] 189 |     project_root: PathBuf,
[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 import: `resolve_module_path`
[INFO] [stdout]   --> crates/lsp/src/server.rs:14:96
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::analysis::{Analyzer, DocumentAnalysis, SymbolKind, SymbolInfo, builtin_completions, resolve_module_path};
[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 imports: `TypeChecker` and `TypeContext`
[INFO] [stdout]  --> crates/lsp/src/analysis.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 | use roast_typer::{Type, TypeContext, TypeChecker};
[INFO] [stdout]   |                         ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Location` and `Url`
[INFO] [stdout]   --> crates/lsp/src/analysis.rs:11:45
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tower_lsp::lsp_types::{Position, Range, Location, Url};
[INFO] [stdout]    |                                             ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]    --> crates/lsp/src/analysis.rs:205:27
[INFO] [stdout]     |
[INFO] [stdout] 205 |     use std::path::{Path, PathBuf};
[INFO] [stdout]     |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parse_result`
[INFO] [stdout]    --> crates/lsp/src/server.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let parse_result = parse_module(source, uri.path(), &self.interner, &mut diag_sink);
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parse_result`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> crates/lsp/src/server.rs:382:13
[INFO] [stdout]     |
[INFO] [stdout] 382 |         let position = params.text_document_position.position;
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decorators`
[INFO] [stdout]    --> crates/lsp/src/analysis.rs:352:64
[INFO] [stdout]     |
[INFO] [stdout] 352 |             StmtKind::FunctionDef { name, args, returns, body, decorators, .. } => {
[INFO] [stdout]     |                                                                ^^^^^^^^^^ help: try ignoring the field: `decorators: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_str`
[INFO] [stdout]    --> crates/lsp/src/analysis.rs:361:21
[INFO] [stdout]     |
[INFO] [stdout] 361 |                 let type_str = self.build_function_signature(args, returns.as_deref());
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> crates/lsp/src/analysis.rs:915:33
[INFO] [stdout]     |
[INFO] [stdout] 915 |                     if let Some(info) = self.analysis.symbols.get(&func_name).cloned() {
[INFO] [stdout]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `lookup_symbol` and `get_module_exports` are never used
[INFO] [stdout]   --> crates/lsp/src/server.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl ModuleIndex {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |     fn lookup_symbol(&self, module_path: &str, symbol_name: &str) -> Option<(PathBuf, SymbolInfo)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     fn get_module_exports(&self, module_path: &str) -> Vec<(String, SymbolInfo)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `graph` is never read
[INFO] [stdout]   --> crates/package_manager/src/resolver.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct Resolver {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 26 |     graph: DiGraph<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: field `base_url` is never read
[INFO] [stdout]  --> crates/package_manager/src/registry.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Registry {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 9 |     base_url: String,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::modules::PyModule`
[INFO] [stdout]  --> crates/pycompat/src/bridge.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::modules::PyModule;
[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: `PyException`
[INFO] [stdout]  --> crates/pycompat/src/builtins.rs:4:36
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::types::{PyValue, PyKey, PyException};
[INFO] [stdout]   |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PyCallable`
[INFO] [stdout]  --> crates/pycompat/src/decorators.rs:6:29
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::types::{PyValue, PyCallable, PyObject};
[INFO] [stdout]   |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> crates/pycompat/src/stdlib.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PySlice`
[INFO] [stdout]  --> crates/pycompat/src/interop.rs:6:58
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::types::{PyValue, PyKey, PyObject, PyCallable, PySlice};
[INFO] [stdout]   |                                                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `module`
[INFO] [stdout]    --> crates/pycompat/src/bridge.rs:345:13
[INFO] [stdout]     |
[INFO] [stdout] 345 |             module: &str,
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_module`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function`
[INFO] [stdout]    --> crates/pycompat/src/bridge.rs:346:13
[INFO] [stdout]     |
[INFO] [stdout] 346 |             function: &str,
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/pycompat/src/bridge.rs:347:13
[INFO] [stdout]     |
[INFO] [stdout] 347 |             args: Vec<PyValue>,
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `module`
[INFO] [stdout]    --> crates/pycompat/src/bridge.rs:354:36
[INFO] [stdout]     |
[INFO] [stdout] 354 |         pub fn get_attr(&mut self, module: &str, attr: &str) -> Result<PyValue, BridgeError> {
[INFO] [stdout]     |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_module`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attr`
[INFO] [stdout]    --> crates/pycompat/src/bridge.rs:354:50
[INFO] [stdout]     |
[INFO] [stdout] 354 |         pub fn get_attr(&mut self, module: &str, attr: &str) -> Result<PyValue, BridgeError> {
[INFO] [stdout]     |                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_attr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/pycompat/src/modules.rs:188:49
[INFO] [stdout]     |
[INFO] [stdout] 188 |                 module.add_function("findall", |args| {
[INFO] [stdout]     |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/pycompat/src/modules.rs:185:48
[INFO] [stdout]     |
[INFO] [stdout] 185 |                 module.add_function("search", |args| {
[INFO] [stdout]     |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/pycompat/src/modules.rs:181:47
[INFO] [stdout]     |
[INFO] [stdout] 181 |                 module.add_function("match", |args| {
[INFO] [stdout]     |                                               ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/pycompat/src/builtins.rs:202:17
[INFO] [stdout]     |
[INFO] [stdout] 202 | fn builtin_dict(args: Vec<PyValue>) -> Result<PyValue, BridgeError> {
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/pycompat/src/ffi.rs:245:9
[INFO] [stdout]     |
[INFO] [stdout] 245 |         args: Vec<PyValue>,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/pycompat/src/stdlib.rs:351:36
[INFO] [stdout]     |
[INFO] [stdout] 351 |     module.add_function("reduce", |args| {
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/pycompat/src/migrate.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let mut warnings = 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: `receiver`
[INFO] [stdout]   --> crates/pycompat/src/interop.rs:83:34
[INFO] [stdout]    |
[INFO] [stdout] 83 |             Value::BoundMethod { receiver, method } => PyValue::Callable(PyCallable {
[INFO] [stdout]    |                                  ^^^^^^^^ help: try ignoring the field: `receiver: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]    --> crates/pycompat/src/ffi.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct Library {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 104 |     path: 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: fields `py_incref`, `py_decref`, and `py_run_string` are never read
[INFO] [stdout]    --> crates/pycompat/src/ffi.rs:282:9
[INFO] [stdout]     |
[INFO] [stdout] 279 |     pub struct CPythonAPI {
[INFO] [stdout]     |                ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 282 |         py_incref: Option<extern "C" fn(PyObjectPtr)>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 283 |         py_decref: Option<extern "C" fn(PyObjectPtr)>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 284 |         py_run_string: Option<extern "C" fn(*const i8, i32, PyObjectPtr, PyObjectPtr) -> PyObjectPtr>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context` is never read
[INFO] [stdout]    --> crates/pycompat/src/interop.rs:279:5
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub struct Importer {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 279 |     context: InteropContext,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DiGraph` and `NodeIndex`
[INFO] [stdout]  --> crates/borrowck/src/dataflow.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use petgraph::graph::{DiGraph, NodeIndex};
[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: `std::hash::Hash`
[INFO] [stdout]   --> crates/borrowck/src/dataflow.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::hash::Hash;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlaceId`
[INFO] [stdout]  --> crates/borrowck/src/moves.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::places::{Place, PlaceId};
[INFO] [stdout]   |                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bitflags::bitflags`
[INFO] [stdout]  --> crates/borrowck/src/regions.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use bitflags::bitflags;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ControlFlowGraph`, `LivenessAnalysis`, `StatementRhs`, `Statement`, and `self`
[INFO] [stdout]  --> crates/borrowck/src/checker.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::dataflow::{self, ControlFlowGraph, LivenessAnalysis, Statement, StatementRhs};
[INFO] [stdout]   |                       ^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllFacts` and `OutputFacts`
[INFO] [stdout]  --> crates/borrowck/src/checker.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::facts::{AllFacts, FactGenerator, OutputFacts};
[INFO] [stdout]   |                    ^^^^^^^^                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LifetimeId`
[INFO] [stdout]  --> crates/borrowck/src/checker.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::lifetime::{LifetimeContext, LifetimeId};
[INFO] [stdout]   |                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MoveError`
[INFO] [stdout]  --> crates/borrowck/src/checker.rs:8:42
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::moves::{InitStatus, MoveData, MoveError};
[INFO] [stdout]   |                                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PlaceElem` and `PlaceSet`
[INFO] [stdout]  --> crates/borrowck/src/checker.rs:9:28
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::places::{Place, PlaceElem, PlaceId, PlaceSet};
[INFO] [stdout]   |                            ^^^^^^^^^           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConstraintKind`, `ConstraintOrigin`, and `RegionId`
[INFO] [stdout]   --> crates/borrowck/src/checker.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::regions::{ConstraintKind, ConstraintOrigin, RegionId, RegionInference};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Loan` and `Location`
[INFO] [stdout]  --> crates/borrowck/src/diagnostics.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::loans::{Loan, LoanKind, Location};
[INFO] [stdout]   |                    ^^^^            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DiagnosticKind`
[INFO] [stdout]  --> crates/borrowck/src/diagnostics.rs:7:32
[INFO] [stdout]   |
[INFO] [stdout] 7 | use roast_common::{Diagnostic, DiagnosticKind, Span};
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `roast_common::prelude::*`
[INFO] [stdout]   --> crates/borrowck/src/lib.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use roast_common::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> crates/borrowck/src/places.rs:115:34
[INFO] [stdout]     |
[INFO] [stdout] 115 |                 PlaceElem::Field(idx, Some(sym)) => write!(f, ".{}", sym.as_raw())?,
[INFO] [stdout]     |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> crates/borrowck/src/checker.rs:175:78
[INFO] [stdout]     |
[INFO] [stdout] 175 |     fn check_terminator(&mut self, term: &MirTerminator, location: Location, body: &MirBody, span: Span) {
[INFO] [stdout]     |                                                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]    --> crates/borrowck/src/checker.rs:358:51
[INFO] [stdout]     |
[INFO] [stdout] 358 |     fn check_read_place(&mut self, place: &Place, location: Location, span: Span) {
[INFO] [stdout]     |                                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]    --> crates/borrowck/src/checker.rs:393:70
[INFO] [stdout]     |
[INFO] [stdout] 393 |     fn check_write_place(&mut self, mir_place: &roast_mir::MirPlace, location: Location, span: Span) {
[INFO] [stdout]     |                                                                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `interner` is never read
[INFO] [stdout]   --> crates/borrowck/src/checker.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct BorrowChecker<'a> {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     interner: &'a Interner,
[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 imports: `RUNTIME_DECLARATIONS` and `TypeTag`
[INFO] [stdout]   --> crates/llvm_backend/src/types.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::runtime::{RUNTIME_DECLARATIONS, TypeTag};
[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: `std::io::Write`
[INFO] [stdout]     --> crates/llvm_backend/src/lib.rs:1390:13
[INFO] [stdout]      |
[INFO] [stdout] 1390 |         use std::io::Write;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `escaped`
[INFO] [stdout]     --> crates/llvm_backend/src/lib.rs:1305:33
[INFO] [stdout]      |
[INFO] [stdout] 1305 | ...                   let escaped = method_name.replace("\\", "\\5C").replace("\"", "\\22");
[INFO] [stdout]      |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_escaped`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `unwind`
[INFO] [stdout]     --> crates/llvm_backend/src/lib.rs:3863:68
[INFO] [stdout]      |
[INFO] [stdout] 3863 |             MirTerminator::Call { func, args, destination, target, unwind } => {
[INFO] [stdout]      |                                                                    ^^^^^^ help: try ignoring the field: `unwind: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `finally`
[INFO] [stdout]     --> crates/llvm_backend/src/lib.rs:5112:55
[INFO] [stdout]      |
[INFO] [stdout] 5112 |             MirTerminator::TryBegin { body, handlers, finally, exit } => {
[INFO] [stdout]      |                                                       ^^^^^^^ help: try ignoring the field: `finally: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> crates/llvm_backend/src/lib.rs:5212:22
[INFO] [stdout]      |
[INFO] [stdout] 5212 |                 for (i, arg) in args.iter().enumerate() {
[INFO] [stdout]      |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ir`, `declarations`, `definitions`, `class_globals`, `debug_metadata_id`, and `debug_functions` are never read
[INFO] [stdout]    --> crates/llvm_backend/src/lib.rs:498:5
[INFO] [stdout]     |
[INFO] [stdout] 495 | pub struct LlvmCodeGen {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 498 |     ir: String,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 499 |     /// Function declarations
[INFO] [stdout] 500 |     declarations: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 501 |     /// Function definitions
[INFO] [stdout] 502 |     definitions: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 514 |     class_globals: HashMap<String, String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 522 |     debug_metadata_id: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 523 |     /// Debug info: function metadata (function_name -> metadata_id)
[INFO] [stdout] 524 |     debug_functions: HashMap<String, u32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `fresh_label` and `generate_block` are never used
[INFO] [stdout]     --> crates/llvm_backend/src/lib.rs:1604:8
[INFO] [stdout]      |
[INFO] [stdout] 1586 | impl<'a> FunctionGen<'a> {
[INFO] [stdout]      | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1604 |     fn fresh_label(&mut self) -> usize {
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2042 |     fn generate_block(&mut self, block: &MirBlock) -> LlvmResult<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/gpu/src/device.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[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: `std::sync::Arc`
[INFO] [stdout]  --> crates/gpu/src/tensor.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]  --> crates/gpu/src/tensor.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/gpu/src/backend.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::CString`
[INFO] [stdout]    --> crates/gpu/src/backend.rs:183:9
[INFO] [stdout]     |
[INFO] [stdout] 183 |     use std::ffi::CString;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DType`
[INFO] [stdout]  --> crates/gpu/src/ops.rs:3:36
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::tensor::{Tensor, Shape, DType};
[INFO] [stdout]   |                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::device::Device`
[INFO] [stdout]  --> crates/gpu/src/ops.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::device::Device;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cuda_kernels`
[INFO] [stdout]  --> crates/gpu/src/ops.rs:5:35
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::kernel::{LaunchConfig, cuda_kernels};
[INFO] [stdout]   |                                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arc`
[INFO] [stdout]  --> crates/gpu/src/runtime.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::{Arc, Once, RwLock};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GpuError`
[INFO] [stdout]  --> crates/gpu/src/runtime.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::error::{GpuError, GpuResult};
[INFO] [stdout]   |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:308:9
[INFO] [stdout]     |
[INFO] [stdout] 308 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> crates/gpu/src/error.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/gpu/src/nvrtc.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/gpu/src/cuda.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> crates/gpu/src/cuda.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DType`
[INFO] [stdout]   --> crates/gpu/src/cublas.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::tensor::{Tensor, DType};
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Shape`
[INFO] [stdout]   --> crates/gpu/src/cudnn.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::tensor::{Tensor, Shape, DType};
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> crates/gpu/src/autograd.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DType`
[INFO] [stdout]  --> crates/gpu/src/autograd.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::tensor::{Tensor, Shape, DType};
[INFO] [stdout]   |                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::device::Device`
[INFO] [stdout]   --> crates/gpu/src/autograd.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::device::Device;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GpuError`
[INFO] [stdout]   --> crates/gpu/src/autograd.rs:11:20
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::error::{GpuError, GpuResult};
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Backend`
[INFO] [stdout]  --> crates/gpu/src/runtime.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::backend::{Backend, BackendType};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dtype`
[INFO] [stdout]    --> crates/gpu/src/tensor.rs:297:31
[INFO] [stdout]     |
[INFO] [stdout] 297 |     pub fn rand(shape: Shape, dtype: DType, device: &Device) -> GpuResult<Self> {
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_dtype`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `low`
[INFO] [stdout]    --> crates/gpu/src/tensor.rs:322:9
[INFO] [stdout]     |
[INFO] [stdout] 322 |         low: f32,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_low`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `high`
[INFO] [stdout]    --> crates/gpu/src/tensor.rs:323:9
[INFO] [stdout]     |
[INFO] [stdout] 323 |         high: f32,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_high`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dtype`
[INFO] [stdout]    --> crates/gpu/src/tensor.rs:333:32
[INFO] [stdout]     |
[INFO] [stdout] 333 |     pub fn randn(shape: Shape, dtype: DType, device: &Device) -> GpuResult<Self> {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_dtype`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dtype`
[INFO] [stdout]    --> crates/gpu/src/tensor.rs:364:26
[INFO] [stdout]     |
[INFO] [stdout] 364 |     pub fn eye(n: usize, dtype: DType, device: &Device) -> GpuResult<Self> {
[INFO] [stdout]     |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_dtype`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dtype`
[INFO] [stdout]    --> crates/gpu/src/tensor.rs:374:43
[INFO] [stdout]     |
[INFO] [stdout] 374 |     pub fn full(shape: Shape, value: f32, dtype: DType, device: &Device) -> GpuResult<Self> {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_dtype`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> crates/gpu/src/memory.rs:282:16
[INFO] [stdout]     |
[INFO] [stdout] 282 |     pub fn new(size: usize) -> GpuResult<Self> {
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kernel`
[INFO] [stdout]    --> crates/gpu/src/backend.rs:471:13
[INFO] [stdout]     |
[INFO] [stdout] 471 |             kernel: &CompiledKernel,
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_kernel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `grid`
[INFO] [stdout]    --> crates/gpu/src/backend.rs:472:13
[INFO] [stdout]     |
[INFO] [stdout] 472 |             grid: [u32; 3],
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_grid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> crates/gpu/src/backend.rs:473:13
[INFO] [stdout]     |
[INFO] [stdout] 473 |             block: [u32; 3],
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/gpu/src/backend.rs:474:13
[INFO] [stdout]     |
[INFO] [stdout] 474 |             args: &[KernelArg],
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stream`
[INFO] [stdout]    --> crates/gpu/src/backend.rs:475:13
[INFO] [stdout]     |
[INFO] [stdout] 475 |             stream: usize,
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> crates/gpu/src/ops.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let config = LaunchConfig::linear(n, 256);
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> crates/gpu/src/ops.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let args = [
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> crates/gpu/src/ops.rs:205:16
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn sum_dim(a: &Tensor, dim: usize) -> GpuResult<Tensor> {
[INFO] [stdout]     |                ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]    --> crates/gpu/src/ops.rs:205:28
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn sum_dim(a: &Tensor, dim: usize) -> GpuResult<Tensor> {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> crates/gpu/src/ops.rs:211:17
[INFO] [stdout]     |
[INFO] [stdout] 211 | pub fn mean_dim(a: &Tensor, dim: usize) -> GpuResult<Tensor> {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]    --> crates/gpu/src/ops.rs:211:29
[INFO] [stdout]     |
[INFO] [stdout] 211 | pub fn mean_dim(a: &Tensor, dim: usize) -> GpuResult<Tensor> {
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]    --> crates/gpu/src/ops.rs:330:28
[INFO] [stdout]     |
[INFO] [stdout] 330 | pub fn softmax(a: &Tensor, dim: Option<usize>) -> GpuResult<Tensor> {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:207:23
[INFO] [stdout]     |
[INFO] [stdout] 207 |     pub fn set_device(device_id: i32) -> GpuResult<()> {
[INFO] [stdout]     |                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:218:31
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub fn enable_peer_access(device: i32, peer: i32) -> GpuResult<()> {
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `peer`
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:218:44
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub fn enable_peer_access(device: i32, peer: i32) -> GpuResult<()> {
[INFO] [stdout]     |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_peer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `peer`
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:224:32
[INFO] [stdout]     |
[INFO] [stdout] 224 |     pub fn disable_peer_access(peer: i32) -> GpuResult<()> {
[INFO] [stdout]     |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_peer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:229:28
[INFO] [stdout]     |
[INFO] [stdout] 229 |     pub fn can_access_peer(device: i32, peer: i32) -> GpuResult<bool> {
[INFO] [stdout]     |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `peer`
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:229:41
[INFO] [stdout]     |
[INFO] [stdout] 229 |     pub fn can_access_peer(device: i32, peer: i32) -> GpuResult<bool> {
[INFO] [stdout]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_peer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:294:29
[INFO] [stdout]     |
[INFO] [stdout] 294 |         pub fn elapsed_time(start: &Event, end: &Event) -> GpuResult<f32> {
[INFO] [stdout]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end`
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:294:44
[INFO] [stdout]     |
[INFO] [stdout] 294 |         pub fn elapsed_time(start: &Event, end: &Event) -> GpuResult<f32> {
[INFO] [stdout]     |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst_device`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:695:9
[INFO] [stdout]     |
[INFO] [stdout] 695 |         dst_device: i32,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dst_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst_ptr`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:696:9
[INFO] [stdout]     |
[INFO] [stdout] 696 |         dst_ptr: usize,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dst_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src_device`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:697:9
[INFO] [stdout]     |
[INFO] [stdout] 697 |         src_device: i32,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src_ptr`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:698:9
[INFO] [stdout]     |
[INFO] [stdout] 698 |         src_ptr: usize,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:699:9
[INFO] [stdout]     |
[INFO] [stdout] 699 |         size: usize,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst_device`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:708:9
[INFO] [stdout]     |
[INFO] [stdout] 708 |         dst_device: i32,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dst_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst_ptr`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:709:9
[INFO] [stdout]     |
[INFO] [stdout] 709 |         dst_ptr: usize,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dst_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src_device`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:710:9
[INFO] [stdout]     |
[INFO] [stdout] 710 |         src_device: i32,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src_ptr`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:711:9
[INFO] [stdout]     |
[INFO] [stdout] 711 |         src_ptr: usize,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:712:9
[INFO] [stdout]     |
[INFO] [stdout] 712 |         size: usize,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stream`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:713:9
[INFO] [stdout]     |
[INFO] [stdout] 713 |         stream: usize,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_data`
[INFO] [stdout]    --> crates/gpu/src/autograd.rs:801:17
[INFO] [stdout]     |
[INFO] [stdout] 801 |             let new_data = crate::ops::add(param.data(), &scaled)?;
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `strides` and `offset` are never read
[INFO] [stdout]    --> crates/gpu/src/tensor.rs:631:5
[INFO] [stdout]     |
[INFO] [stdout] 628 | pub struct TensorView<'a> {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 631 |     strides: Vec<usize>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 632 |     offset: usize,
[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 `strides` and `offset` are never read
[INFO] [stdout]    --> crates/gpu/src/tensor.rs:653:5
[INFO] [stdout]     |
[INFO] [stdout] 650 | pub struct TensorMut<'a> {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 653 |     strides: Vec<usize>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 654 |     offset: usize,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `params` is never read
[INFO] [stdout]    --> crates/gpu/src/kernel.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub struct Kernel {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 260 |     params: Vec<KernelParam>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pooled` is never read
[INFO] [stdout]   --> crates/gpu/src/memory.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Buffer {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pooled: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `allocations` and `allocated` are never read
[INFO] [stdout]    --> crates/gpu/src/memory.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub struct SimpleAllocator {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 190 |     allocations: Mutex<HashMap<usize, usize>>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 191 |     allocated: Mutex<u64>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]    --> crates/gpu/src/memory.rs:277:5
[INFO] [stdout]     |
[INFO] [stdout] 275 | pub struct UnifiedMemory {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 276 |     ptr: usize,
[INFO] [stdout] 277 |     size: usize,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `src`, `dst`, `size`, `kind`, and `stream` are never read
[INFO] [stdout]    --> crates/gpu/src/memory.rs:321:5
[INFO] [stdout]     |
[INFO] [stdout] 319 | pub struct AsyncMemcpy {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 320 |     /// Source pointer.
[INFO] [stdout] 321 |     src: usize,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 324 |     dst: usize,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 327 |     size: usize,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 330 |     kind: MemcpyKind,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 333 |     stream: usize,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `kernel_cache` is never read
[INFO] [stdout]   --> crates/gpu/src/runtime.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct GpuRuntime {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     kernel_cache: KernelCache,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `device` is never read
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:241:9
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub struct Stream {
[INFO] [stdout]     |                ------ field in this struct
[INFO] [stdout] 240 |         handle: usize,
[INFO] [stdout] 241 |         device: usize,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `handle` is never read
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:274:9
[INFO] [stdout]     |
[INFO] [stdout] 273 |     pub struct Event {
[INFO] [stdout]     |                ----- field in this struct
[INFO] [stdout] 274 |         handle: usize,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `options` is never read
[INFO] [stdout]    --> crates/gpu/src/compiler.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub struct KernelCompiler {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 113 |     /// Options.
[INFO] [stdout] 114 |     options: CompileOptions,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `NvrtcGetCUBINSize` is never used
[INFO] [stdout]    --> crates/gpu/src/nvrtc.rs:101:6
[INFO] [stdout]     |
[INFO] [stdout] 101 | type NvrtcGetCUBINSize = unsafe extern "C" fn(prog: NvrtcProgram, size: *mut usize) -> i32;
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `NvrtcGetCUBIN` is never used
[INFO] [stdout]    --> crates/gpu/src/nvrtc.rs:102:6
[INFO] [stdout]     |
[INFO] [stdout] 102 | type NvrtcGetCUBIN = unsafe extern "C" fn(prog: NvrtcProgram, cubin: *mut i8) -> i32;
[INFO] [stdout]     |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuModuleLoadDataEx` is never used
[INFO] [stdout]    --> crates/gpu/src/nvrtc.rs:121:6
[INFO] [stdout]     |
[INFO] [stdout] 121 | type CuModuleLoadDataEx = unsafe extern "C" fn(
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `add_name_expression` and `get_lowered_name` are never read
[INFO] [stdout]    --> crates/gpu/src/nvrtc.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct NvrtcLib {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 161 |     add_name_expression: Symbol<'static, NvrtcAddNameExpression>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 162 |     get_lowered_name: Symbol<'static, NvrtcGetLoweredName>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_hash` and `compile_time_ms` are never read
[INFO] [stdout]     --> crates/gpu/src/nvrtc.rs:1017:5
[INFO] [stdout]      |
[INFO] [stdout] 1015 | struct CachedKernel {
[INFO] [stdout]      |        ------------ fields in this struct
[INFO] [stdout] 1016 |     kernel: CudaKernel,
[INFO] [stdout] 1017 |     source_hash: u64,
[INFO] [stdout]      |     ^^^^^^^^^^^
[INFO] [stdout] 1018 |     compile_time_ms: f64,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device_id` and `device_info` are never read
[INFO] [stdout]   --> crates/gpu/src/cuda.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct CudaBackend {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     device_id: i32,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     device_info: Option<DeviceInfo>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CublasGetStream` is never used
[INFO] [stdout]    --> crates/gpu/src/cublas.rs:143:6
[INFO] [stdout]     |
[INFO] [stdout] 143 | type CublasGetStream = unsafe extern "C" fn(CublasHandle, *mut usize) -> i32;
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> crates/gpu/src/cublas.rs:238:5
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub struct CublasLib {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 238 |     ddot: Symbol<'static, CublasDdot>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 239 |     snrm2: Symbol<'static, CublasSnrm2>,
[INFO] [stdout] 240 |     dnrm2: Symbol<'static, CublasDnrm2>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 241 |     sscal: Symbol<'static, CublasSscal>,
[INFO] [stdout] 242 |     dscal: Symbol<'static, CublasDscal>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 243 |     scopy: Symbol<'static, CublasScopy>,
[INFO] [stdout] 244 |     dcopy: Symbol<'static, CublasDcopy>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 245 |     isamax: Symbol<'static, CublasIsamax>,
[INFO] [stdout] 246 |     idamax: Symbol<'static, CublasIdamax>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 247 |     sasum: Symbol<'static, CublasSasum>,
[INFO] [stdout] 248 |     dasum: Symbol<'static, CublasDasum>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 252 |     dgemv: Symbol<'static, CublasDgemv>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     sgemm_batched: Symbol<'static, CublasSgemmBatched>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CudnnBatchNormForward` is never used
[INFO] [stdout]    --> crates/gpu/src/cudnn.rs:311:6
[INFO] [stdout]     |
[INFO] [stdout] 311 | type CudnnBatchNormForward = unsafe extern "C" fn(
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CudnnCreateDropoutDescriptor` is never used
[INFO] [stdout]    --> crates/gpu/src/cudnn.rs:324:6
[INFO] [stdout]     |
[INFO] [stdout] 324 | type CudnnCreateDropoutDescriptor = unsafe extern "C" fn(*mut CudnnDropoutDescriptor) -> i32;
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CudnnDestroyDropoutDescriptor` is never used
[INFO] [stdout]    --> crates/gpu/src/cudnn.rs:325:6
[INFO] [stdout]     |
[INFO] [stdout] 325 | type CudnnDestroyDropoutDescriptor = unsafe extern "C" fn(CudnnDropoutDescriptor) -> i32;
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `activation_backward` and `softmax_backward` are never read
[INFO] [stdout]    --> crates/gpu/src/cudnn.rs:346:5
[INFO] [stdout]     |
[INFO] [stdout] 332 | pub struct CudnnLib {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 346 |     activation_backward: Symbol<'static, CudnnActivationBackward>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     softmax_backward: Symbol<'static, CudnnSoftmaxBackward>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `comm_count`, `comm_cu_device`, `comm_user_rank`, and `reduce` are never read
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:171:5
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct NcclLib {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 171 |     comm_count: Symbol<'static, NcclCommCount>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 172 |     comm_cu_device: Symbol<'static, NcclCommCuDevice>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 173 |     comm_user_rank: Symbol<'static, NcclCommUserRank>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     reduce: Symbol<'static, NcclReduce>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `multi_gpu` is never read
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:739:5
[INFO] [stdout]     |
[INFO] [stdout] 731 | pub struct DataParallel {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 739 |     multi_gpu: MultiGpu,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuMemsetD16` is never used
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:29:6
[INFO] [stdout]    |
[INFO] [stdout] 29 | type CuMemsetD16 = unsafe extern "C" fn(usize, u16, usize) -> i32;
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuMemAdvise` is never used
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:38:6
[INFO] [stdout]    |
[INFO] [stdout] 38 | type CuMemAdvise = unsafe extern "C" fn(usize, usize, i32, i32) -> i32;
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuPointerGetAttribute` is never used
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:39:6
[INFO] [stdout]    |
[INFO] [stdout] 39 | type CuPointerGetAttribute = unsafe extern "C" fn(*mut i32, i32, usize) -> i32;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuMemPoolCreate` is never used
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:42:6
[INFO] [stdout]    |
[INFO] [stdout] 42 | type CuMemPoolCreate = unsafe extern "C" fn(*mut usize, *const MemPoolProps) -> i32;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuMemPoolDestroy` is never used
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:43:6
[INFO] [stdout]    |
[INFO] [stdout] 43 | type CuMemPoolDestroy = unsafe extern "C" fn(usize) -> i32;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuMemAllocFromPool` is never used
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:44:6
[INFO] [stdout]    |
[INFO] [stdout] 44 | type CuMemAllocFromPool = unsafe extern "C" fn(*mut usize, usize, usize, usize) -> i32;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuMemPoolTrimTo` is never used
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:45:6
[INFO] [stdout]    |
[INFO] [stdout] 45 | type CuMemPoolTrimTo = unsafe extern "C" fn(usize, usize) -> i32;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuMemPoolSetAttribute` is never used
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:46:6
[INFO] [stdout]    |
[INFO] [stdout] 46 | type CuMemPoolSetAttribute = unsafe extern "C" fn(usize, i32, *const std::ffi::c_void) -> i32;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuMemPoolGetAttribute` is never used
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:47:6
[INFO] [stdout]    |
[INFO] [stdout] 47 | type CuMemPoolGetAttribute = unsafe extern "C" fn(usize, i32, *mut std::ffi::c_void) -> i32;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `memcpy_dtod_async` and `memset_d32_async` are never read
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct CudaMemLib {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 86 |     memcpy_dtod_async: Symbol<'static, CuMemcpyDtoDAsync>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     memset_d32_async: Symbol<'static, CuMemsetD32Async>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ptr` and `is_pooled` are never read
[INFO] [stdout]    --> crates/gpu/src/cuda_mem.rs:377:5
[INFO] [stdout]     |
[INFO] [stdout] 376 | struct Allocation {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] 377 |     ptr: usize,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 378 |     size: usize,
[INFO] [stdout] 379 |     is_pooled: bool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Allocation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/gpu/src/tensor.rs:501:17
[INFO] [stdout]     |
[INFO] [stdout] 501 |     pub fn view(&self, new_shape: Shape) -> GpuResult<TensorView> {
[INFO] [stdout]     |                 ^^^^^ the lifetime is elided here     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 501 |     pub fn view(&self, new_shape: Shape) -> GpuResult<TensorView<'_>> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/gpu/src/cuda.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         &self,
[INFO] [stdout]    |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 84 |     ) -> GpuResult<LoadedKernel> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 84 |     ) -> GpuResult<LoadedKernel<'_>> {
[INFO] [stdout]    |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> crates/jit/src/baseline.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct BaselineCompiler {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 60 |     config: BaselineConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `next_value` is never read
[INFO] [stdout]    --> crates/jit/src/optimizing.rs:402:5
[INFO] [stdout]     |
[INFO] [stdout] 399 | pub struct OptIR {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 402 |     next_value: u32,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling roast-package-manager v0.1.0 (/opt/rustwide/workdir/crates/package_manager)
[INFO] [stdout] warning: fields `id` and `terminator` are never read
[INFO] [stdout]    --> crates/jit/src/optimizing.rs:407:5
[INFO] [stdout]     |
[INFO] [stdout] 406 | pub struct IRBlock {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 407 |     id: usize,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 408 |     instructions: Vec<IRInst>,
[INFO] [stdout] 409 |     terminator: IRTerminator,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `result` and `op` are never read
[INFO] [stdout]    --> crates/jit/src/optimizing.rs:414:5
[INFO] [stdout]     |
[INFO] [stdout] 413 | pub struct IRInst {
[INFO] [stdout]     |            ------ fields in this struct
[INFO] [stdout] 414 |     result: Option<u32>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 415 |     op: IROp,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `header`, `body`, and `exit` are never read
[INFO] [stdout]    --> crates/jit/src/optimizing.rs:446:5
[INFO] [stdout]     |
[INFO] [stdout] 445 | pub struct LoopInfo {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 446 |     header: usize,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 447 |     body: Vec<usize>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 448 |     exit: usize,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `deopt_point` is never read
[INFO] [stdout]    --> crates/jit/src/code_cache.rs:356:5
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct DeoptHandle {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 355 |     func_id: u32,
[INFO] [stdout] 356 |     deopt_point: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling roast-kitchen v0.1.0 (/opt/rustwide/workdir/crates/kitchen)
[INFO] [stderr]    Compiling roast-lsp v0.1.0 (/opt/rustwide/workdir/crates/lsp)
[INFO] [stderr]    Compiling roast-cli v0.1.0 (/opt/rustwide/workdir/crates/cli)
[INFO] [stderr]    Compiling roast-gpu v0.1.0 (/opt/rustwide/workdir/crates/gpu)
[INFO] [stderr]    Compiling roast-stdlib v0.1.0 (/opt/rustwide/workdir/crates/stdlib)
[INFO] [stderr]    Compiling roast-debugger v0.1.0 (/opt/rustwide/workdir/crates/debugger)
[INFO] [stdout] warning: unused import: `Operand`
[INFO] [stdout]  --> crates/debugger/tests/test_hook.rs:7:52
[INFO] [stdout]   |
[INFO] [stdout] 7 | use roast_codegen::{Bytecode, Instruction, OpCode, Operand};
[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 variable: `session_clone`
[INFO] [stdout]   --> crates/debugger/tests/test_hook.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let session_clone = session.clone();
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_clone`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/gpu/src/device.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[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: `std::sync::Arc`
[INFO] [stdout]  --> crates/gpu/src/tensor.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]  --> crates/gpu/src/tensor.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/gpu/src/backend.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::CString`
[INFO] [stdout]    --> crates/gpu/src/backend.rs:183:9
[INFO] [stdout]     |
[INFO] [stdout] 183 |     use std::ffi::CString;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DType`
[INFO] [stdout]  --> crates/gpu/src/ops.rs:3:36
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::tensor::{Tensor, Shape, DType};
[INFO] [stdout]   |                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::device::Device`
[INFO] [stdout]  --> crates/gpu/src/ops.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::device::Device;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cuda_kernels`
[INFO] [stdout]  --> crates/gpu/src/ops.rs:5:35
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::kernel::{LaunchConfig, cuda_kernels};
[INFO] [stdout]   |                                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arc`
[INFO] [stdout]  --> crates/gpu/src/runtime.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::{Arc, Once, RwLock};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GpuError`
[INFO] [stdout]  --> crates/gpu/src/runtime.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::error::{GpuError, GpuResult};
[INFO] [stdout]   |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:308:9
[INFO] [stdout]     |
[INFO] [stdout] 308 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> crates/gpu/src/error.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/gpu/src/nvrtc.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/gpu/src/cuda.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> crates/gpu/src/cuda.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DType`
[INFO] [stdout]   --> crates/gpu/src/cublas.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::tensor::{Tensor, DType};
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Shape`
[INFO] [stdout]   --> crates/gpu/src/cudnn.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::tensor::{Tensor, Shape, DType};
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> crates/gpu/src/autograd.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DType`
[INFO] [stdout]  --> crates/gpu/src/autograd.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::tensor::{Tensor, Shape, DType};
[INFO] [stdout]   |                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::device::Device`
[INFO] [stdout]   --> crates/gpu/src/autograd.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::device::Device;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GpuError`
[INFO] [stdout]   --> crates/gpu/src/autograd.rs:11:20
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::error::{GpuError, GpuResult};
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `lock::Lockfile` and `workspace::Workspace`
[INFO] [stdout]   --> crates/kitchen/src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     lock::Lockfile,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     workspace::Workspace,
[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 `roast_kitchen::Project::target_dir`: Use cooked_dir() instead
[INFO] [stdout]     --> crates/kitchen/src/main.rs:1408:32
[INFO] [stdout]      |
[INFO] [stdout] 1408 |     let tarball_path = project.target_dir().join(format!(
[INFO] [stdout]      |                                ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `roast_kitchen::Project::target_dir`: Use cooked_dir() instead
[INFO] [stdout]     --> crates/kitchen/src/main.rs:1414:37
[INFO] [stdout]      |
[INFO] [stdout] 1414 |     std::fs::create_dir_all(project.target_dir())?;
[INFO] [stdout]      |                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader` and `BufWriter`
[INFO] [stdout]  --> crates/stdlib/src/fs.rs:6:34
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{self, Read, Write, BufReader, BufWriter};
[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: `BufReader`
[INFO] [stdout]  --> crates/stdlib/src/http.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{self, Read, Write, BufRead, BufReader};
[INFO] [stdout]   |                                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `AtomicUsize`
[INFO] [stdout]  --> crates/stdlib/src/sync.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Arc, Mutex as StdMutex, RwLock as StdRwLock,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 7 |     atomic::{AtomicBool, AtomicI64, AtomicUsize, Ordering},
[INFO] [stdout]   |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::UnsafeCell`
[INFO] [stdout]   --> crates/stdlib/src/sync.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::cell::UnsafeCell;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> crates/stdlib/src/heap.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CoverageCollector` and `CoverageSummary`
[INFO] [stdout]  --> crates/stdlib/src/testing.rs:9:23
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::coverage::{CoverageCollector, CoverageSummary, SharedCoverage};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap` and `BTreeSet`
[INFO] [stdout]  --> crates/stdlib/src/coverage.rs:5:42
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{HashMap, HashSet, BTreeMap, BTreeSet};
[INFO] [stdout]   |                                          ^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/stdlib/src/itertools.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Peekable`
[INFO] [stdout]  --> crates/stdlib/src/itertools.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::iter::{self, Peekable};
[INFO] [stdout]   |                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> crates/stdlib/src/functools.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> crates/stdlib/src/functools.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> crates/stdlib/src/profiler.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AtomicUsize`
[INFO] [stdout]  --> crates/stdlib/src/profiler.rs:7:36
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::atomic::{AtomicU64, AtomicUsize, Ordering};
[INFO] [stdout]   |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arc`
[INFO] [stdout]  --> crates/stdlib/src/profiler.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> crates/stdlib/src/database.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ExitStatus`
[INFO] [stdout]  --> crates/stdlib/src/subprocess.rs:9:74
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::process::{Child, ChildStderr, ChildStdin, ChildStdout, Command, ExitStatus, Stdio};
[INFO] [stdout]   |                                                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]   --> crates/stdlib/src/subprocess.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::{Arc, Mutex};
[INFO] [stdout]    |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/stdlib/src/web.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]    --> crates/stdlib/src/web.rs:793:17
[INFO] [stdout]     |
[INFO] [stdout] 793 | use std::time::{Duration, Instant};
[INFO] [stdout]     |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Metadata`
[INFO] [stdout]  --> crates/stdlib/src/shutil.rs:5:27
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::fs::{self, File, Metadata};
[INFO] [stdout]   |                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> crates/stdlib/src/doc.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> crates/stdlib/src/xml.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{Read, Write};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> crates/stdlib/src/heapq.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]    --> crates/stdlib/src/signal.rs:268:13
[INFO] [stdout]     |
[INFO] [stdout] 268 |         use std::mem;
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/stdlib/src/timezone.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> crates/stdlib/src/timezone.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/cli/src/commands.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let mut emitter = CodeEmitter::new(target_config);
[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: `emitter`
[INFO] [stdout]   --> crates/cli/src/commands.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let mut emitter = CodeEmitter::new(target_config);
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_emitter`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Backend`
[INFO] [stdout]  --> crates/gpu/src/runtime.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::backend::{Backend, BackendType};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parallel`
[INFO] [stdout]    --> crates/cli/src/commands.rs:425:50
[INFO] [stdout]     |
[INFO] [stdout] 425 | pub fn test(filter: Option<&str>, verbose: bool, parallel: bool, show_output: bool) -> Result<()> {
[INFO] [stdout]     |                                                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parallel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling insta v1.45.0
[INFO] [stdout] warning: unused variable: `dtype`
[INFO] [stdout]    --> crates/gpu/src/tensor.rs:297:31
[INFO] [stdout]     |
[INFO] [stdout] 297 |     pub fn rand(shape: Shape, dtype: DType, device: &Device) -> GpuResult<Self> {
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_dtype`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `low`
[INFO] [stdout]    --> crates/gpu/src/tensor.rs:322:9
[INFO] [stdout]     |
[INFO] [stdout] 322 |         low: f32,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_low`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `high`
[INFO] [stdout]    --> crates/gpu/src/tensor.rs:323:9
[INFO] [stdout]     |
[INFO] [stdout] 323 |         high: f32,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_high`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dtype`
[INFO] [stdout]    --> crates/gpu/src/tensor.rs:333:32
[INFO] [stdout]     |
[INFO] [stdout] 333 |     pub fn randn(shape: Shape, dtype: DType, device: &Device) -> GpuResult<Self> {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_dtype`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dtype`
[INFO] [stdout]    --> crates/gpu/src/tensor.rs:364:26
[INFO] [stdout]     |
[INFO] [stdout] 364 |     pub fn eye(n: usize, dtype: DType, device: &Device) -> GpuResult<Self> {
[INFO] [stdout]     |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_dtype`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dtype`
[INFO] [stdout]    --> crates/gpu/src/tensor.rs:374:43
[INFO] [stdout]     |
[INFO] [stdout] 374 |     pub fn full(shape: Shape, value: f32, dtype: DType, device: &Device) -> GpuResult<Self> {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_dtype`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parse_result`
[INFO] [stdout]     --> crates/cli/src/commands.rs:1460:9
[INFO] [stdout]      |
[INFO] [stdout] 1460 |     let parse_result = roast_parser::parse_module(source, &path.to_string_lossy(), interner, &mut diagnostics);
[INFO] [stdout]      |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parse_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> crates/cli/src/commands.rs:1776:20
[INFO] [stdout]      |
[INFO] [stdout] 1776 |         if let Err(e) = term::emit(&mut writer.lock(), &config, &files, &codespan_diag) {
[INFO] [stdout]      |                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `debug`
[INFO] [stdout]     --> crates/cli/src/commands.rs:1913:5
[INFO] [stdout]      |
[INFO] [stdout] 1913 |     debug: bool,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_debug`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `project`
[INFO] [stdout]     --> crates/kitchen/src/main.rs:1079:9
[INFO] [stdout]      |
[INFO] [stdout] 1079 |     let project = Project::find_current()?;
[INFO] [stdout]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_project`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]     --> crates/kitchen/src/main.rs:1103:22
[INFO] [stdout]      |
[INFO] [stdout] 1103 | async fn cmd_install(args: InstallArgs) -> Result<()> {
[INFO] [stdout]      |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `verify_signature`
[INFO] [stdout]  --> crates/kitchen/src/registry.rs:8:52
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::signing::{PackageSignature, SigningKey, verify_signature};
[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 variable: `verbose`
[INFO] [stdout]    --> crates/kitchen/src/main.rs:494:27
[INFO] [stdout]     |
[INFO] [stdout] 494 | fn cmd_new(args: NewArgs, verbose: bool) -> Result<()> {
[INFO] [stdout]     |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::signing::PackageSignature`
[INFO] [stdout]  --> crates/kitchen/src/lock.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::signing::PackageSignature;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/kitchen/src/doc.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `project`
[INFO] [stdout]    --> crates/kitchen/src/main.rs:512:9
[INFO] [stdout]     |
[INFO] [stdout] 512 |     let project = Project::new(&args.name, &path, template)?;
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_project`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> crates/kitchen/src/doc.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{self, Write};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> crates/kitchen/src/doc.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> crates/gpu/src/memory.rs:282:16
[INFO] [stdout]     |
[INFO] [stdout] 282 |     pub fn new(size: usize) -> GpuResult<Self> {
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::ts_seconds`
[INFO] [stdout]   --> crates/kitchen/src/signing.rs:15:29
[INFO] [stdout]    |
[INFO] [stdout] 15 | use chrono::{DateTime, Utc, serde::ts_seconds};
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `verbose`
[INFO] [stdout]    --> crates/kitchen/src/main.rs:534:29
[INFO] [stdout]     |
[INFO] [stdout] 534 | fn cmd_init(args: InitArgs, verbose: bool) -> Result<()> {
[INFO] [stdout]     |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::deps::PackageMetadata`
[INFO] [stdout]   --> crates/kitchen/src/trust.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::deps::PackageMetadata;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/kitchen/src/main.rs:639:14
[INFO] [stdout]     |
[INFO] [stdout] 639 | fn cmd_bench(args: BenchArgs, verbose: bool) -> Result<()> {
[INFO] [stdout]     |              ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `project`
[INFO] [stdout]    --> crates/kitchen/src/main.rs:640:9
[INFO] [stdout]     |
[INFO] [stdout] 640 |     let project = Project::find_current()?;
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_project`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kernel`
[INFO] [stdout]    --> crates/gpu/src/backend.rs:471:13
[INFO] [stdout]     |
[INFO] [stdout] 471 |             kernel: &CompiledKernel,
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_kernel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `grid`
[INFO] [stdout]    --> crates/gpu/src/backend.rs:472:13
[INFO] [stdout]     |
[INFO] [stdout] 472 |             grid: [u32; 3],
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_grid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> crates/gpu/src/backend.rs:473:13
[INFO] [stdout]     |
[INFO] [stdout] 473 |             block: [u32; 3],
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/gpu/src/backend.rs:474:13
[INFO] [stdout]     |
[INFO] [stdout] 474 |             args: &[KernelArg],
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stream`
[INFO] [stdout]    --> crates/gpu/src/backend.rs:475:13
[INFO] [stdout]     |
[INFO] [stdout] 475 |             stream: usize,
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/cli/src/commands.rs:2167:9
[INFO] [stdout]      |
[INFO] [stdout] 2167 |     let mut compile_module = |
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `venv`
[INFO] [stdout]     --> crates/kitchen/src/main.rs:1337:9
[INFO] [stdout]      |
[INFO] [stdout] 1337 |     let venv = VirtualEnv::create(&args.path, config)?;
[INFO] [stdout]      |         ^^^^ help: if this is intentional, prefix it with an underscore: `_venv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> crates/gpu/src/ops.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let config = LaunchConfig::linear(n, 256);
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> crates/gpu/src/ops.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let args = [
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> crates/gpu/src/ops.rs:205:16
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn sum_dim(a: &Tensor, dim: usize) -> GpuResult<Tensor> {
[INFO] [stdout]     |                ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]    --> crates/gpu/src/ops.rs:205:28
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn sum_dim(a: &Tensor, dim: usize) -> GpuResult<Tensor> {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> crates/gpu/src/ops.rs:211:17
[INFO] [stdout]     |
[INFO] [stdout] 211 | pub fn mean_dim(a: &Tensor, dim: usize) -> GpuResult<Tensor> {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]    --> crates/gpu/src/ops.rs:211:29
[INFO] [stdout]     |
[INFO] [stdout] 211 | pub fn mean_dim(a: &Tensor, dim: usize) -> GpuResult<Tensor> {
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]    --> crates/gpu/src/ops.rs:330:28
[INFO] [stdout]     |
[INFO] [stdout] 330 | pub fn softmax(a: &Tensor, dim: Option<usize>) -> GpuResult<Tensor> {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:207:23
[INFO] [stdout]     |
[INFO] [stdout] 207 |     pub fn set_device(device_id: i32) -> GpuResult<()> {
[INFO] [stdout]     |                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:218:31
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub fn enable_peer_access(device: i32, peer: i32) -> GpuResult<()> {
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `peer`
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:218:44
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub fn enable_peer_access(device: i32, peer: i32) -> GpuResult<()> {
[INFO] [stdout]     |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_peer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `peer`
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:224:32
[INFO] [stdout]     |
[INFO] [stdout] 224 |     pub fn disable_peer_access(peer: i32) -> GpuResult<()> {
[INFO] [stdout]     |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_peer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:229:28
[INFO] [stdout]     |
[INFO] [stdout] 229 |     pub fn can_access_peer(device: i32, peer: i32) -> GpuResult<bool> {
[INFO] [stdout]     |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `peer`
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:229:41
[INFO] [stdout]     |
[INFO] [stdout] 229 |     pub fn can_access_peer(device: i32, peer: i32) -> GpuResult<bool> {
[INFO] [stdout]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_peer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:294:29
[INFO] [stdout]     |
[INFO] [stdout] 294 |         pub fn elapsed_time(start: &Event, end: &Event) -> GpuResult<f32> {
[INFO] [stdout]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end`
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:294:44
[INFO] [stdout]     |
[INFO] [stdout] 294 |         pub fn elapsed_time(start: &Event, end: &Event) -> GpuResult<f32> {
[INFO] [stdout]     |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_llvm` is never used
[INFO] [stdout]     --> crates/cli/src/commands.rs:2602:8
[INFO] [stdout]      |
[INFO] [stdout] 2602 | pub fn run_llvm(
[INFO] [stdout]      |        ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `confidence` is never read
[INFO] [stdout]   --> crates/cli/src/bench.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct BenchConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub confidence: f64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BenchConfig` 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: multiple fields are never read
[INFO] [stdout]   --> crates/cli/src/bench.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct BenchResult {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 36 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 37 |     pub samples: Vec<Duration>,
[INFO] [stdout] 38 |     pub mean: Duration,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 39 |     pub median: Duration,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 40 |     pub std_dev: Duration,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 41 |     pub min: Duration,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 42 |     pub max: Duration,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 43 |     pub iterations: u32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 44 |     pub throughput: Option<Throughput>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BenchResult` 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 `with_throughput` and `format` are never used
[INFO] [stdout]    --> crates/cli/src/bench.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl BenchResult {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn with_throughput(mut self, throughput: Throughput) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn format(&self) -> String {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Bytes`, `Elements`, and `Custom` are never constructed
[INFO] [stdout]    --> crates/cli/src/bench.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub enum Throughput {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout] 144 |     Bytes(u64),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 145 |     Elements(u64),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 146 |     Custom(f64, String),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Throughput` 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 `value` and `unit` are never used
[INFO] [stdout]    --> crates/cli/src/bench.rs:150:12
[INFO] [stdout]     |
[INFO] [stdout] 149 | impl Throughput {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] 150 |     pub fn value(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn unit(&self) -> &str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `bench_with_setup`, `results`, and `print_report` are never used
[INFO] [stdout]    --> crates/cli/src/bench.rs:217:12
[INFO] [stdout]     |
[INFO] [stdout] 173 | impl Bencher {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn bench_with_setup<S, F, T>(&mut self, name: &str, mut setup: S, mut f: F) -> &BenchResult
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 250 |     pub fn results(&self) -> &[BenchResult] {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     pub fn print_report(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare` is never used
[INFO] [stdout]    --> crates/cli/src/bench.rs:275:8
[INFO] [stdout]     |
[INFO] [stdout] 275 | pub fn compare(baseline: &BenchResult, current: &BenchResult) -> Comparison {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Comparison` is never constructed
[INFO] [stdout]    --> crates/cli/src/bench.rs:301:12
[INFO] [stdout]     |
[INFO] [stdout] 301 | pub struct Comparison {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `format` is never used
[INFO] [stdout]    --> crates/cli/src/bench.rs:310:12
[INFO] [stdout]     |
[INFO] [stdout] 309 | impl Comparison {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 310 |     pub fn format(&self) -> String {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ChangeKind` is never used
[INFO] [stdout]    --> crates/cli/src/bench.rs:332:10
[INFO] [stdout]     |
[INFO] [stdout] 332 | pub enum ChangeKind {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_duration` is never used
[INFO] [stdout]    --> crates/cli/src/bench.rs:338:4
[INFO] [stdout]     |
[INFO] [stdout] 338 | fn format_duration(d: Duration) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `profile` is never used
[INFO] [stdout]    --> crates/cli/src/bench.rs:352:8
[INFO] [stdout]     |
[INFO] [stdout] 352 | pub fn profile<F, T>(name: &str, f: F) -> (T, Duration)
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print_summary` is never used
[INFO] [stdout]    --> crates/cli/src/bench.rs:423:12
[INFO] [stdout]     |
[INFO] [stdout] 371 | impl Profiler {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 423 |     pub fn print_summary(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `total`, `count`, and `mean` are never read
[INFO] [stdout]    --> crates/cli/src/bench.rs:451:9
[INFO] [stdout]     |
[INFO] [stdout] 450 | pub struct ProfileSummary {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 451 |     pub total: Duration,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 452 |     pub count: usize,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 453 |     pub mean: Duration,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ProfileSummary` 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: unused variable: `dst_device`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:695:9
[INFO] [stdout]     |
[INFO] [stdout] 695 |         dst_device: i32,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dst_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst_ptr`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:696:9
[INFO] [stdout]     |
[INFO] [stdout] 696 |         dst_ptr: usize,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dst_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src_device`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:697:9
[INFO] [stdout]     |
[INFO] [stdout] 697 |         src_device: i32,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src_ptr`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:698:9
[INFO] [stdout]     |
[INFO] [stdout] 698 |         src_ptr: usize,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:699:9
[INFO] [stdout]     |
[INFO] [stdout] 699 |         size: usize,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst_device`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:708:9
[INFO] [stdout]     |
[INFO] [stdout] 708 |         dst_device: i32,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dst_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst_ptr`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:709:9
[INFO] [stdout]     |
[INFO] [stdout] 709 |         dst_ptr: usize,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dst_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src_device`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:710:9
[INFO] [stdout]     |
[INFO] [stdout] 710 |         src_device: i32,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src_ptr`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:711:9
[INFO] [stdout]     |
[INFO] [stdout] 711 |         src_ptr: usize,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:712:9
[INFO] [stdout]     |
[INFO] [stdout] 712 |         size: usize,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stream`
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:713:9
[INFO] [stdout]     |
[INFO] [stdout] 713 |         stream: usize,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_data`
[INFO] [stdout]    --> crates/gpu/src/autograd.rs:801:17
[INFO] [stdout]     |
[INFO] [stdout] 801 |             let new_data = crate::ops::add(param.data(), &scaled)?;
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `strides` and `offset` are never read
[INFO] [stdout]    --> crates/gpu/src/tensor.rs:631:5
[INFO] [stdout]     |
[INFO] [stdout] 628 | pub struct TensorView<'a> {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 631 |     strides: Vec<usize>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 632 |     offset: usize,
[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 `strides` and `offset` are never read
[INFO] [stdout]    --> crates/gpu/src/tensor.rs:653:5
[INFO] [stdout]     |
[INFO] [stdout] 650 | pub struct TensorMut<'a> {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 653 |     strides: Vec<usize>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 654 |     offset: usize,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `params` is never read
[INFO] [stdout]    --> crates/gpu/src/kernel.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub struct Kernel {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 260 |     params: Vec<KernelParam>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pooled` is never read
[INFO] [stdout]   --> crates/gpu/src/memory.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Buffer {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pooled: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `allocations` and `allocated` are never read
[INFO] [stdout]    --> crates/gpu/src/memory.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub struct SimpleAllocator {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 190 |     allocations: Mutex<HashMap<usize, usize>>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 191 |     allocated: Mutex<u64>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]    --> crates/gpu/src/memory.rs:277:5
[INFO] [stdout]     |
[INFO] [stdout] 275 | pub struct UnifiedMemory {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 276 |     ptr: usize,
[INFO] [stdout] 277 |     size: usize,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `src`, `dst`, `size`, `kind`, and `stream` are never read
[INFO] [stdout]    --> crates/gpu/src/memory.rs:321:5
[INFO] [stdout]     |
[INFO] [stdout] 319 | pub struct AsyncMemcpy {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 320 |     /// Source pointer.
[INFO] [stdout] 321 |     src: usize,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 324 |     dst: usize,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 327 |     size: usize,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 330 |     kind: MemcpyKind,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 333 |     stream: usize,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `kernel_cache` is never read
[INFO] [stdout]   --> crates/gpu/src/runtime.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct GpuRuntime {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     kernel_cache: KernelCache,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `device` is never read
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:241:9
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub struct Stream {
[INFO] [stdout]     |                ------ field in this struct
[INFO] [stdout] 240 |         handle: usize,
[INFO] [stdout] 241 |         device: usize,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `handle` is never read
[INFO] [stdout]    --> crates/gpu/src/runtime.rs:274:9
[INFO] [stdout]     |
[INFO] [stdout] 273 |     pub struct Event {
[INFO] [stdout]     |                ----- field in this struct
[INFO] [stdout] 274 |         handle: usize,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `options` is never read
[INFO] [stdout]    --> crates/gpu/src/compiler.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub struct KernelCompiler {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 113 |     /// Options.
[INFO] [stdout] 114 |     options: CompileOptions,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `NvrtcGetCUBINSize` is never used
[INFO] [stdout]    --> crates/gpu/src/nvrtc.rs:101:6
[INFO] [stdout]     |
[INFO] [stdout] 101 | type NvrtcGetCUBINSize = unsafe extern "C" fn(prog: NvrtcProgram, size: *mut usize) -> i32;
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `NvrtcGetCUBIN` is never used
[INFO] [stdout]    --> crates/gpu/src/nvrtc.rs:102:6
[INFO] [stdout]     |
[INFO] [stdout] 102 | type NvrtcGetCUBIN = unsafe extern "C" fn(prog: NvrtcProgram, cubin: *mut i8) -> i32;
[INFO] [stdout]     |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuModuleLoadDataEx` is never used
[INFO] [stdout]    --> crates/gpu/src/nvrtc.rs:121:6
[INFO] [stdout]     |
[INFO] [stdout] 121 | type CuModuleLoadDataEx = unsafe extern "C" fn(
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `add_name_expression` and `get_lowered_name` are never read
[INFO] [stdout]    --> crates/gpu/src/nvrtc.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct NvrtcLib {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 161 |     add_name_expression: Symbol<'static, NvrtcAddNameExpression>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 162 |     get_lowered_name: Symbol<'static, NvrtcGetLoweredName>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_hash` and `compile_time_ms` are never read
[INFO] [stdout]     --> crates/gpu/src/nvrtc.rs:1017:5
[INFO] [stdout]      |
[INFO] [stdout] 1015 | struct CachedKernel {
[INFO] [stdout]      |        ------------ fields in this struct
[INFO] [stdout] 1016 |     kernel: CudaKernel,
[INFO] [stdout] 1017 |     source_hash: u64,
[INFO] [stdout]      |     ^^^^^^^^^^^
[INFO] [stdout] 1018 |     compile_time_ms: f64,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device_id` and `device_info` are never read
[INFO] [stdout]   --> crates/gpu/src/cuda.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct CudaBackend {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     device_id: i32,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     device_info: Option<DeviceInfo>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CublasGetStream` is never used
[INFO] [stdout]    --> crates/gpu/src/cublas.rs:143:6
[INFO] [stdout]     |
[INFO] [stdout] 143 | type CublasGetStream = unsafe extern "C" fn(CublasHandle, *mut usize) -> i32;
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> crates/gpu/src/cublas.rs:238:5
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub struct CublasLib {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 238 |     ddot: Symbol<'static, CublasDdot>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 239 |     snrm2: Symbol<'static, CublasSnrm2>,
[INFO] [stdout] 240 |     dnrm2: Symbol<'static, CublasDnrm2>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 241 |     sscal: Symbol<'static, CublasSscal>,
[INFO] [stdout] 242 |     dscal: Symbol<'static, CublasDscal>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 243 |     scopy: Symbol<'static, CublasScopy>,
[INFO] [stdout] 244 |     dcopy: Symbol<'static, CublasDcopy>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 245 |     isamax: Symbol<'static, CublasIsamax>,
[INFO] [stdout] 246 |     idamax: Symbol<'static, CublasIdamax>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 247 |     sasum: Symbol<'static, CublasSasum>,
[INFO] [stdout] 248 |     dasum: Symbol<'static, CublasDasum>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 252 |     dgemv: Symbol<'static, CublasDgemv>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     sgemm_batched: Symbol<'static, CublasSgemmBatched>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CudnnBatchNormForward` is never used
[INFO] [stdout]    --> crates/gpu/src/cudnn.rs:311:6
[INFO] [stdout]     |
[INFO] [stdout] 311 | type CudnnBatchNormForward = unsafe extern "C" fn(
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CudnnCreateDropoutDescriptor` is never used
[INFO] [stdout]    --> crates/gpu/src/cudnn.rs:324:6
[INFO] [stdout]     |
[INFO] [stdout] 324 | type CudnnCreateDropoutDescriptor = unsafe extern "C" fn(*mut CudnnDropoutDescriptor) -> i32;
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CudnnDestroyDropoutDescriptor` is never used
[INFO] [stdout]    --> crates/gpu/src/cudnn.rs:325:6
[INFO] [stdout]     |
[INFO] [stdout] 325 | type CudnnDestroyDropoutDescriptor = unsafe extern "C" fn(CudnnDropoutDescriptor) -> i32;
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `activation_backward` and `softmax_backward` are never read
[INFO] [stdout]    --> crates/gpu/src/cudnn.rs:346:5
[INFO] [stdout]     |
[INFO] [stdout] 332 | pub struct CudnnLib {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 346 |     activation_backward: Symbol<'static, CudnnActivationBackward>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     softmax_backward: Symbol<'static, CudnnSoftmaxBackward>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `comm_count`, `comm_cu_device`, `comm_user_rank`, and `reduce` are never read
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:171:5
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct NcclLib {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 171 |     comm_count: Symbol<'static, NcclCommCount>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 172 |     comm_cu_device: Symbol<'static, NcclCommCuDevice>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 173 |     comm_user_rank: Symbol<'static, NcclCommUserRank>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     reduce: Symbol<'static, NcclReduce>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `multi_gpu` is never read
[INFO] [stdout]    --> crates/gpu/src/multi_gpu.rs:739:5
[INFO] [stdout]     |
[INFO] [stdout] 731 | pub struct DataParallel {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 739 |     multi_gpu: MultiGpu,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuMemsetD16` is never used
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:29:6
[INFO] [stdout]    |
[INFO] [stdout] 29 | type CuMemsetD16 = unsafe extern "C" fn(usize, u16, usize) -> i32;
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuMemAdvise` is never used
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:38:6
[INFO] [stdout]    |
[INFO] [stdout] 38 | type CuMemAdvise = unsafe extern "C" fn(usize, usize, i32, i32) -> i32;
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuPointerGetAttribute` is never used
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:39:6
[INFO] [stdout]    |
[INFO] [stdout] 39 | type CuPointerGetAttribute = unsafe extern "C" fn(*mut i32, i32, usize) -> i32;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuMemPoolCreate` is never used
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:42:6
[INFO] [stdout]    |
[INFO] [stdout] 42 | type CuMemPoolCreate = unsafe extern "C" fn(*mut usize, *const MemPoolProps) -> i32;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuMemPoolDestroy` is never used
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:43:6
[INFO] [stdout]    |
[INFO] [stdout] 43 | type CuMemPoolDestroy = unsafe extern "C" fn(usize) -> i32;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuMemAllocFromPool` is never used
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:44:6
[INFO] [stdout]    |
[INFO] [stdout] 44 | type CuMemAllocFromPool = unsafe extern "C" fn(*mut usize, usize, usize, usize) -> i32;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuMemPoolTrimTo` is never used
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:45:6
[INFO] [stdout]    |
[INFO] [stdout] 45 | type CuMemPoolTrimTo = unsafe extern "C" fn(usize, usize) -> i32;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuMemPoolSetAttribute` is never used
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:46:6
[INFO] [stdout]    |
[INFO] [stdout] 46 | type CuMemPoolSetAttribute = unsafe extern "C" fn(usize, i32, *const std::ffi::c_void) -> i32;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CuMemPoolGetAttribute` is never used
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:47:6
[INFO] [stdout]    |
[INFO] [stdout] 47 | type CuMemPoolGetAttribute = unsafe extern "C" fn(usize, i32, *mut std::ffi::c_void) -> i32;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `memcpy_dtod_async` and `memset_d32_async` are never read
[INFO] [stdout]   --> crates/gpu/src/cuda_mem.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct CudaMemLib {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 86 |     memcpy_dtod_async: Symbol<'static, CuMemcpyDtoDAsync>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     memset_d32_async: Symbol<'static, CuMemsetD32Async>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ptr` and `is_pooled` are never read
[INFO] [stdout]    --> crates/gpu/src/cuda_mem.rs:377:5
[INFO] [stdout]     |
[INFO] [stdout] 376 | struct Allocation {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] 377 |     ptr: usize,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 378 |     size: usize,
[INFO] [stdout] 379 |     is_pooled: bool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Allocation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/gpu/src/tensor.rs:501:17
[INFO] [stdout]     |
[INFO] [stdout] 501 |     pub fn view(&self, new_shape: Shape) -> GpuResult<TensorView> {
[INFO] [stdout]     |                 ^^^^^ the lifetime is elided here     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 501 |     pub fn view(&self, new_shape: Shape) -> GpuResult<TensorView<'_>> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/stdlib/src/async_io.rs:505:9
[INFO] [stdout]     |
[INFO] [stdout] 505 |     let mut future = Box::pin(future);
[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: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/gpu/src/cuda.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         &self,
[INFO] [stdout]    |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 84 |     ) -> GpuResult<LoadedKernel> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 84 |     ) -> GpuResult<LoadedKernel<'_>> {
[INFO] [stdout]    |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `resolve_module_path`
[INFO] [stdout]   --> crates/lsp/src/server.rs:14:96
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::analysis::{Analyzer, DocumentAnalysis, SymbolKind, SymbolInfo, builtin_completions, resolve_module_path};
[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 imports: `TypeChecker` and `TypeContext`
[INFO] [stdout]  --> crates/lsp/src/analysis.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 | use roast_typer::{Type, TypeContext, TypeChecker};
[INFO] [stdout]   |                         ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Location` and `Url`
[INFO] [stdout]   --> crates/lsp/src/analysis.rs:11:45
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tower_lsp::lsp_types::{Position, Range, Location, Url};
[INFO] [stdout]    |                                             ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]    --> crates/lsp/src/analysis.rs:205:27
[INFO] [stdout]     |
[INFO] [stdout] 205 |     use std::path::{Path, PathBuf};
[INFO] [stdout]     |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parse_result`
[INFO] [stdout]    --> crates/lsp/src/server.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let parse_result = parse_module(source, uri.path(), &self.interner, &mut diag_sink);
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parse_result`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling roast-jit v0.1.0 (/opt/rustwide/workdir/crates/jit)
[INFO] [stderr]    Compiling roast-pycompat v0.1.0 (/opt/rustwide/workdir/crates/pycompat)
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> crates/lsp/src/server.rs:382:13
[INFO] [stdout]     |
[INFO] [stdout] 382 |         let position = params.text_document_position.position;
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `graph` is never read
[INFO] [stdout]   --> crates/package_manager/src/resolver.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct Resolver {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 26 |     graph: DiGraph<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: field `base_url` is never read
[INFO] [stdout]  --> crates/package_manager/src/registry.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Registry {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 9 |     base_url: String,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::modules::PyModule`
[INFO] [stdout]  --> crates/pycompat/src/bridge.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::modules::PyModule;
[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: `PyException`
[INFO] [stdout]  --> crates/pycompat/src/builtins.rs:4:36
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::types::{PyValue, PyKey, PyException};
[INFO] [stdout]   |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PyCallable`
[INFO] [stdout]  --> crates/pycompat/src/decorators.rs:6:29
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::types::{PyValue, PyCallable, PyObject};
[INFO] [stdout]   |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> crates/pycompat/src/stdlib.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PySlice`
[INFO] [stdout]  --> crates/pycompat/src/interop.rs:6:58
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::types::{PyValue, PyKey, PyObject, PyCallable, PySlice};
[INFO] [stdout]   |                                                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decorators`
[INFO] [stdout]    --> crates/lsp/src/analysis.rs:352:64
[INFO] [stdout]     |
[INFO] [stdout] 352 |             StmtKind::FunctionDef { name, args, returns, body, decorators, .. } => {
[INFO] [stdout]     |                                                                ^^^^^^^^^^ help: try ignoring the field: `decorators: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_str`
[INFO] [stdout]    --> crates/lsp/src/analysis.rs:361:21
[INFO] [stdout]     |
[INFO] [stdout] 361 |                 let type_str = self.build_function_signature(args, returns.as_deref());
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> crates/lsp/src/analysis.rs:915:33
[INFO] [stdout]     |
[INFO] [stdout] 915 |                     if let Some(info) = self.analysis.symbols.get(&func_name).cloned() {
[INFO] [stdout]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `lookup_symbol` and `get_module_exports` are never used
[INFO] [stdout]   --> crates/lsp/src/server.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl ModuleIndex {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |     fn lookup_symbol(&self, module_path: &str, symbol_name: &str) -> Option<(PathBuf, SymbolInfo)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     fn get_module_exports(&self, module_path: &str) -> Vec<(String, SymbolInfo)> {
[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 variable: `module`
[INFO] [stdout]    --> crates/pycompat/src/bridge.rs:345:13
[INFO] [stdout]     |
[INFO] [stdout] 345 |             module: &str,
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_module`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function`
[INFO] [stdout]    --> crates/pycompat/src/bridge.rs:346:13
[INFO] [stdout]     |
[INFO] [stdout] 346 |             function: &str,
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/pycompat/src/bridge.rs:347:13
[INFO] [stdout]     |
[INFO] [stdout] 347 |             args: Vec<PyValue>,
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `module`
[INFO] [stdout]    --> crates/pycompat/src/bridge.rs:354:36
[INFO] [stdout]     |
[INFO] [stdout] 354 |         pub fn get_attr(&mut self, module: &str, attr: &str) -> Result<PyValue, BridgeError> {
[INFO] [stdout]     |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_module`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attr`
[INFO] [stdout]    --> crates/pycompat/src/bridge.rs:354:50
[INFO] [stdout]     |
[INFO] [stdout] 354 |         pub fn get_attr(&mut self, module: &str, attr: &str) -> Result<PyValue, BridgeError> {
[INFO] [stdout]     |                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_attr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/pycompat/src/modules.rs:188:49
[INFO] [stdout]     |
[INFO] [stdout] 188 |                 module.add_function("findall", |args| {
[INFO] [stdout]     |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/pycompat/src/modules.rs:185:48
[INFO] [stdout]     |
[INFO] [stdout] 185 |                 module.add_function("search", |args| {
[INFO] [stdout]     |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/pycompat/src/modules.rs:181:47
[INFO] [stdout]     |
[INFO] [stdout] 181 |                 module.add_function("match", |args| {
[INFO] [stdout]     |                                               ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tarball`
[INFO] [stdout]    --> crates/kitchen/src/registry.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 197 |         tarball: &[u8],
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tarball`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/pycompat/src/builtins.rs:202:17
[INFO] [stdout]     |
[INFO] [stdout] 202 | fn builtin_dict(args: Vec<PyValue>) -> Result<PyValue, BridgeError> {
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> crates/jit/src/baseline.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct BaselineCompiler {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 60 |     config: BaselineConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `next_value` is never read
[INFO] [stdout]    --> crates/jit/src/optimizing.rs:402:5
[INFO] [stdout]     |
[INFO] [stdout] 399 | pub struct OptIR {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 402 |     next_value: u32,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `terminator` are never read
[INFO] [stdout]    --> crates/jit/src/optimizing.rs:407:5
[INFO] [stdout]     |
[INFO] [stdout] 406 | pub struct IRBlock {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 407 |     id: usize,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 408 |     instructions: Vec<IRInst>,
[INFO] [stdout] 409 |     terminator: IRTerminator,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `result` and `op` are never read
[INFO] [stdout]    --> crates/jit/src/optimizing.rs:414:5
[INFO] [stdout]     |
[INFO] [stdout] 413 | pub struct IRInst {
[INFO] [stdout]     |            ------ fields in this struct
[INFO] [stdout] 414 |     result: Option<u32>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 415 |     op: IROp,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `header`, `body`, and `exit` are never read
[INFO] [stdout]    --> crates/jit/src/optimizing.rs:446:5
[INFO] [stdout]     |
[INFO] [stdout] 445 | pub struct LoopInfo {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 446 |     header: usize,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 447 |     body: Vec<usize>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 448 |     exit: usize,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `deopt_point` is never read
[INFO] [stdout]    --> crates/jit/src/code_cache.rs:356:5
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct DeoptHandle {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 355 |     func_id: u32,
[INFO] [stdout] 356 |     deopt_point: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling roast-vm v0.1.0 (/opt/rustwide/workdir/crates/vm)
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/pycompat/src/ffi.rs:245:9
[INFO] [stdout]     |
[INFO] [stdout] 245 |         args: Vec<PyValue>,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/pycompat/src/stdlib.rs:351:36
[INFO] [stdout]     |
[INFO] [stdout] 351 |     module.add_function("reduce", |args| {
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/pycompat/src/migrate.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let mut warnings = 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 import: `FrameState`
[INFO] [stdout]  --> crates/vm/src/interpreter.rs:3:49
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::frame::{CallFrame, ExceptionHandler, FrameState};
[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: `HeapId`
[INFO] [stdout]  --> crates/vm/src/interpreter.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::heap::{Heap, HeapId};
[INFO] [stdout]   |                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> crates/vm/src/heap.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> crates/vm/src/heap.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/vm/src/builtins.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `receiver`
[INFO] [stdout]   --> crates/pycompat/src/interop.rs:83:34
[INFO] [stdout]    |
[INFO] [stdout] 83 |             Value::BoundMethod { receiver, method } => PyValue::Callable(PyCallable {
[INFO] [stdout]    |                                  ^^^^^^^^ help: try ignoring the field: `receiver: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]    --> crates/pycompat/src/ffi.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct Library {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 104 |     path: 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: fields `py_incref`, `py_decref`, and `py_run_string` are never read
[INFO] [stdout]    --> crates/pycompat/src/ffi.rs:282:9
[INFO] [stdout]     |
[INFO] [stdout] 279 |     pub struct CPythonAPI {
[INFO] [stdout]     |                ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 282 |         py_incref: Option<extern "C" fn(PyObjectPtr)>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 283 |         py_decref: Option<extern "C" fn(PyObjectPtr)>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 284 |         py_run_string: Option<extern "C" fn(*const i8, i32, PyObjectPtr, PyObjectPtr) -> PyObjectPtr>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context` is never read
[INFO] [stdout]    --> crates/pycompat/src/interop.rs:279:5
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub struct Importer {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 279 |     context: InteropContext,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> crates/kitchen/src/pypi.rs:154:32
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub async fn search(&self, query: &str) -> Result<Vec<PyPISearchResult>> {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AtomicU64`
[INFO] [stdout]  --> crates/debugger/src/breakpoint.rs:5:36
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::atomic::{AtomicI64, AtomicU64, Ordering};
[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: `AtomicBool`
[INFO] [stdout]  --> crates/debugger/src/session.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::atomic::{AtomicBool, AtomicI64, Ordering};
[INFO] [stdout]   |                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arc`
[INFO] [stdout]  --> crates/debugger/src/session.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::{Arc, Mutex, Condvar};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `value_to_variable`
[INFO] [stdout]  --> crates/debugger/src/hook.rs:8:59
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::vm_integration::{VMDebugState, extract_locals, value_to_variable, build_eval_context};
[INFO] [stdout]   |                                                           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::session::DebugSession`
[INFO] [stdout]   --> crates/debugger/src/vm_integration.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::session::DebugSession;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling roast-runtime v0.1.0 (/opt/rustwide/workdir/crates/runtime)
[INFO] [stderr]    Compiling roast-codegen v0.1.0 (/opt/rustwide/workdir/crates/codegen)
[INFO] [stdout] warning: field `project_root` is never read
[INFO] [stdout]    --> crates/kitchen/src/pypi.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub struct PythonEnv {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 188 |     /// Path to the project root.
[INFO] [stdout] 189 |     project_root: PathBuf,
[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 variable: `frame`
[INFO] [stdout]    --> crates/vm/src/interpreter.rs:224:32
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let func = if let Some(frame) = self.frames.last() {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CodegenError`
[INFO] [stdout]  --> crates/codegen/src/emit.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{CodeGenerator, CodegenError, CodegenResult};
[INFO] [stdout]   |                            ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/vm/src/interpreter.rs:970:29
[INFO] [stdout]     |
[INFO] [stdout] 970 |                         let mut gen_state = gen.lock().unwrap();
[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 import: `std::cell::RefCell`
[INFO] [stdout]  --> crates/runtime/src/executor.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cell::RefCell;
[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 doc comment
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:6873:1
[INFO] [stdout]      |
[INFO] [stdout] 6873 | /// Thread-local exception state
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]      |
[INFO] [stdout]      = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]      = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Output` and `Stdio`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:4400:29
[INFO] [stdout]      |
[INFO] [stdout] 4400 | use std::process::{Command, Stdio, Output};
[INFO] [stdout]      |                             ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TcpListener` and `UdpSocket`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:5163:27
[INFO] [stdout]      |
[INFO] [stdout] 5163 | use std::net::{TcpStream, TcpListener, UdpSocket};
[INFO] [stdout]      |                           ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:5518:27
[INFO] [stdout]      |
[INFO] [stdout] 5518 |         result.push(CHARS[(b0 >> 2)] as char);
[INFO] [stdout]      |                           ^       ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 5518 -         result.push(CHARS[(b0 >> 2)] as char);
[INFO] [stdout] 5518 +         result.push(CHARS[b0 >> 2] as char);
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufReader`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:7236:37
[INFO] [stdout]      |
[INFO] [stdout] 7236 | use std::io::{Read, Write, BufRead, BufReader};
[INFO] [stdout]      |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:7611:27
[INFO] [stdout]      |
[INFO] [stdout] 7611 |         result.push(CHARS[(b0 >> 2)] as char);
[INFO] [stdout]      |                           ^       ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 7611 -         result.push(CHARS[(b0 >> 2)] as char);
[INFO] [stdout] 7611 +         result.push(CHARS[b0 >> 2] as char);
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]     --> crates/vm/src/interpreter.rs:1559:28
[INFO] [stdout]      |
[INFO] [stdout] 1559 |             Constant::Code(code) => Value::None, // Functions are more complex
[INFO] [stdout]      |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]     --> crates/vm/src/interpreter.rs:1711:24
[INFO] [stdout]      |
[INFO] [stdout] 1711 |             Value::Str(s) => match name {
[INFO] [stdout]      |                        ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `type_char` is never read
[INFO] [stdout]    --> crates/vm/src/builtins.rs:325:29
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let mut type_char = None;
[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 import: `Read`
[INFO] [stdout]  --> crates/stdlib/src/http.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{self, Read, Write, BufRead, BufReader};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> crates/stdlib/src/http.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{self, Read, Write, BufRead, BufReader};
[INFO] [stdout]   |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> crates/stdlib/src/http.rs:6:34
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{self, Read, Write, BufRead, BufReader};
[INFO] [stdout]   |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> crates/stdlib/src/xml.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{Read, Write};
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/vm/src/builtins.rs:509:13
[INFO] [stdout]     |
[INFO] [stdout] 509 |         let mut iter = RangeIter::new(0, 5, 1);
[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/vm/src/builtins.rs:512:13
[INFO] [stdout]     |
[INFO] [stdout] 512 |         let mut iter = RangeIter::new(0, 10, 2);
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `heap` is never read
[INFO] [stdout]    --> crates/vm/src/interpreter.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout]  91 | pub struct VM {
[INFO] [stdout]     |            -- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 103 |     heap: Heap,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Await` is never constructed
[INFO] [stdout]     --> crates/vm/src/interpreter.rs:1788:5
[INFO] [stdout]      |
[INFO] [stdout] 1783 | enum ExecResult {
[INFO] [stdout]      |      ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 1788 |     Await(Value),
[INFO] [stdout]      |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `duration_ms` is never read
[INFO] [stdout]    --> crates/vm/src/async_rt.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct Sleep {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 182 |     duration_ms: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `inner` is never read
[INFO] [stdout]    --> crates/vm/src/async_rt.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub struct Channel<T> {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 211 |     inner: Arc<Mutex<ChannelInner<T>>>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `send_wakers` is never read
[INFO] [stdout]    --> crates/vm/src/async_rt.rs:217:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | struct ChannelInner<T> {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 217 |     send_wakers: Vec<Waker>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> crates/stdlib/src/collections.rs:80:33
[INFO] [stdout]    |
[INFO] [stdout] 80 |                 ValueKey::Tuple(t) => {
[INFO] [stdout]    |                                 ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `object`
[INFO] [stdout]    --> crates/codegen/src/bytecode.rs:483:36
[INFO] [stdout]     |
[INFO] [stdout] 483 |             MirStmtKind::SetAttr { object, attr, value } => {
[INFO] [stdout]     |                                    ^^^^^^ help: try ignoring the field: `object: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attr`
[INFO] [stdout]    --> crates/codegen/src/bytecode.rs:483:44
[INFO] [stdout]     |
[INFO] [stdout] 483 |             MirStmtKind::SetAttr { object, attr, value } => {
[INFO] [stdout]     |                                            ^^^^ help: try ignoring the field: `attr: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> crates/codegen/src/bytecode.rs:483:50
[INFO] [stdout]     |
[INFO] [stdout] 483 |             MirStmtKind::SetAttr { object, attr, value } => {
[INFO] [stdout]     |                                                  ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> crates/codegen/src/bytecode.rs:486:55
[INFO] [stdout]     |
[INFO] [stdout] 486 |             MirStmtKind::SetAttrIndex { object, attr, index, value } => {
[INFO] [stdout]     |                                                       ^^^^^ help: try ignoring the field: `index: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:5094:16
[INFO] [stdout]      |
[INFO] [stdout] 5094 | use md5::{Md5, Digest as Md5Digest};
[INFO] [stdout]      |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:7236:28
[INFO] [stdout]      |
[INFO] [stdout] 7236 | use std::io::{Read, Write, BufRead, BufReader};
[INFO] [stdout]      |                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling roast-optimizer v0.1.0 (/opt/rustwide/workdir/crates/optimizer)
[INFO] [stdout] warning: unused variable: `request`
[INFO] [stdout]    --> crates/stdlib/src/http.rs:280:24
[INFO] [stdout]     |
[INFO] [stdout] 280 |     pub fn send(&self, request: Request) -> io::Result<Response> {
[INFO] [stdout]     |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> crates/codegen/src/emit.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct CodeEmitter {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 11 |     config: TargetConfig,
[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 variable: `fut2`
[INFO] [stdout]    --> crates/stdlib/src/async_utils.rs:186:48
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub async fn select_first<T, F1, F2>(fut1: F1, fut2: F2) -> T
[INFO] [stdout]     |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_fut2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:2569:5
[INFO] [stdout]      |
[INFO] [stdout] 2569 |     func: c_long,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_func`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:2588:5
[INFO] [stdout]      |
[INFO] [stdout] 2588 |     unsafe {
[INFO] [stdout]      |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pred`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:2582:5
[INFO] [stdout]      |
[INFO] [stdout] 2582 |     pred: c_long,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_pred`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pred`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:2598:5
[INFO] [stdout]      |
[INFO] [stdout] 2598 |     pred: c_long,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_pred`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FxHashMap`
[INFO] [stdout]  --> crates/optimizer/src/loop_opt.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rustc_hash::{FxHashMap, FxHashSet};
[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: `super::*`
[INFO] [stdout]    --> crates/optimizer/src/loop_opt.rs:336:9
[INFO] [stdout]     |
[INFO] [stdout] 336 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FxHashMap`
[INFO] [stdout]   --> crates/optimizer/src/unroll.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | use rustc_hash::{FxHashMap, FxHashSet};
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> crates/optimizer/src/unroll.rs:575:9
[INFO] [stdout]     |
[INFO] [stdout] 575 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> crates/optimizer/src/sroa.rs:524:9
[INFO] [stdout]     |
[INFO] [stdout] 524 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FxHashMap`
[INFO] [stdout]   --> crates/optimizer/src/fusion.rs:34:18
[INFO] [stdout]    |
[INFO] [stdout] 34 | use rustc_hash::{FxHashMap, FxHashSet};
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> crates/optimizer/src/fusion.rs:415:9
[INFO] [stdout]     |
[INFO] [stdout] 415 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `InlineCache`
[INFO] [stdout]   --> crates/optimizer/src/pgo.rs:19:27
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::inline_cache::{InlineCache, InlineCacheManager, ICState, ShapeId, MethodTarget, CachedMethod};
[INFO] [stdout]    |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `roast_typer::Type`
[INFO] [stdout]   --> crates/optimizer/src/pgo.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use roast_typer::Type;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FxHashSet`
[INFO] [stdout]   --> crates/optimizer/src/pgo.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 22 | use rustc_hash::{FxHashMap, FxHashSet};
[INFO] [stdout]    |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> crates/optimizer/src/pgo.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:3251:25
[INFO] [stdout]      |
[INFO] [stdout] 3251 |                     let result = method_fn(obj);
[INFO] [stdout]      |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/stdlib/src/heap.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn from_vec(mut vec: Vec<T>) -> Self {
[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/runtime/src/native_full.rs:3971:13
[INFO] [stdout]      |
[INFO] [stdout] 3971 |         let mut current_class = (*sup).start_class;
[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: `current_class`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:3971:13
[INFO] [stdout]      |
[INFO] [stdout] 3971 |         let mut current_class = (*sup).start_class;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:4017:5
[INFO] [stdout]      |
[INFO] [stdout] 4017 |     args: *const c_long,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nargs`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:4018:5
[INFO] [stdout]      |
[INFO] [stdout] 4018 |     nargs: c_long,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_nargs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `obj`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:4141:66
[INFO] [stdout]      |
[INFO] [stdout] 4141 | pub extern "C" fn roast_property_get(prop: *const RoastProperty, obj: c_long) -> c_long {
[INFO] [stdout]      |                                                                  ^^^ help: if this is intentional, prefix it with an underscore: `_obj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `obj`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:4158:66
[INFO] [stdout]      |
[INFO] [stdout] 4158 | pub extern "C" fn roast_property_set(prop: *const RoastProperty, obj: c_long, value: c_long) {
[INFO] [stdout]      |                                                                  ^^^ help: if this is intentional, prefix it with an underscore: `_obj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:4158:79
[INFO] [stdout]      |
[INFO] [stdout] 4158 | pub extern "C" fn roast_property_set(prop: *const RoastProperty, obj: c_long, value: c_long) {
[INFO] [stdout]      |                                                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/stdlib/src/heap.rs:144:21
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn from_vec(mut vec: Vec<T>) -> Self {
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `leap`
[INFO] [stdout]    --> crates/stdlib/src/time.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 197 |     let leap = is_leap_year(year);
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_leap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> crates/stdlib/src/testing.rs:72:18
[INFO] [stdout]    |
[INFO] [stdout] 72 |             (Err(e), true) => TestResult::Passed,
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling roast-borrowck v0.1.0 (/opt/rustwide/workdir/crates/borrowck)
[INFO] [stdout] warning: unused variable: `exc`
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:7135:43
[INFO] [stdout]      |
[INFO] [stdout] 7135 | pub extern "C" fn roast_exception_matches(exc: c_long, type_name: *const c_char) -> c_long {
[INFO] [stdout]      |                                           ^^^ help: if this is intentional, prefix it with an underscore: `_exc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `buffered` is never read
[INFO] [stdout]    --> crates/runtime/src/gc.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout]  99 | struct GcInner<T> {
[INFO] [stdout]     |        ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 104 |     buffered: AtomicUsize,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `color`, `set_color`, `increment_buffered`, `buffered`, and `reset_buffered` are never used
[INFO] [stdout]    --> crates/runtime/src/gc.rs:145:8
[INFO] [stdout]     |
[INFO] [stdout] 108 | impl<T> GcRef<T> {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 145 |     fn color(&self) -> GcColor {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     fn set_color(&self, color: GcColor) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     fn increment_buffered(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     fn buffered(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     fn reset_buffered(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `garbage` is never read
[INFO] [stdout]    --> crates/runtime/src/gc.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub struct CycleCollector {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 214 |     garbage: Mutex<Vec<*const ()>>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `THREADS` is never used
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:5429:8
[INFO] [stdout]      |
[INFO] [stdout] 5429 | static THREADS: Lazy<Mutex<Vec<Option<JoinHandle<c_long>>>>> = Lazy::new(|| Mutex::new(Vec::new()));
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `base64_engine` is never used
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:5537:4
[INFO] [stdout]      |
[INFO] [stdout] 5537 | fn base64_engine() {}
[INFO] [stdout]      |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `exception_type` and `exception_value` are never read
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:6859:5
[INFO] [stdout]      |
[INFO] [stdout] 6857 | struct ExceptionFrame {
[INFO] [stdout]      |        -------------- fields in this struct
[INFO] [stdout] 6858 |     jmp_buf: JmpBuf,
[INFO] [stdout] 6859 |     exception_type: c_long,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^
[INFO] [stdout] 6860 |     exception_value: c_long,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_TAG` is never used
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:7248:7
[INFO] [stdout]      |
[INFO] [stdout] 7248 | const FILE_TAG: u8 = 20;
[INFO] [stdout]      |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setjmp` is never used
[INFO] [stdout]     --> crates/runtime/src/native_full.rs:6764:8
[INFO] [stdout]      |
[INFO] [stdout] 6764 |     fn setjmp(env: *mut JmpBuf) -> c_int;
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> crates/runtime/src/gc.rs:399:17
[INFO] [stdout]     |
[INFO] [stdout] 399 |         assert!(stats.collections >= 0);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id2`
[INFO] [stdout]    --> crates/debugger/src/breakpoint.rs:265:13
[INFO] [stdout]     |
[INFO] [stdout] 265 |         let id2 = bp2.id;
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_id2`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/stdlib/src/fmt.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |     let mut s = n.abs().to_string();
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DiGraph` and `NodeIndex`
[INFO] [stdout]  --> crates/borrowck/src/dataflow.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use petgraph::graph::{DiGraph, NodeIndex};
[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: `std::hash::Hash`
[INFO] [stdout]   --> crates/borrowck/src/dataflow.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::hash::Hash;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlaceId`
[INFO] [stdout]  --> crates/borrowck/src/moves.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::places::{Place, PlaceId};
[INFO] [stdout]   |                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bitflags::bitflags`
[INFO] [stdout]  --> crates/borrowck/src/regions.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use bitflags::bitflags;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ControlFlowGraph`, `LivenessAnalysis`, `StatementRhs`, `Statement`, and `self`
[INFO] [stdout]  --> crates/borrowck/src/checker.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::dataflow::{self, ControlFlowGraph, LivenessAnalysis, Statement, StatementRhs};
[INFO] [stdout]   |                       ^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllFacts` and `OutputFacts`
[INFO] [stdout]  --> crates/borrowck/src/checker.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::facts::{AllFacts, FactGenerator, OutputFacts};
[INFO] [stdout]   |                    ^^^^^^^^                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LifetimeId`
[INFO] [stdout]  --> crates/borrowck/src/checker.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::lifetime::{LifetimeContext, LifetimeId};
[INFO] [stdout]   |                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MoveError`
[INFO] [stdout]  --> crates/borrowck/src/checker.rs:8:42
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::moves::{InitStatus, MoveData, MoveError};
[INFO] [stdout]   |                                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PlaceElem` and `PlaceSet`
[INFO] [stdout]  --> crates/borrowck/src/checker.rs:9:28
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::places::{Place, PlaceElem, PlaceId, PlaceSet};
[INFO] [stdout]   |                            ^^^^^^^^^           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConstraintKind`, `ConstraintOrigin`, and `RegionId`
[INFO] [stdout]   --> crates/borrowck/src/checker.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::regions::{ConstraintKind, ConstraintOrigin, RegionId, RegionInference};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> crates/borrowck/src/checker.rs:560:9
[INFO] [stdout]     |
[INFO] [stdout] 560 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Loan` and `Location`
[INFO] [stdout]  --> crates/borrowck/src/diagnostics.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::loans::{Loan, LoanKind, Location};
[INFO] [stdout]   |                    ^^^^            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DiagnosticKind`
[INFO] [stdout]  --> crates/borrowck/src/diagnostics.rs:7:32
[INFO] [stdout]   |
[INFO] [stdout] 7 | use roast_common::{Diagnostic, DiagnosticKind, Span};
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlaceElem`
[INFO] [stdout]  --> crates/borrowck/src/tests.rs:8:32
[INFO] [stdout]   |
[INFO] [stdout] 8 |     use crate::places::{Place, PlaceElem, PlaceId};
[INFO] [stdout]   |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RegionOrigin`
[INFO] [stdout]  --> crates/borrowck/src/tests.rs:9:53
[INFO] [stdout]   |
[INFO] [stdout] 9 |     use crate::regions::{RegionId, RegionInference, RegionOrigin};
[INFO] [stdout]   |                                                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `roast_common::prelude::*`
[INFO] [stdout]   --> crates/borrowck/src/lib.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use roast_common::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/optimizer/src/passes.rs:845:40
[INFO] [stdout]     |
[INFO] [stdout] 845 |     if let MirTerminator::Call { func, args, destination, target, .. } = &block.terminator {
[INFO] [stdout]     |                                        ^^^^ help: try ignoring the field: `args: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `destination`
[INFO] [stdout]    --> crates/optimizer/src/passes.rs:845:46
[INFO] [stdout]     |
[INFO] [stdout] 845 |     if let MirTerminator::Call { func, args, destination, target, .. } = &block.terminator {
[INFO] [stdout]     |                                              ^^^^^^^^^^^ help: try ignoring the field: `destination: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> crates/optimizer/src/passes.rs:845:59
[INFO] [stdout]     |
[INFO] [stdout] 845 |     if let MirTerminator::Call { func, args, destination, target, .. } = &block.terminator {
[INFO] [stdout]     |                                                           ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> crates/optimizer/src/passes.rs:882:71
[INFO] [stdout]     |
[INFO] [stdout] 882 |                     if let MirStmtKind::Assign { place: assign_place, value } = &stmt.kind {
[INFO] [stdout]     |                                                                       ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]   --> crates/optimizer/src/loop_opt.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     body: &MirBody,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/stdlib/src/itertools.rs:241:13
[INFO] [stdout]     |
[INFO] [stdout] 241 |         let mut remaining: Vec<_> = items.iter()
[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/optimizer/src/unroll.rs:543:30
[INFO] [stdout]     |
[INFO] [stdout] 543 |     fn offset_iv_uses(&self, mut stmt: MirStmt, iv_local: LocalId, offset: i128) -> MirStmt {
[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: `iv_local`
[INFO] [stdout]    --> crates/optimizer/src/unroll.rs:543:49
[INFO] [stdout]     |
[INFO] [stdout] 543 |     fn offset_iv_uses(&self, mut stmt: MirStmt, iv_local: LocalId, offset: i128) -> MirStmt {
[INFO] [stdout]     |                                                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_iv_local`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> crates/optimizer/src/unroll.rs:543:68
[INFO] [stdout]     |
[INFO] [stdout] 543 |     fn offset_iv_uses(&self, mut stmt: MirStmt, iv_local: LocalId, offset: i128) -> MirStmt {
[INFO] [stdout]     |                                                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/stdlib/src/itertools.rs:429:9
[INFO] [stdout]     |
[INFO] [stdout] 429 |     let mut result = Vec::new();
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `place`
[INFO] [stdout]    --> crates/optimizer/src/fusion.rs:229:38
[INFO] [stdout]     |
[INFO] [stdout] 229 |         if let MirStmtKind::Assign { place, value } = &stmt.kind {
[INFO] [stdout]     |                                      ^^^^^ help: try ignoring the field: `place: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/optimizer/src/fusion.rs:324:13
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let mut stmts = Vec::new();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> crates/optimizer/src/fusion.rs:352:18
[INFO] [stdout]     |
[INFO] [stdout] 352 | pub fn fuse_maps(f: &LambdaCapture, g: &LambdaCapture) -> Option<LambdaCapture> {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> crates/optimizer/src/fusion.rs:352:37
[INFO] [stdout]     |
[INFO] [stdout] 352 | pub fn fuse_maps(f: &LambdaCapture, g: &LambdaCapture) -> Option<LambdaCapture> {
[INFO] [stdout]     |                                     ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]    --> crates/optimizer/src/fusion.rs:367:21
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub fn fuse_filters(p: &LambdaCapture, q: &LambdaCapture) -> Option<LambdaCapture> {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `q`
[INFO] [stdout]    --> crates/optimizer/src/fusion.rs:367:40
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub fn fuse_filters(p: &LambdaCapture, q: &LambdaCapture) -> Option<LambdaCapture> {
[INFO] [stdout]     |                                        ^ help: if this is intentional, prefix it with an underscore: `_q`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `candidate`
[INFO] [stdout]    --> crates/optimizer/src/pgo.rs:393:32
[INFO] [stdout]     |
[INFO] [stdout] 393 |     fn devirtualize(&mut self, candidate: DevirtCandidate) {
[INFO] [stdout]     |                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_candidate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func`
[INFO] [stdout]    --> crates/optimizer/src/pgo.rs:396:42
[INFO] [stdout]     |
[INFO] [stdout] 396 |             if let MirTerminator::Call { func, target, .. } = &mut block.terminator {
[INFO] [stdout]     |                                          ^^^^ help: try ignoring the field: `func: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> crates/optimizer/src/pgo.rs:396:48
[INFO] [stdout]     |
[INFO] [stdout] 396 |             if let MirTerminator::Call { func, target, .. } = &mut block.terminator {
[INFO] [stdout]     |                                                ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `return_local` is never read
[INFO] [stdout]    --> crates/optimizer/src/passes.rs:835:5
[INFO] [stdout]     |
[INFO] [stdout] 829 | struct TailCallInfo {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 835 |     return_local: Option<LocalId>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TailCallInfo` has derived impls for the traits `Debug` and `Clone`, 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: field `post_dominators` is never read
[INFO] [stdout]   --> crates/optimizer/src/analysis.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct CfgAnalysis<'a> {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     post_dominators: FxHashMap<BlockId, BlockId>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `init` and `step` are never read
[INFO] [stdout]    --> crates/optimizer/src/loop_opt.rs:271:5
[INFO] [stdout]     |
[INFO] [stdout] 269 | struct InductionVariable {
[INFO] [stdout]     |        ----------------- fields in this struct
[INFO] [stdout] 270 |     local: LocalId,
[INFO] [stdout] 271 |     init: MirConstant,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 272 |     step: MirConstant,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InductionVariable` 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 `next_block_id` and `next_local_id` are never read
[INFO] [stdout]    --> crates/optimizer/src/unroll.rs:280:5
[INFO] [stdout]     |
[INFO] [stdout] 277 | pub struct LoopUnroller<'a> {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 280 |     next_block_id: BlockId,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 281 |     next_local_id: LocalId,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `alloc_block_id` and `alloc_local_id` are never used
[INFO] [stdout]    --> crates/optimizer/src/unroll.rs:550:8
[INFO] [stdout]     |
[INFO] [stdout] 284 | impl<'a> LoopUnroller<'a> {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 550 |     fn alloc_block_id(&mut self) -> BlockId {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 556 |     fn alloc_local_id(&mut self) -> LocalId {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_field_name` and `extract_field_path` are never used
[INFO] [stdout]    --> crates/optimizer/src/sroa.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout]  91 | impl<'a> SroaPass<'a> {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 158 |     fn get_field_name(&self, ty: &Type, field_idx: u32) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     fn extract_field_path(&self, projections: &[MirProjection]) -> Vec<u32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `next_local_id` is never read
[INFO] [stdout]    --> crates/optimizer/src/fusion.rs:254:5
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub struct FusionTransformer<'a> {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 254 |     next_local_id: LocalId,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `alloc_local_id` is never used
[INFO] [stdout]    --> crates/optimizer/src/fusion.rs:344:8
[INFO] [stdout]     |
[INFO] [stdout] 258 | impl<'a> FusionTransformer<'a> {
[INFO] [stdout]     | ------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 344 |     fn alloc_local_id(&mut self) -> LocalId {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `site_id`, `shape`, `target`, and `confidence` are never read
[INFO] [stdout]    --> crates/optimizer/src/pgo.rs:415:5
[INFO] [stdout]     |
[INFO] [stdout] 414 | struct DevirtCandidate {
[INFO] [stdout]     |        --------------- fields in this struct
[INFO] [stdout] 415 |     site_id: u32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 416 |     shape: ShapeId,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 417 |     target: MethodTarget,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 418 |     confidence: f64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DevirtCandidate` 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 `body` is never read
[INFO] [stdout]    --> crates/optimizer/src/pgo.rs:427:5
[INFO] [stdout]     |
[INFO] [stdout] 426 | pub struct SpeculativeInliner<'a> {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] 427 |     body: &'a mut MirBody,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `site_id` is never read
[INFO] [stdout]    --> crates/optimizer/src/pgo.rs:547:5
[INFO] [stdout]     |
[INFO] [stdout] 546 | struct InlineCandidate {
[INFO] [stdout]     |        --------------- field in this struct
[INFO] [stdout] 547 |     site_id: u32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InlineCandidate` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling roast-llvm-backend v0.1.0 (/opt/rustwide/workdir/crates/llvm_backend)
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> crates/borrowck/src/places.rs:115:34
[INFO] [stdout]     |
[INFO] [stdout] 115 |                 PlaceElem::Field(idx, Some(sym)) => write!(f, ".{}", sym.as_raw())?,
[INFO] [stdout]     |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RUNTIME_DECLARATIONS` and `TypeTag`
[INFO] [stdout]   --> crates/llvm_backend/src/types.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::runtime::{RUNTIME_DECLARATIONS, TypeTag};
[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: `std::io::Write`
[INFO] [stdout]     --> crates/llvm_backend/src/lib.rs:1390:13
[INFO] [stdout]      |
[INFO] [stdout] 1390 |         use std::io::Write;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> crates/borrowck/src/checker.rs:175:78
[INFO] [stdout]     |
[INFO] [stdout] 175 |     fn check_terminator(&mut self, term: &MirTerminator, location: Location, body: &MirBody, span: Span) {
[INFO] [stdout]     |                                                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]    --> crates/borrowck/src/checker.rs:358:51
[INFO] [stdout]     |
[INFO] [stdout] 358 |     fn check_read_place(&mut self, place: &Place, location: Location, span: Span) {
[INFO] [stdout]     |                                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling roast-mir v0.1.0 (/opt/rustwide/workdir/crates/mir)
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]    --> crates/borrowck/src/checker.rs:393:70
[INFO] [stdout]     |
[INFO] [stdout] 393 |     fn check_write_place(&mut self, mir_place: &roast_mir::MirPlace, location: Location, span: Span) {
[INFO] [stdout]     |                                                                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `route`
[INFO] [stdout]     --> crates/stdlib/src/web.rs:1415:14
[INFO] [stdout]      |
[INFO] [stdout] 1415 |         let (route, params) = router.match_route(Method::Get, "/").unwrap();
[INFO] [stdout]      |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_route`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `route`
[INFO] [stdout]     --> crates/stdlib/src/web.rs:1418:14
[INFO] [stdout]      |
[INFO] [stdout] 1418 |         let (route, params) = router.match_route(Method::Get, "/users/123").unwrap();
[INFO] [stdout]      |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_route`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `id_arena::Id`
[INFO] [stdout]  --> crates/mir/src/nodes.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use id_arena::Id;
[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 variable: `future`
[INFO] [stdout]    --> crates/stdlib/src/async_io.rs:505:9
[INFO] [stdout]     |
[INFO] [stdout] 505 |     let mut future = Box::pin(future);
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_future`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `interner` is never read
[INFO] [stdout]   --> crates/borrowck/src/checker.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct BorrowChecker<'a> {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     interner: &'a Interner,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> crates/mir/src/build.rs:715:13
[INFO] [stdout]     |
[INFO] [stdout] 715 |             _ => {}
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> crates/mir/src/build.rs:715:13
[INFO] [stdout]     |
[INFO] [stdout] 265 |             HirStmtKind::Let { name, ty, init, mutable } => {
[INFO] [stdout]     |             -------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 320 |             HirStmtKind::Assign { target, value } => {
[INFO] [stdout]     |             ------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 403 |             HirStmtKind::Expr(expr_id) => {
[INFO] [stdout]     |             -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 408 |             HirStmtKind::Return(expr) => {
[INFO] [stdout]     |             ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 715 |             _ => {}
[INFO] [stdout]     |             ^ ...and 10 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[WARN] too many lines in the log, truncating it
