[INFO] cloning repository https://github.com/ktnlvr/electrocute
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ktnlvr/electrocute" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fktnlvr%2Felectrocute", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fktnlvr%2Felectrocute'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 11533af66641912612064502a495018f0df329b7
[INFO] checking ktnlvr/electrocute against master#61cc47e367d7be91e13bcd01e4e96e0e233d4f6d for pr-133502-21
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fktnlvr%2Felectrocute" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-3-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/ktnlvr/electrocute
[INFO] finished tweaking git repo https://github.com/ktnlvr/electrocute
[INFO] tweaked toml for git repo https://github.com/ktnlvr/electrocute written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ktnlvr/electrocute on toolchain 61cc47e367d7be91e13bcd01e4e96e0e233d4f6d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+61cc47e367d7be91e13bcd01e4e96e0e233d4f6d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ktnlvr/electrocute already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+61cc47e367d7be91e13bcd01e4e96e0e233d4f6d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.106
[INFO] [stderr]   Downloaded redox_users v0.4.6
[INFO] [stderr]   Downloaded prettytable-rs v0.10.0
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.106
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.106
[INFO] [stderr]   Downloaded drawille v0.3.0
[INFO] [stderr]   Downloaded bytemuck_derive v1.10.2
[INFO] [stderr]   Downloaded criterion-plot v0.6.0
[INFO] [stderr]   Downloaded js-sys v0.3.83
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.106
[INFO] [stderr]   Downloaded clap v4.5.53
[INFO] [stderr]   Downloaded criterion v0.7.0
[INFO] [stderr]   Downloaded clap_builder v4.5.53
[INFO] [stderr]   Downloaded textplots v0.8.7
[INFO] [stderr]   Downloaded web-sys v0.3.83
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:29356a839a4d14451438f794ce8414e707d72405f44418718d724d22562fe786" "/opt/rustwide/cargo-home/bin/cargo" "+61cc47e367d7be91e13bcd01e4e96e0e233d4f6d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d17e4bec4517a823f9d6ecacc4ab312c00d0cdb49f184b07d8c51aef312d41f5
[INFO] running `Command { std: "docker" "start" "-a" "d17e4bec4517a823f9d6ecacc4ab312c00d0cdb49f184b07d8c51aef312d41f5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d17e4bec4517a823f9d6ecacc4ab312c00d0cdb49f184b07d8c51aef312d41f5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d17e4bec4517a823f9d6ecacc4ab312c00d0cdb49f184b07d8c51aef312d41f5", kill_on_drop: false }`
[INFO] [stdout] d17e4bec4517a823f9d6ecacc4ab312c00d0cdb49f184b07d8c51aef312d41f5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:29356a839a4d14451438f794ce8414e707d72405f44418718d724d22562fe786" "/opt/rustwide/cargo-home/bin/cargo" "+61cc47e367d7be91e13bcd01e4e96e0e233d4f6d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8ca6db1ebe5c6f7c26be62779df031132f71f293e765014f0839c284ac2c1cea
[INFO] running `Command { std: "docker" "start" "-a" "8ca6db1ebe5c6f7c26be62779df031132f71f293e765014f0839c284ac2c1cea", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.106
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling bumpalo v3.19.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking colored v2.2.0
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]     Checking drawille v0.3.0
[INFO] [stderr]     Checking encode_unicode v1.0.0
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking regex-syntax v0.8.8
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]    Compiling wasm-bindgen v0.2.106
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking clap_builder v4.5.53
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stderr]     Checking dirs-next v2.0.0
[INFO] [stderr]     Checking term v0.7.0
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]     Checking csv v1.4.0
[INFO] [stderr]     Checking serde_json v1.0.145
[INFO] [stderr]     Checking criterion-plot v0.6.0
[INFO] [stderr]     Checking clap v4.5.53
[INFO] [stderr]     Checking prettytable-rs v0.10.0
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.106
[INFO] [stderr]    Compiling zerocopy-derive v0.8.31
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]     Checking bytemuck v1.24.0
[INFO] [stderr]     Checking rgb v0.8.52
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.106
[INFO] [stderr]     Checking textplots v0.8.7
[INFO] [stderr]     Checking electrocute v0.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(generic_const_exprs)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #76560 <https://github.com/rust-lang/rust/issues/76560> for more information
[INFO] [stdout]   = note: `#[warn(incomplete_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `circuit`
[INFO] [stdout]   --> src/component/mod.rs:96:37
[INFO] [stdout]    |
[INFO] [stdout] 96 |             .insert(name, Box::new(|circuit, hashmap| todo!()));
[INFO] [stdout]    |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_circuit`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hashmap`
[INFO] [stdout]   --> src/component/mod.rs:96:46
[INFO] [stdout]    |
[INFO] [stdout] 96 |             .insert(name, Box::new(|circuit, hashmap| todo!()));
[INFO] [stdout]    |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hashmap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `constructor`
[INFO] [stdout]   --> src/component/mod.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |         constructor: impl Fn(
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_constructor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/expression.rs:65:36
[INFO] [stdout]    |
[INFO] [stdout] 65 |             Expression::Variable { name, subscript } => return None,
[INFO] [stdout]    |                                    ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `subscript`
[INFO] [stdout]   --> src/expression.rs:65:42
[INFO] [stdout]    |
[INFO] [stdout] 65 |             Expression::Variable { name, subscript } => return None,
[INFO] [stdout]    |                                          ^^^^^^^^^ help: try ignoring the field: `subscript: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/expression.rs:79:36
[INFO] [stdout]    |
[INFO] [stdout] 79 |             Expression::Function { name, arguments } => todo!(),
[INFO] [stdout]    |                                    ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arguments`
[INFO] [stdout]   --> src/expression.rs:79:42
[INFO] [stdout]    |
[INFO] [stdout] 79 |             Expression::Function { name, arguments } => todo!(),
[INFO] [stdout]    |                                          ^^^^^^^^^ help: try ignoring the field: `arguments: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dimensions` is never used
[INFO] [stdout]    --> src/numerical/equations.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl LinearEquations {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 120 |     fn dimensions(&self) -> (usize, 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: function `diag` is never used
[INFO] [stdout]   --> src/numerical/solve.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn diag(values: &[c64], row_pointers: &[u32], column_indices: &[u32]) -> impl Iterator<Item = c64> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(generic_const_exprs)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #76560 <https://github.com/rust-lang/rust/issues/76560> for more information
[INFO] [stdout]   = note: `#[warn(incomplete_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasm_bindgen::prelude::*`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use wasm_bindgen::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 import: `CircuitBuilder`
[INFO] [stdout]  --> src/main.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 |     parser::{CircuitBuilder},
[INFO] [stdout]   |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `circuit`
[INFO] [stdout]   --> src/component/mod.rs:96:37
[INFO] [stdout]    |
[INFO] [stdout] 96 |             .insert(name, Box::new(|circuit, hashmap| todo!()));
[INFO] [stdout]    |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_circuit`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hashmap`
[INFO] [stdout]   --> src/component/mod.rs:96:46
[INFO] [stdout]    |
[INFO] [stdout] 96 |             .insert(name, Box::new(|circuit, hashmap| todo!()));
[INFO] [stdout]    |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hashmap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `constructor`
[INFO] [stdout]   --> src/component/mod.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |         constructor: impl Fn(
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_constructor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/expression.rs:65:36
[INFO] [stdout]    |
[INFO] [stdout] 65 |             Expression::Variable { name, subscript } => return None,
[INFO] [stdout]    |                                    ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `subscript`
[INFO] [stdout]   --> src/expression.rs:65:42
[INFO] [stdout]    |
[INFO] [stdout] 65 |             Expression::Variable { name, subscript } => return None,
[INFO] [stdout]    |                                          ^^^^^^^^^ help: try ignoring the field: `subscript: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/expression.rs:79:36
[INFO] [stdout]    |
[INFO] [stdout] 79 |             Expression::Function { name, arguments } => todo!(),
[INFO] [stdout]    |                                    ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arguments`
[INFO] [stdout]   --> src/expression.rs:79:42
[INFO] [stdout]    |
[INFO] [stdout] 79 |             Expression::Function { name, arguments } => todo!(),
[INFO] [stdout]    |                                          ^^^^^^^^^ help: try ignoring the field: `arguments: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `buffer`, `stride`, and `type_id` are never read
[INFO] [stdout]   --> src/buffer.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct ComponentBuffer {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout]  8 |     buffer: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]  9 |     stride: usize,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 10 |     type_id: TypeId,
[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 `ComponentStoredData` is never constructed
[INFO] [stdout]   --> src/buffer.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct ComponentStoredData<C: Component> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `len`, `push`, `iter`, and `iter_mut` are never used
[INFO] [stdout]   --> src/buffer.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl ComponentBuffer {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 23 |     pub fn new<C: Component>() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn push<C: Component>(&mut self, component: C) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn iter<C: Component>(&self) -> impl Iterator<Item = (&C, &C::State)> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn iter_mut<C: Component>(&mut self) -> impl Iterator<Item = (&mut C, &mut C::State)> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ComponentIterator` is never constructed
[INFO] [stdout]   --> src/buffer.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | struct ComponentIterator<'buffer, C: Component> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ComponentIteratorMut` is never constructed
[INFO] [stdout]    --> src/buffer.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | struct ComponentIteratorMut<'buffer, C: Component> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `buffer`, `terminals`, `stamp_all_fn`, and `post_stamp_all_fn` are never read
[INFO] [stdout]  --> src/circuit.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Components {
[INFO] [stdout]   |        ---------- fields in this struct
[INFO] [stdout] 6 |     buffer: ComponentBuffer,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 7 |     terminals: Vec<u32>,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 8 |     stamp_all_fn: Box<dyn Fn(&ComponentBuffer, &mut LinearEquations, f64, &[u32])>,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 9 |     post_stamp_all_fn: Box<dyn Fn(&mut ComponentBuffer, &LinearEquations, f64, &[u32])>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `names`, `circuit`, and `equations` are never read
[INFO] [stdout]   --> src/circuit.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Circuit {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 13 |     names: HashMap<(TypeId, u32), String>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 14 |     circuit: HashMap<TypeId, Components>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 15 |     pub equations: LinearEquations,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `put`, `stamp_all`, and `solve` are never used
[INFO] [stdout]   --> src/circuit.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Circuit {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 19 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn put<C: Component>(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn stamp_all(&mut self, dt: f64) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     pub fn solve(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `PRIORITY`, `PARAMETERS`, `ACTIVE_TERMINALS`, `stamp`, `post_stamp`, and `parameter` are never used
[INFO] [stdout]   --> src/component/mod.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub trait Component: Pod {
[INFO] [stdout]    |           --------- associated items in this trait
[INFO] [stdout] ...
[INFO] [stdout] 20 |     const PRIORITY: usize;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 21 |     const PARAMETERS: &[&'static str] = &[];
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 22 |     const ACTIVE_TERMINALS: &[(usize, usize)] = &[(0, 0)];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |
[INFO] [stdout] 24 |     fn stamp(
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     fn post_stamp(
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     fn parameter(
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `parameter` is never read
[INFO] [stdout]   --> src/component/mod.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct MissingRequiredParameter {
[INFO] [stdout]    |            ------------------------ field in this struct
[INFO] [stdout] 66 |     pub parameter: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `UnusedSuppliedParameter` and `MissingRequiredParameter` are never constructed
[INFO] [stdout]   --> src/component/mod.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub enum ComponentError {
[INFO] [stdout]    |          -------------- variants in this enum
[INFO] [stdout] 70 |     UnusedSuppliedParameter { parameter: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 71 |     MissingRequiredParameter { parameter: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `terminal_count_of` is never used
[INFO] [stdout]    --> src/component/mod.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout]  74 | impl ComponentLibrary {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn terminal_count_of(&self, component_name: &str) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ExpressionError` is never used
[INFO] [stdout]  --> src/expression.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum ExpressionError {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ExpressionResult` is never used
[INFO] [stdout]   --> src/expression.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub type ExpressionResult<T> = Result<T, ExpressionError>;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Add`, `Subtract`, `Multiply`, `Divide`, `Exponentiate`, and `Phase` are never constructed
[INFO] [stdout]   --> src/expression.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum BinaryOperator {
[INFO] [stdout]    |          -------------- variants in this enum
[INFO] [stdout] 18 |     Add,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 19 |     Subtract,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 20 |     Multiply,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 21 |     Divide,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 22 |     Exponentiate,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 23 |     Phase,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BinaryOperator` 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: variants `Imaginary`, `Real`, `Variable`, `Binop`, `Bracketed`, and `Function` are never constructed
[INFO] [stdout]   --> src/expression.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub enum Expression {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 42 |     Imaginary(f64),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 43 |     Real(f64),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 44 |     Variable {
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     Binop {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     Bracketed(Box<Expression>),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 54 |     Function {
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `compute_fixed` is never used
[INFO] [stdout]   --> src/expression.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl Expression {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 61 |     pub fn compute_fixed(&self) -> Option<c64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `take_whitespace` is never used
[INFO] [stdout]    --> src/expression.rs:114:4
[INFO] [stdout]     |
[INFO] [stdout] 114 | fn take_whitespace(input: &str) -> &str {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `take_operand` is never used
[INFO] [stdout]    --> src/expression.rs:118:4
[INFO] [stdout]     |
[INFO] [stdout] 118 | fn take_operand(input: &str) -> ExpressionResult<(Expression, &str)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OPERATORS` is never used
[INFO] [stdout]    --> src/expression.rs:227:7
[INFO] [stdout]     |
[INFO] [stdout] 227 | const OPERATORS: [(&'static str, BinaryOperator); 8] = [
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `take_operator` is never used
[INFO] [stdout]    --> src/expression.rs:238:4
[INFO] [stdout]     |
[INFO] [stdout] 238 | fn take_operator(input: &str) -> ExpressionResult<(BinaryOperator, &str)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `take_binop` is never used
[INFO] [stdout]    --> src/expression.rs:251:4
[INFO] [stdout]     |
[INFO] [stdout] 251 | fn take_binop(input: &str) -> ExpressionResult<(Expression, &str)> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `precedence` is never used
[INFO] [stdout]    --> src/expression.rs:281:4
[INFO] [stdout]     |
[INFO] [stdout] 281 | fn precedence(op: BinaryOperator) -> u8 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_precedence` is never used
[INFO] [stdout]    --> src/expression.rs:291:4
[INFO] [stdout]     |
[INFO] [stdout] 291 | fn apply_precedence(expr: Expression) -> Expression {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reorder_binop` is never used
[INFO] [stdout]    --> src/expression.rs:309:4
[INFO] [stdout]     |
[INFO] [stdout] 309 | fn reorder_binop(op: BinaryOperator, lhs: Expression, rhs: Expression) -> Expression {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_expr` is never used
[INFO] [stdout]    --> src/expression.rs:367:8
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub fn parse_expr(input: &str) -> ExpressionResult<(Expression, &str)> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/numerical/complex.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl c64 {
[INFO] [stdout]    | -------- associated items in this implementation
[INFO] [stdout] 18 |     pub const ZERO: Self = c64::new(0., 0.);
[INFO] [stdout] 19 |     pub const ONE: Self = c64::new(1., 0.);
[INFO] [stdout]    |               ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub const fn real(re: f64) -> Self {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub const fn imag(im: f64) -> Self {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn polar(amplitude: f64, angle_rad: f64) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn conj(self) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn ln(self) -> Self {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn exp(self) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `value_map`, `column_indices`, `row_pointers`, `a`, `x`, and `b` are never read
[INFO] [stdout]   --> src/numerical/equations.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct LinearEquations {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout]  8 |     pub value_map: HashMap<(u32, u32), usize>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]  9 |     pub column_indices: Vec<u32>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub row_pointers: Vec<u32>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 11 |     pub a: Vec<c64>,
[INFO] [stdout]    |         ^
[INFO] [stdout] 12 |     pub x: Vec<c64>,
[INFO] [stdout]    |         ^
[INFO] [stdout] 13 |     pub b: Vec<c64>,
[INFO] [stdout]    |         ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LinearEquations` 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: multiple associated items are never used
[INFO] [stdout]    --> src/numerical/equations.rs:23:12
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl LinearEquations {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout]  23 |     pub fn from_static_real<const N: usize, const M: usize>(values: [[f64; N]; M]) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  29 |     pub fn from_static<const N: usize, const M: usize>(values: [[c64; N]; M]) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn add_coordinates(&mut self, coordinates: impl IntoIterator<Item = (u32, u32)>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     fn dimensions(&self) -> (usize, usize) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn solve(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn clear_row(&mut self, i: u32) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn add_a(&mut self, i: u32, j: u32, value: c64) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn set_b(&mut self, i: u32, value: c64) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn add_b(&mut self, i: u32, value: c64) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn get_voltage_across(&self, from: u32, to: u32) -> c64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn get_current(&self, i: u32) -> c64 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sparse_matmul` is never used
[INFO] [stdout]  --> src/numerical/solve.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn sparse_matmul(
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vec_sub` is never used
[INFO] [stdout]   --> src/numerical/solve.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn vec_sub(a: &[c64], b: &[c64]) -> Vec<c64> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vec_add` is never used
[INFO] [stdout]   --> src/numerical/solve.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn vec_add(a: &[c64], b: &[c64]) -> Vec<c64> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vec_dot` is never used
[INFO] [stdout]   --> src/numerical/solve.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn vec_dot(a: &[c64], b: &[c64]) -> c64 {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vec_mul` is never used
[INFO] [stdout]   --> src/numerical/solve.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn vec_mul(a: &[c64], k: c64) -> Vec<c64> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vec_norm` is never used
[INFO] [stdout]   --> src/numerical/solve.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn vec_norm(a: &[c64]) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vec_add_in_place` is never used
[INFO] [stdout]   --> src/numerical/solve.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn vec_add_in_place(a: &mut [c64], b: &[c64]) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `diag` is never used
[INFO] [stdout]   --> src/numerical/solve.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn diag(values: &[c64], row_pointers: &[u32], column_indices: &[u32]) -> impl Iterator<Item = c64> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve` is never used
[INFO] [stdout]   --> src/numerical/solve.rs:89:8
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub fn solve(
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Command` is never used
[INFO] [stdout]  --> src/parser.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum Command {
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]   --> src/parser.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Parser {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/parser.rs:41:12
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl Parser {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout]  41 |     pub fn advance_pop(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn advance_drop(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  51 |     pub fn advance_push(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  55 |     pub fn skip_whitespace(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub fn is_eof(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  65 |     pub fn expect(&mut self, pred: impl FnOnce(char) -> bool) -> Option<char> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     pub fn expect_char(&mut self, ch: char) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub fn parse_identifier(&mut self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn parse_string(&mut self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn parse_number_k(&mut self) -> Option<i64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn parse_comment(&mut self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn parse_commands(&mut self) -> Option<Vec<Command>>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn parse_component_command(&mut self) -> Option<Command> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CircuitBuilder` is never constructed
[INFO] [stdout]    --> src/parser.rs:240:12
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub struct CircuitBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_commands`, and `build` are never used
[INFO] [stdout]    --> src/parser.rs:245:12
[INFO] [stdout]     |
[INFO] [stdout] 244 | impl CircuitBuilder {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 245 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     pub fn add_commands(&mut self, cmds: Vec<Command>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     pub fn build(&self) -> Circuit {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_table` is never used
[INFO] [stdout]   --> src/printing.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn print_table(
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `continuous_segments` is never used
[INFO] [stdout]   --> src/printing.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn continuous_segments(points: &[(f64, f64)]) -> Vec<Vec<(f64, f64)>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `min_max` is never used
[INFO] [stdout]   --> src/printing.rs:68:4
[INFO] [stdout]    |
[INFO] [stdout] 68 | fn min_max(points: &[(f64, f64)]) -> Option<((f64, f64), (f64, f64))> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_chart` is never used
[INFO] [stdout]   --> src/printing.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub fn print_chart(chart_name: impl ToString, points: Vec<(f64, f64)>) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `var_to_si_unit` is never used
[INFO] [stdout]   --> src/si.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn var_to_si_unit(var: &str) -> Option<&'static str> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_si_number` is never used
[INFO] [stdout]   --> src/si.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub fn parse_si_number(s: &str) -> Option<f64> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking criterion v0.7.0
[INFO] [stdout] warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(generic_const_exprs)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #76560 <https://github.com/rust-lang/rust/issues/76560> for more information
[INFO] [stdout]   = note: `#[warn(incomplete_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(generic_const_exprs)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #76560 <https://github.com/rust-lang/rust/issues/76560> for more information
[INFO] [stdout]   = note: `#[warn(incomplete_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasm_bindgen::prelude::*`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use wasm_bindgen::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 import: `CircuitBuilder`
[INFO] [stdout]  --> src/main.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 |     parser::{CircuitBuilder},
[INFO] [stdout]   |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `circuit`
[INFO] [stdout]   --> src/component/mod.rs:96:37
[INFO] [stdout]    |
[INFO] [stdout] 96 |             .insert(name, Box::new(|circuit, hashmap| todo!()));
[INFO] [stdout]    |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_circuit`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hashmap`
[INFO] [stdout]   --> src/component/mod.rs:96:46
[INFO] [stdout]    |
[INFO] [stdout] 96 |             .insert(name, Box::new(|circuit, hashmap| todo!()));
[INFO] [stdout]    |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hashmap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `constructor`
[INFO] [stdout]   --> src/component/mod.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |         constructor: impl Fn(
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_constructor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/expression.rs:65:36
[INFO] [stdout]    |
[INFO] [stdout] 65 |             Expression::Variable { name, subscript } => return None,
[INFO] [stdout]    |                                    ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `subscript`
[INFO] [stdout]   --> src/expression.rs:65:42
[INFO] [stdout]    |
[INFO] [stdout] 65 |             Expression::Variable { name, subscript } => return None,
[INFO] [stdout]    |                                          ^^^^^^^^^ help: try ignoring the field: `subscript: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/expression.rs:79:36
[INFO] [stdout]    |
[INFO] [stdout] 79 |             Expression::Function { name, arguments } => todo!(),
[INFO] [stdout]    |                                    ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arguments`
[INFO] [stdout]   --> src/expression.rs:79:42
[INFO] [stdout]    |
[INFO] [stdout] 79 |             Expression::Function { name, arguments } => todo!(),
[INFO] [stdout]    |                                          ^^^^^^^^^ help: try ignoring the field: `arguments: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `len` is never used
[INFO] [stdout]   --> src/buffer.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl ComponentBuffer {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn len(&self) -> 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 `buffer`, `terminals`, `stamp_all_fn`, and `post_stamp_all_fn` are never read
[INFO] [stdout]  --> src/circuit.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Components {
[INFO] [stdout]   |        ---------- fields in this struct
[INFO] [stdout] 6 |     buffer: ComponentBuffer,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 7 |     terminals: Vec<u32>,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 8 |     stamp_all_fn: Box<dyn Fn(&ComponentBuffer, &mut LinearEquations, f64, &[u32])>,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 9 |     post_stamp_all_fn: Box<dyn Fn(&mut ComponentBuffer, &LinearEquations, f64, &[u32])>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `names`, `circuit`, and `equations` are never read
[INFO] [stdout]   --> src/circuit.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Circuit {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 13 |     names: HashMap<(TypeId, u32), String>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 14 |     circuit: HashMap<TypeId, Components>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 15 |     pub equations: LinearEquations,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `put`, `stamp_all`, and `solve` are never used
[INFO] [stdout]   --> src/circuit.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Circuit {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 19 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn put<C: Component>(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn stamp_all(&mut self, dt: f64) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     pub fn solve(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `PRIORITY`, `PARAMETERS`, `ACTIVE_TERMINALS`, `stamp`, `post_stamp`, and `parameter` are never used
[INFO] [stdout]   --> src/component/mod.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub trait Component: Pod {
[INFO] [stdout]    |           --------- associated items in this trait
[INFO] [stdout] ...
[INFO] [stdout] 20 |     const PRIORITY: usize;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 21 |     const PARAMETERS: &[&'static str] = &[];
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 22 |     const ACTIVE_TERMINALS: &[(usize, usize)] = &[(0, 0)];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |
[INFO] [stdout] 24 |     fn stamp(
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     fn post_stamp(
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     fn parameter(
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `parameter` is never read
[INFO] [stdout]   --> src/component/mod.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct MissingRequiredParameter {
[INFO] [stdout]    |            ------------------------ field in this struct
[INFO] [stdout] 66 |     pub parameter: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `UnusedSuppliedParameter` and `MissingRequiredParameter` are never constructed
[INFO] [stdout]   --> src/component/mod.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub enum ComponentError {
[INFO] [stdout]    |          -------------- variants in this enum
[INFO] [stdout] 70 |     UnusedSuppliedParameter { parameter: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 71 |     MissingRequiredParameter { parameter: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `terminal_count_of` is never used
[INFO] [stdout]    --> src/component/mod.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout]  74 | impl ComponentLibrary {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn terminal_count_of(&self, component_name: &str) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `compute_fixed` is never used
[INFO] [stdout]   --> src/expression.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl Expression {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 61 |     pub fn compute_fixed(&self) -> Option<c64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ONE`, `real`, `imag`, `polar`, `ln`, and `exp` are never used
[INFO] [stdout]   --> src/numerical/complex.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl c64 {
[INFO] [stdout]    | -------- associated items in this implementation
[INFO] [stdout] 18 |     pub const ZERO: Self = c64::new(0., 0.);
[INFO] [stdout] 19 |     pub const ONE: Self = c64::new(1., 0.);
[INFO] [stdout]    |               ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub const fn real(re: f64) -> Self {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub const fn imag(im: f64) -> Self {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn polar(amplitude: f64, angle_rad: f64) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn ln(self) -> Self {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn exp(self) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_static_real`, `from_static`, and `add_coordinates` are never used
[INFO] [stdout]    --> src/numerical/equations.rs:23:12
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl LinearEquations {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout]  23 |     pub fn from_static_real<const N: usize, const M: usize>(values: [[f64; N]; M]) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  29 |     pub fn from_static<const N: usize, const M: usize>(values: [[c64; N]; M]) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn add_coordinates(&mut self, coordinates: impl IntoIterator<Item = (u32, u32)>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `diag` is never used
[INFO] [stdout]   --> src/numerical/solve.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn diag(values: &[c64], row_pointers: &[u32], column_indices: &[u32]) -> impl Iterator<Item = c64> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Command` is never used
[INFO] [stdout]  --> src/parser.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum Command {
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]   --> src/parser.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Parser {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/parser.rs:41:12
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl Parser {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout]  41 |     pub fn advance_pop(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn advance_drop(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  51 |     pub fn advance_push(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  55 |     pub fn skip_whitespace(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub fn is_eof(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  65 |     pub fn expect(&mut self, pred: impl FnOnce(char) -> bool) -> Option<char> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     pub fn expect_char(&mut self, ch: char) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub fn parse_identifier(&mut self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn parse_string(&mut self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn parse_number_k(&mut self) -> Option<i64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn parse_comment(&mut self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn parse_commands(&mut self) -> Option<Vec<Command>>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn parse_component_command(&mut self) -> Option<Command> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CircuitBuilder` is never constructed
[INFO] [stdout]    --> src/parser.rs:240:12
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub struct CircuitBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_commands`, and `build` are never used
[INFO] [stdout]    --> src/parser.rs:245:12
[INFO] [stdout]     |
[INFO] [stdout] 244 | impl CircuitBuilder {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 245 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     pub fn add_commands(&mut self, cmds: Vec<Command>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     pub fn build(&self) -> Circuit {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_table` is never used
[INFO] [stdout]   --> src/printing.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn print_table(
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `continuous_segments` is never used
[INFO] [stdout]   --> src/printing.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn continuous_segments(points: &[(f64, f64)]) -> Vec<Vec<(f64, f64)>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `min_max` is never used
[INFO] [stdout]   --> src/printing.rs:68:4
[INFO] [stdout]    |
[INFO] [stdout] 68 | fn min_max(points: &[(f64, f64)]) -> Option<((f64, f64), (f64, f64))> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_chart` is never used
[INFO] [stdout]   --> src/printing.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub fn print_chart(chart_name: impl ToString, points: Vec<(f64, f64)>) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `var_to_si_unit` is never used
[INFO] [stdout]   --> src/si.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn var_to_si_unit(var: &str) -> Option<&'static str> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_si_number` is never used
[INFO] [stdout]   --> src/si.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub fn parse_si_number(s: &str) -> Option<f64> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `circuit`
[INFO] [stdout]   --> src/component/mod.rs:96:37
[INFO] [stdout]    |
[INFO] [stdout] 96 |             .insert(name, Box::new(|circuit, hashmap| todo!()));
[INFO] [stdout]    |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_circuit`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hashmap`
[INFO] [stdout]   --> src/component/mod.rs:96:46
[INFO] [stdout]    |
[INFO] [stdout] 96 |             .insert(name, Box::new(|circuit, hashmap| todo!()));
[INFO] [stdout]    |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hashmap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `constructor`
[INFO] [stdout]   --> src/component/mod.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |         constructor: impl Fn(
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_constructor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/expression.rs:65:36
[INFO] [stdout]    |
[INFO] [stdout] 65 |             Expression::Variable { name, subscript } => return None,
[INFO] [stdout]    |                                    ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `subscript`
[INFO] [stdout]   --> src/expression.rs:65:42
[INFO] [stdout]    |
[INFO] [stdout] 65 |             Expression::Variable { name, subscript } => return None,
[INFO] [stdout]    |                                          ^^^^^^^^^ help: try ignoring the field: `subscript: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/expression.rs:79:36
[INFO] [stdout]    |
[INFO] [stdout] 79 |             Expression::Function { name, arguments } => todo!(),
[INFO] [stdout]    |                                    ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arguments`
[INFO] [stdout]   --> src/expression.rs:79:42
[INFO] [stdout]    |
[INFO] [stdout] 79 |             Expression::Function { name, arguments } => todo!(),
[INFO] [stdout]    |                                          ^^^^^^^^^ help: try ignoring the field: `arguments: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `diag` is never used
[INFO] [stdout]   --> src/numerical/solve.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn diag(values: &[c64], row_pointers: &[u32], column_indices: &[u32]) -> impl Iterator<Item = c64> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 37.91s
[INFO] running `Command { std: "docker" "inspect" "8ca6db1ebe5c6f7c26be62779df031132f71f293e765014f0839c284ac2c1cea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8ca6db1ebe5c6f7c26be62779df031132f71f293e765014f0839c284ac2c1cea", kill_on_drop: false }`
[INFO] [stdout] 8ca6db1ebe5c6f7c26be62779df031132f71f293e765014f0839c284ac2c1cea
