[INFO] cloning repository https://github.com/llllishuo/menghan_Hspice_Compiler
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/llllishuo/menghan_Hspice_Compiler" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fllllishuo%2Fmenghan_Hspice_Compiler", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fllllishuo%2Fmenghan_Hspice_Compiler'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f7d6772732c1a332aeb7fbdabeac205db3276f83
[INFO] testing llllishuo/menghan_Hspice_Compiler against nightly-2025-01-18 for randomize-layout-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fllllishuo%2Fmenghan_Hspice_Compiler" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/llllishuo/menghan_Hspice_Compiler on toolchain nightly-2025-01-18
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2025-01-18" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/llllishuo/menghan_Hspice_Compiler
[INFO] finished tweaking git repo https://github.com/llllishuo/menghan_Hspice_Compiler
[INFO] tweaked toml for git repo https://github.com/llllishuo/menghan_Hspice_Compiler written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/llllishuo/menghan_Hspice_Compiler already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2025-01-18" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2062702261ff90376c8001de862dc1a9db374d5a41bd31aeb7316a57333331c7
[INFO] running `Command { std: "docker" "start" "-a" "2062702261ff90376c8001de862dc1a9db374d5a41bd31aeb7316a57333331c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2062702261ff90376c8001de862dc1a9db374d5a41bd31aeb7316a57333331c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2062702261ff90376c8001de862dc1a9db374d5a41bd31aeb7316a57333331c7", kill_on_drop: false }`
[INFO] [stdout] 2062702261ff90376c8001de862dc1a9db374d5a41bd31aeb7316a57333331c7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 34fc8000975e30f1f23d6439284bef9113e30f3670eea19e5cbde8a3c59bdae2
[INFO] running `Command { std: "docker" "start" "-a" "34fc8000975e30f1f23d6439284bef9113e30f3670eea19e5cbde8a3c59bdae2", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.67
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling utf8parse v0.2.1
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling anstyle-query v1.0.0
[INFO] [stderr]    Compiling thiserror v1.0.50
[INFO] [stderr]    Compiling anstyle v1.0.4
[INFO] [stderr]    Compiling colorchoice v1.0.0
[INFO] [stderr]    Compiling memchr v2.6.4
[INFO] [stderr]    Compiling bytes v1.5.0
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling clap_lex v0.5.1
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling anyhow v1.0.75
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]    Compiling jni-sys v0.3.0
[INFO] [stderr]    Compiling anstyle-parse v0.2.2
[INFO] [stderr]    Compiling walkdir v2.4.0
[INFO] [stderr]    Compiling cesu8 v1.1.0
[INFO] [stderr]    Compiling anstream v0.6.4
[INFO] [stderr]    Compiling clap_builder v4.4.6
[INFO] [stderr]    Compiling jni v0.19.0
[INFO] [stderr]    Compiling combine v4.6.6
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling syn v2.0.37
[INFO] [stderr]    Compiling thiserror-impl v1.0.50
[INFO] [stderr]    Compiling clap_derive v4.4.2
[INFO] [stderr]    Compiling clap v4.4.6
[INFO] [stderr]    Compiling HspiceCompiler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::hspice::device::DeviceType`
[INFO] [stdout]  --> src/common/offic/excel.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::hspice::device::DeviceType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, and `Lines`
[INFO] [stdout]  --> src/common/offic/excel.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 |     io::{BufRead, BufReader, Lines},
[INFO] [stdout]   |          ^^^^^^^  ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/hspice/analysis.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `trace`
[INFO] [stdout]  --> src/hspice/analysis.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | macro_rules! trace {
[INFO] [stdout]   |              ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Scan_type` should have an upper camel case name
[INFO] [stdout]    --> src/hspice/analysis.rs:236:10
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub enum Scan_type {
[INFO] [stdout]     |          ^^^^^^^^^ help: convert the identifier to upper camel case: `ScanType`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Tran_scan` should have an upper camel case name
[INFO] [stdout]    --> src/hspice/analysis.rs:457:12
[INFO] [stdout]     |
[INFO] [stdout] 457 | pub struct Tran_scan {
[INFO] [stdout]     |            ^^^^^^^^^ help: convert the identifier to upper camel case: `TranScan`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Probe_date` should have an upper camel case name
[INFO] [stdout]    --> src/hspice/analysis.rs:509:12
[INFO] [stdout]     |
[INFO] [stdout] 509 | pub struct Probe_date {
[INFO] [stdout]     |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `ProbeDate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Sub_circuit` should have an upper camel case name
[INFO] [stdout]   --> src/hspice/circuit.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Sub_circuit {
[INFO] [stdout]    |            ^^^^^^^^^^^ help: convert the identifier to upper camel case: `SubCircuit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Source_type` should have an upper camel case name
[INFO] [stdout]  --> src/hspice/source.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Source_type {
[INFO] [stdout]   |          ^^^^^^^^^^^ help: convert the identifier to upper camel case: `SourceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Transient_tyoe` should have an upper camel case name
[INFO] [stdout]   --> src/hspice/source.rs:41:10
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub enum Transient_tyoe {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TransientTyoe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `source::*`
[INFO] [stdout]  --> src/hspice/spice.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     source::*,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]  --> src/common/JNI/offic/excel.rs:5:49
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub unsafe extern "C" fn Java_JNI_ExcelJNI_init(env: JNIEnv, _class: JClass) {
[INFO] [stdout]   |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `circuit_path`
[INFO] [stdout]   --> src/common/offic/excel.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let circuit_path: String =
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_circuit_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cfg_path`
[INFO] [stdout]   --> src/common/offic/excel.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let cfg_path: String = String::from(output_path.clone() + "/" + spice_name + "_cfg.csv");
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cfg_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/common/offic/excel.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let Some(mut output_path_str) = file_name.to_str() else {
[INFO] [stdout]    |              ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/common/offic/excel.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut output_path = String::from(output_path_str);
[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]   --> src/common/offic/excel.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let mut sub_circuit = circuit.sub_circuits;
[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]    --> src/common/offic/excel.rs:134:36
[INFO] [stdout]     |
[INFO] [stdout] 134 | fn lines_sub_by_name(name: String, mut sub: Vec<Sub_circuit>) -> Vec<String> {
[INFO] [stdout]     |                                    ----^^^
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub_name`
[INFO] [stdout]    --> src/common/offic/excel.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |     let sub_name = String::new();
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub_nodes`
[INFO] [stdout]    --> src/common/offic/excel.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |     let sub_nodes: Vec<String> = Vec::new();
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_nodes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub_devices`
[INFO] [stdout]    --> src/common/offic/excel.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let sub_devices: Vec<device::Device> = Vec::new();
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_devices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/hspice/analysis.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let mut name = bit[2].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]    --> src/hspice/analysis.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let mut path = bit[1].to_string();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `start` is never read
[INFO] [stdout]    --> src/hspice/analysis.rs:168:17
[INFO] [stdout]     |
[INFO] [stdout] 168 |         let mut start = String::new();
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `end` is never read
[INFO] [stdout]    --> src/hspice/analysis.rs:169:17
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let mut end = String::new();
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ac_type` is never read
[INFO] [stdout]    --> src/hspice/analysis.rs:171:17
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let mut ac_type = AcType::DEC;
[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]    --> src/hspice/analysis.rs:170:13
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let mut frequency = 0;
[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]    --> src/hspice/analysis.rs:199:17
[INFO] [stdout]     |
[INFO] [stdout] 199 |             let mut date_str = bit[i].to_string();
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub_name`
[INFO] [stdout]   --> src/hspice/circuit.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let sub_name = String::new();
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub_nodes`
[INFO] [stdout]   --> src/hspice/circuit.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let sub_nodes: Vec<String> = Vec::new();
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_nodes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub_devices`
[INFO] [stdout]   --> src/hspice/circuit.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let sub_devices: Vec<Device> = Vec::new();
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_devices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `name` is never read
[INFO] [stdout]   --> src/hspice/circuit.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut name = String::new();
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `nodes` is never read
[INFO] [stdout]    --> src/hspice/device.rs:107:17
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let mut nodes: Vec<String> = Vec::new();
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `value` is never read
[INFO] [stdout]    --> src/hspice/device.rs:108:17
[INFO] [stdout]     |
[INFO] [stdout] 108 |         let mut value: String = String::new();
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `value` is never read
[INFO] [stdout]    --> src/hspice/device.rs:146:17
[INFO] [stdout]     |
[INFO] [stdout] 146 |         let mut value = String::new();
[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]    --> src/hspice/device.rs:147:13
[INFO] [stdout]     |
[INFO] [stdout] 147 |         let mut TC: Vec<f64> = Vec::new();
[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]    --> src/hspice/device.rs:148:13
[INFO] [stdout]     |
[INFO] [stdout] 148 |         let mut func = String::new();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/hspice/device.rs:219:16
[INFO] [stdout]     |
[INFO] [stdout] 219 |     pub fn new(name: String, model: String, long: String, wide: String) -> Self {
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]    --> src/hspice/device.rs:219:30
[INFO] [stdout]     |
[INFO] [stdout] 219 |     pub fn new(name: String, model: String, long: String, wide: String) -> Self {
[INFO] [stdout]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `long`
[INFO] [stdout]    --> src/hspice/device.rs:219:45
[INFO] [stdout]     |
[INFO] [stdout] 219 |     pub fn new(name: String, model: String, long: String, wide: String) -> Self {
[INFO] [stdout]     |                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_long`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wide`
[INFO] [stdout]    --> src/hspice/device.rs:219:59
[INFO] [stdout]     |
[INFO] [stdout] 219 |     pub fn new(name: String, model: String, long: String, wide: String) -> Self {
[INFO] [stdout]     |                                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_wide`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `name` is never read
[INFO] [stdout]    --> src/hspice/device.rs:264:17
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let mut name: String = String::new();
[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]   --> src/hspice/source.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let mut Low_voltage = bits[4].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]   --> src/hspice/source.rs:90:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let mut High_voltage = bits[5].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]   --> src/hspice/source.rs:91:13
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let mut Delay = bits[6].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]   --> src/hspice/source.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let mut Rise_time = bits[7].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]   --> src/hspice/source.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let mut Descending_time = bits[8].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]   --> src/hspice/source.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let mut Pulse_width = bits[9].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]   --> src/hspice/source.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let mut cycle = bits[10].to_string();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `DC`
[INFO] [stdout]    --> src/hspice/source.rs:147:54
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn new(name: String, pe: String, ne: String, DC: String, tranfun: String) -> Self {
[INFO] [stdout]     |                                                      ^^ help: if this is intentional, prefix it with an underscore: `_DC`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tranfun`
[INFO] [stdout]    --> src/hspice/source.rs:147:66
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn new(name: String, pe: String, ne: String, DC: String, tranfun: String) -> Self {
[INFO] [stdout]     |                                                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tranfun`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/hspice/source.rs:156:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |         let mut name = bits[0].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]    --> src/hspice/source.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 157 |         let mut pe = bits[1].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]    --> src/hspice/source.rs:158:13
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let mut ne = bits[2].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]    --> src/hspice/source.rs:163:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |         let mut first_two = bits[3].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]    --> src/hspice/source.rs:164:13
[INFO] [stdout]     |
[INFO] [stdout] 164 |         let mut device = match &first_two[0..2] {
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ckt_name`
[INFO] [stdout]   --> src/hspice/spice.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let ckt_name = filename
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ckt_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/hspice/spice.rs:78:29
[INFO] [stdout]    |
[INFO] [stdout] 78 |                         let mut result: Vec<&str> = i.split("\'").collect();
[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]    --> src/hspice/spice.rs:117:13
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let mut bit_iter = self.analysis_data_collation(data_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]    --> src/hspice/spice.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 120 |             let mut bits: Vec<&str> = bits.iter().map(|s| s.as_str()).collect();
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `vars` is never read
[INFO] [stdout]    --> src/hspice/analysis.rs:245:5
[INFO] [stdout]     |
[INFO] [stdout] 244 | struct DC {
[INFO] [stdout]     |        -- field in this struct
[INFO] [stdout] 245 |     vars: Vec<Var>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DC` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `var`, `scan`, `start`, `stop`, `step`, and `sweep` are never read
[INFO] [stdout]    --> src/hspice/analysis.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 256 | struct Var {
[INFO] [stdout]     |        --- fields in this struct
[INFO] [stdout] 257 |     var: String,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 258 |     scan: Scan_type,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 259 |     start: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 260 |     stop: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 261 |     // 步长
[INFO] [stdout] 262 |     step: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 263 |     sweep: Vec<String>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Var` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `from` are never used
[INFO] [stdout]    --> src/hspice/analysis.rs:266:12
[INFO] [stdout]     |
[INFO] [stdout] 265 | impl Var {
[INFO] [stdout]     | -------- associated functions in this implementation
[INFO] [stdout] 266 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn from(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/hspice/analysis.rs:325:5
[INFO] [stdout]     |
[INFO] [stdout] 323 | struct Option {
[INFO] [stdout]     |        ------ fields in this struct
[INFO] [stdout] 324 |     // 0 取消报告 1 允许报告 2 允许矩阵统计报告
[INFO] [stdout] 325 |     ACCT: NUM,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 326 |     // 简化仿真报告
[INFO] [stdout] 327 |     brief: bool,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 328 |     // 设置输出的列数
[INFO] [stdout] 329 |     CO: u32,
[INFO] [stdout]     |     ^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     ingold: NUM,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 345 |     // 产生器件数目及关键参数值的摘要
[INFO] [stdout] 346 |     list: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 347 |     // 列出跟每一个节点相连的所有器件
[INFO] [stdout] 348 |     node: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 349 |     // 不输出模型参数
[INFO] [stdout] 350 |     nomod: bool,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 356 |     probe: bool,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 363 |     parhier: PARHIER,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Option` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `path` and `name` are never read
[INFO] [stdout]    --> src/hspice/analysis.rs:385:5
[INFO] [stdout]     |
[INFO] [stdout] 384 | pub struct Lib {
[INFO] [stdout]     |            --- fields in this struct
[INFO] [stdout] 385 |     path: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 386 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Lib` 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: fields `cfg_name` and `lib_list` are never read
[INFO] [stdout]    --> src/hspice/analysis.rs:401:5
[INFO] [stdout]     |
[INFO] [stdout] 400 | struct Libs {
[INFO] [stdout]     |        ---- fields in this struct
[INFO] [stdout] 401 |     cfg_name: String,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 402 |     lib_list: Vec<Lib>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Libs` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `from` are never used
[INFO] [stdout]    --> src/hspice/analysis.rs:405:12
[INFO] [stdout]     |
[INFO] [stdout] 404 | impl Libs {
[INFO] [stdout]     | --------- associated functions in this implementation
[INFO] [stdout] 405 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 411 |     pub fn from(cfg_name: String, lib_list: Vec<Lib>) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `way` and `content` are never read
[INFO] [stdout]    --> src/hspice/analysis.rs:417:5
[INFO] [stdout]     |
[INFO] [stdout] 416 | struct Print {
[INFO] [stdout]     |        ----- fields in this struct
[INFO] [stdout] 417 |     way: String,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 418 |     content: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Print` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/hspice/analysis.rs:421:12
[INFO] [stdout]     |
[INFO] [stdout] 420 | impl Print {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] 421 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `time` and `step` are never read
[INFO] [stdout]    --> src/hspice/analysis.rs:458:5
[INFO] [stdout]     |
[INFO] [stdout] 457 | pub struct Tran_scan {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 458 |     time: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 459 |     step: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Tran_scan` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `start`, `end`, `frequency`, and `ac_type` are never read
[INFO] [stdout]    --> src/hspice/analysis.rs:479:5
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct AC {
[INFO] [stdout]     |            -- fields in this struct
[INFO] [stdout] 479 |     start: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 480 |     end: String,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 481 |     frequency: u32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 482 |     ac_type: AcType,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AC` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `date_type` and `value` are never read
[INFO] [stdout]    --> src/hspice/analysis.rs:510:5
[INFO] [stdout]     |
[INFO] [stdout] 509 | pub struct Probe_date {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 510 |     date_type: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 511 |     value: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Probe_date` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `putout` and `dates` are never read
[INFO] [stdout]    --> src/hspice/analysis.rs:515:5
[INFO] [stdout]     |
[INFO] [stdout] 514 | pub struct Probe {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 515 |     putout: PutoutType,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 516 |     dates: Vec<Probe_date>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Probe` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `value` are never read
[INFO] [stdout]    --> src/hspice/analysis.rs:535:5
[INFO] [stdout]     |
[INFO] [stdout] 534 | pub struct Param {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 535 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 536 |     value: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Param` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `HspiceCompiler` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `hspice_compiler`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `JNI` should have a snake case name
[INFO] [stdout]  --> src/common/mod.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod JNI;
[INFO] [stdout]   |         ^^^ help: convert the identifier to snake case: `jni`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/common/offic/excel.rs:50:21
[INFO] [stdout]    |
[INFO] [stdout] 50 |                     dervice_output.write_all(line.as_bytes());
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 50 |                     let _ = dervice_output.write_all(line.as_bytes());
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/common/offic/excel.rs:55:17
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 dervice_output.write_all(line.as_bytes());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 let _ = dervice_output.write_all(line.as_bytes());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `line_R` should have a snake case name
[INFO] [stdout]   --> src/common/offic/excel.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn line_R(r: device::R, node: Vec<String>, sub_name: String) -> String {
[INFO] [stdout]    |    ^^^^^^ help: convert the identifier to snake case: `line_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `line_Source` should have a snake case name
[INFO] [stdout]   --> src/common/offic/excel.rs:90:4
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn line_Source(source: source::Source, node: Vec<String>, sub_name: String) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `line_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `line_MOS` should have a snake case name
[INFO] [stdout]    --> src/common/offic/excel.rs:116:4
[INFO] [stdout]     |
[INFO] [stdout] 116 | fn line_MOS(mos: device::MOS, node: Vec<String>, sub_name: String) -> String {
[INFO] [stdout]     |    ^^^^^^^^ help: convert the identifier to snake case: `line_mos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Vars` should have a snake case name
[INFO] [stdout]    --> src/hspice/analysis.rs:251:17
[INFO] [stdout]     |
[INFO] [stdout] 251 |     pub fn from(Vars: Vec<Var>) -> Self {
[INFO] [stdout]     |                 ^^^^ help: convert the identifier to snake case (notice the capitalization): `vars`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `ACCT` should have a snake case name
[INFO] [stdout]    --> src/hspice/analysis.rs:325:5
[INFO] [stdout]     |
[INFO] [stdout] 325 |     ACCT: NUM,
[INFO] [stdout]     |     ^^^^ help: convert the identifier to snake case: `acct`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `CO` should have a snake case name
[INFO] [stdout]    --> src/hspice/analysis.rs:329:5
[INFO] [stdout]     |
[INFO] [stdout] 329 |     CO: u32,
[INFO] [stdout]     |     ^^ help: convert the identifier to snake case (notice the capitalization): `co`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_name_And_Nodes` should have a snake case name
[INFO] [stdout]   --> src/hspice/circuit.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn add_name_And_Nodes(&mut self, bits: Vec<&str>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `add_name_and_nodes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `TC` should have a snake case name
[INFO] [stdout]   --> src/hspice/device.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub TC: Vec<f32>,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `tc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `AC` should have a snake case name
[INFO] [stdout]   --> src/hspice/device.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub AC: f64,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `ac`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `M` should have a snake case name
[INFO] [stdout]   --> src/hspice/device.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub M: u32,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `CTYPE` should have a snake case name
[INFO] [stdout]   --> src/hspice/device.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub CTYPE: String,
[INFO] [stdout]    |         ^^^^^ help: convert the identifier to snake case: `ctype`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `IC` should have a snake case name
[INFO] [stdout]   --> src/hspice/device.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub IC: String,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case (notice the capitalization): `ic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `TC` should have a snake case name
[INFO] [stdout]    --> src/hspice/device.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub TC: Vec<f64>,
[INFO] [stdout]     |         ^^ help: convert the identifier to snake case: `tc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `TC` should have a snake case name
[INFO] [stdout]    --> src/hspice/device.rs:147:17
[INFO] [stdout]     |
[INFO] [stdout] 147 |         let mut TC: Vec<f64> = Vec::new();
[INFO] [stdout]     |                 ^^ help: convert the identifier to snake case: `tc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `DC` should have a snake case name
[INFO] [stdout]   --> src/hspice/source.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let DC = Self::set(split_equal_sign(bits[3]));
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `dc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Low_voltage` should have a snake case name
[INFO] [stdout]   --> src/hspice/source.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub Low_voltage: String,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `low_voltage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `High_voltage` should have a snake case name
[INFO] [stdout]   --> src/hspice/source.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub High_voltage: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `high_voltage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Delay` should have a snake case name
[INFO] [stdout]   --> src/hspice/source.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub Delay: String,
[INFO] [stdout]    |         ^^^^^ help: convert the identifier to snake case: `delay`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Rise_time` should have a snake case name
[INFO] [stdout]   --> src/hspice/source.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub Rise_time: String,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `rise_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Descending_time` should have a snake case name
[INFO] [stdout]   --> src/hspice/source.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub Descending_time: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `descending_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Pulse_width` should have a snake case name
[INFO] [stdout]   --> src/hspice/source.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub Pulse_width: String,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `pulse_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Low_voltage` should have a snake case name
[INFO] [stdout]   --> src/hspice/source.rs:89:17
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let mut Low_voltage = bits[4].to_string();
[INFO] [stdout]    |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `low_voltage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `High_voltage` should have a snake case name
[INFO] [stdout]   --> src/hspice/source.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let mut High_voltage = bits[5].to_string();
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `high_voltage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Delay` should have a snake case name
[INFO] [stdout]   --> src/hspice/source.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let mut Delay = bits[6].to_string();
[INFO] [stdout]    |                 ^^^^^ help: convert the identifier to snake case: `delay`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Rise_time` should have a snake case name
[INFO] [stdout]   --> src/hspice/source.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let mut Rise_time = bits[7].to_string();
[INFO] [stdout]    |                 ^^^^^^^^^ help: convert the identifier to snake case: `rise_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Descending_time` should have a snake case name
[INFO] [stdout]   --> src/hspice/source.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let mut Descending_time = bits[8].to_string();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `descending_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Pulse_width` should have a snake case name
[INFO] [stdout]   --> src/hspice/source.rs:94:17
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let mut Pulse_width = bits[9].to_string();
[INFO] [stdout]    |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `pulse_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `PU` should have a snake case name
[INFO] [stdout]   --> src/hspice/source.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let PU = Self::set(
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `pu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Low_voltage` should have a snake case name
[INFO] [stdout]    --> src/hspice/source.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |         Low_voltage: String,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `low_voltage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `High_voltage` should have a snake case name
[INFO] [stdout]    --> src/hspice/source.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 117 |         High_voltage: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `high_voltage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Delay` should have a snake case name
[INFO] [stdout]    --> src/hspice/source.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |         Delay: String,
[INFO] [stdout]     |         ^^^^^ help: convert the identifier to snake case: `delay`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Rise_time` should have a snake case name
[INFO] [stdout]    --> src/hspice/source.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |         Rise_time: String,
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case: `rise_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Descending_time` should have a snake case name
[INFO] [stdout]    --> src/hspice/source.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         Descending_time: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `descending_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Pulse_width` should have a snake case name
[INFO] [stdout]    --> src/hspice/source.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |         Pulse_width: String,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `pulse_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `DC` should have a snake case name
[INFO] [stdout]    --> src/hspice/source.rs:147:54
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn new(name: String, pe: String, ne: String, DC: String, tranfun: String) -> Self {
[INFO] [stdout]     |                                                      ^^ help: convert the identifier to snake case: `dc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jni::objects::*`
[INFO] [stdout]  --> src/bin/run.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use jni::objects::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jni::JNIEnv`
[INFO] [stdout]  --> src/bin/run.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use jni::JNIEnv;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/run.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let mut file = path_split[0];
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/run.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     excel::write_to_excel(reader, output_path, spice_file_name);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let _ = excel::write_to_excel(reader, output_path, spice_file_name);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.47s
[INFO] running `Command { std: "docker" "inspect" "34fc8000975e30f1f23d6439284bef9113e30f3670eea19e5cbde8a3c59bdae2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "34fc8000975e30f1f23d6439284bef9113e30f3670eea19e5cbde8a3c59bdae2", kill_on_drop: false }`
[INFO] [stdout] 34fc8000975e30f1f23d6439284bef9113e30f3670eea19e5cbde8a3c59bdae2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9f6124f7befa75912ae8a36e9288d6aaa4a657bc3f1bd2db3527f2a9d2712f47
[INFO] running `Command { std: "docker" "start" "-a" "9f6124f7befa75912ae8a36e9288d6aaa4a657bc3f1bd2db3527f2a9d2712f47", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `crate::hspice::device::DeviceType`
[INFO] [stdout]  --> src/common/offic/excel.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::hspice::device::DeviceType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, and `Lines`
[INFO] [stdout]  --> src/common/offic/excel.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 |     io::{BufRead, BufReader, Lines},
[INFO] [stdout]   |          ^^^^^^^  ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/hspice/analysis.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `trace`
[INFO] [stdout]  --> src/hspice/analysis.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | macro_rules! trace {
[INFO] [stdout]   |              ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Scan_type` should have an upper camel case name
[INFO] [stdout]    --> src/hspice/analysis.rs:236:10
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub enum Scan_type {
[INFO] [stdout]     |          ^^^^^^^^^ help: convert the identifier to upper camel case: `ScanType`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Tran_scan` should have an upper camel case name
[INFO] [stdout]    --> src/hspice/analysis.rs:457:12
[INFO] [stdout]     |
[INFO] [stdout] 457 | pub struct Tran_scan {
[INFO] [stdout]     |            ^^^^^^^^^ help: convert the identifier to upper camel case: `TranScan`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Probe_date` should have an upper camel case name
[INFO] [stdout]    --> src/hspice/analysis.rs:509:12
[INFO] [stdout]     |
[INFO] [stdout] 509 | pub struct Probe_date {
[INFO] [stdout]     |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `ProbeDate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Sub_circuit` should have an upper camel case name
[INFO] [stdout]   --> src/hspice/circuit.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Sub_circuit {
[INFO] [stdout]    |            ^^^^^^^^^^^ help: convert the identifier to upper camel case: `SubCircuit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Source_type` should have an upper camel case name
[INFO] [stdout]  --> src/hspice/source.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Source_type {
[INFO] [stdout]   |          ^^^^^^^^^^^ help: convert the identifier to upper camel case: `SourceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Transient_tyoe` should have an upper camel case name
[INFO] [stdout]   --> src/hspice/source.rs:41:10
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub enum Transient_tyoe {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TransientTyoe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `source::*`
[INFO] [stdout]  --> src/hspice/spice.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     source::*,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]  --> src/common/JNI/offic/excel.rs:5:49
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub unsafe extern "C" fn Java_JNI_ExcelJNI_init(env: JNIEnv, _class: JClass) {
[INFO] [stdout]   |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `circuit_path`
[INFO] [stdout]   --> src/common/offic/excel.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let circuit_path: String =
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_circuit_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cfg_path`
[INFO] [stdout]   --> src/common/offic/excel.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let cfg_path: String = String::from(output_path.clone() + "/" + spice_name + "_cfg.csv");
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cfg_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/common/offic/excel.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let Some(mut output_path_str) = file_name.to_str() else {
[INFO] [stdout]    |              ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/common/offic/excel.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut output_path = String::from(output_path_str);
[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]   --> src/common/offic/excel.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let mut sub_circuit = circuit.sub_circuits;
[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]    --> src/common/offic/excel.rs:134:36
[INFO] [stdout]     |
[INFO] [stdout] 134 | fn lines_sub_by_name(name: String, mut sub: Vec<Sub_circuit>) -> Vec<String> {
[INFO] [stdout]     |                                    ----^^^
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub_name`
[INFO] [stdout]    --> src/common/offic/excel.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |     let sub_name = String::new();
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub_nodes`
[INFO] [stdout]    --> src/common/offic/excel.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |     let sub_nodes: Vec<String> = Vec::new();
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_nodes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub_devices`
[INFO] [stdout]    --> src/common/offic/excel.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let sub_devices: Vec<device::Device> = Vec::new();
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_devices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/hspice/analysis.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let mut name = bit[2].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]    --> src/hspice/analysis.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let mut path = bit[1].to_string();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `start` is never read
[INFO] [stdout]    --> src/hspice/analysis.rs:168:17
[INFO] [stdout]     |
[INFO] [stdout] 168 |         let mut start = String::new();
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `end` is never read
[INFO] [stdout]    --> src/hspice/analysis.rs:169:17
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let mut end = String::new();
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ac_type` is never read
[INFO] [stdout]    --> src/hspice/analysis.rs:171:17
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let mut ac_type = AcType::DEC;
[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]    --> src/hspice/analysis.rs:170:13
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let mut frequency = 0;
[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]    --> src/hspice/analysis.rs:199:17
[INFO] [stdout]     |
[INFO] [stdout] 199 |             let mut date_str = bit[i].to_string();
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub_name`
[INFO] [stdout]   --> src/hspice/circuit.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let sub_name = String::new();
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub_nodes`
[INFO] [stdout]   --> src/hspice/circuit.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let sub_nodes: Vec<String> = Vec::new();
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_nodes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub_devices`
[INFO] [stdout]   --> src/hspice/circuit.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let sub_devices: Vec<Device> = Vec::new();
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_devices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `name` is never read
[INFO] [stdout]   --> src/hspice/circuit.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut name = String::new();
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `nodes` is never read
[INFO] [stdout]    --> src/hspice/device.rs:107:17
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let mut nodes: Vec<String> = Vec::new();
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `value` is never read
[INFO] [stdout]    --> src/hspice/device.rs:108:17
[INFO] [stdout]     |
[INFO] [stdout] 108 |         let mut value: String = String::new();
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `value` is never read
[INFO] [stdout]    --> src/hspice/device.rs:146:17
[INFO] [stdout]     |
[INFO] [stdout] 146 |         let mut value = String::new();
[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]    --> src/hspice/device.rs:147:13
[INFO] [stdout]     |
[INFO] [stdout] 147 |         let mut TC: Vec<f64> = Vec::new();
[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]    --> src/hspice/device.rs:148:13
[INFO] [stdout]     |
[INFO] [stdout] 148 |         let mut func = String::new();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/hspice/device.rs:219:16
[INFO] [stdout]     |
[INFO] [stdout] 219 |     pub fn new(name: String, model: String, long: String, wide: String) -> Self {
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]    --> src/hspice/device.rs:219:30
[INFO] [stdout]     |
[INFO] [stdout] 219 |     pub fn new(name: String, model: String, long: String, wide: String) -> Self {
[INFO] [stdout]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `long`
[INFO] [stdout]    --> src/hspice/device.rs:219:45
[INFO] [stdout]     |
[INFO] [stdout] 219 |     pub fn new(name: String, model: String, long: String, wide: String) -> Self {
[INFO] [stdout]     |                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_long`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wide`
[INFO] [stdout]    --> src/hspice/device.rs:219:59
[INFO] [stdout]     |
[INFO] [stdout] 219 |     pub fn new(name: String, model: String, long: String, wide: String) -> Self {
[INFO] [stdout]     |                                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_wide`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `name` is never read
[INFO] [stdout]    --> src/hspice/device.rs:264:17
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let mut name: String = String::new();
[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]   --> src/hspice/source.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let mut Low_voltage = bits[4].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]   --> src/hspice/source.rs:90:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let mut High_voltage = bits[5].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]   --> src/hspice/source.rs:91:13
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let mut Delay = bits[6].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]   --> src/hspice/source.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let mut Rise_time = bits[7].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]   --> src/hspice/source.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let mut Descending_time = bits[8].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]   --> src/hspice/source.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let mut Pulse_width = bits[9].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]   --> src/hspice/source.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let mut cycle = bits[10].to_string();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `DC`
[INFO] [stdout]    --> src/hspice/source.rs:147:54
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn new(name: String, pe: String, ne: String, DC: String, tranfun: String) -> Self {
[INFO] [stdout]     |                                                      ^^ help: if this is intentional, prefix it with an underscore: `_DC`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tranfun`
[INFO] [stdout]    --> src/hspice/source.rs:147:66
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn new(name: String, pe: String, ne: String, DC: String, tranfun: String) -> Self {
[INFO] [stdout]     |                                                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tranfun`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/hspice/source.rs:156:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |         let mut name = bits[0].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]    --> src/hspice/source.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 157 |         let mut pe = bits[1].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]    --> src/hspice/source.rs:158:13
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let mut ne = bits[2].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]    --> src/hspice/source.rs:163:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |         let mut first_two = bits[3].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]    --> src/hspice/source.rs:164:13
[INFO] [stdout]     |
[INFO] [stdout] 164 |         let mut device = match &first_two[0..2] {
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ckt_name`
[INFO] [stdout]   --> src/hspice/spice.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let ckt_name = filename
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ckt_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/hspice/spice.rs:78:29
[INFO] [stdout]    |
[INFO] [stdout] 78 |                         let mut result: Vec<&str> = i.split("\'").collect();
[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]    --> src/hspice/spice.rs:117:13
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let mut bit_iter = self.analysis_data_collation(data_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]    --> src/hspice/spice.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 120 |             let mut bits: Vec<&str> = bits.iter().map(|s| s.as_str()).collect();
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `vars` is never read
[INFO] [stdout]    --> src/hspice/analysis.rs:245:5
[INFO] [stdout]     |
[INFO] [stdout] 244 | struct DC {
[INFO] [stdout]     |        -- field in this struct
[INFO] [stdout] 245 |     vars: Vec<Var>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DC` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `var`, `scan`, `start`, `stop`, `step`, and `sweep` are never read
[INFO] [stdout]    --> src/hspice/analysis.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 256 | struct Var {
[INFO] [stdout]     |        --- fields in this struct
[INFO] [stdout] 257 |     var: String,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 258 |     scan: Scan_type,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 259 |     start: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 260 |     stop: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 261 |     // 步长
[INFO] [stdout] 262 |     step: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 263 |     sweep: Vec<String>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Var` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `from` are never used
[INFO] [stdout]    --> src/hspice/analysis.rs:266:12
[INFO] [stdout]     |
[INFO] [stdout] 265 | impl Var {
[INFO] [stdout]     | -------- associated functions in this implementation
[INFO] [stdout] 266 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn from(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/hspice/analysis.rs:325:5
[INFO] [stdout]     |
[INFO] [stdout] 323 | struct Option {
[INFO] [stdout]     |        ------ fields in this struct
[INFO] [stdout] 324 |     // 0 取消报告 1 允许报告 2 允许矩阵统计报告
[INFO] [stdout] 325 |     ACCT: NUM,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 326 |     // 简化仿真报告
[INFO] [stdout] 327 |     brief: bool,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 328 |     // 设置输出的列数
[INFO] [stdout] 329 |     CO: u32,
[INFO] [stdout]     |     ^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     ingold: NUM,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 345 |     // 产生器件数目及关键参数值的摘要
[INFO] [stdout] 346 |     list: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 347 |     // 列出跟每一个节点相连的所有器件
[INFO] [stdout] 348 |     node: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 349 |     // 不输出模型参数
[INFO] [stdout] 350 |     nomod: bool,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 356 |     probe: bool,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 363 |     parhier: PARHIER,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Option` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `path` and `name` are never read
[INFO] [stdout]    --> src/hspice/analysis.rs:385:5
[INFO] [stdout]     |
[INFO] [stdout] 384 | pub struct Lib {
[INFO] [stdout]     |            --- fields in this struct
[INFO] [stdout] 385 |     path: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 386 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Lib` 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: fields `cfg_name` and `lib_list` are never read
[INFO] [stdout]    --> src/hspice/analysis.rs:401:5
[INFO] [stdout]     |
[INFO] [stdout] 400 | struct Libs {
[INFO] [stdout]     |        ---- fields in this struct
[INFO] [stdout] 401 |     cfg_name: String,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 402 |     lib_list: Vec<Lib>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Libs` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `from` are never used
[INFO] [stdout]    --> src/hspice/analysis.rs:405:12
[INFO] [stdout]     |
[INFO] [stdout] 404 | impl Libs {
[INFO] [stdout]     | --------- associated functions in this implementation
[INFO] [stdout] 405 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 411 |     pub fn from(cfg_name: String, lib_list: Vec<Lib>) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `way` and `content` are never read
[INFO] [stdout]    --> src/hspice/analysis.rs:417:5
[INFO] [stdout]     |
[INFO] [stdout] 416 | struct Print {
[INFO] [stdout]     |        ----- fields in this struct
[INFO] [stdout] 417 |     way: String,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 418 |     content: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Print` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/hspice/analysis.rs:421:12
[INFO] [stdout]     |
[INFO] [stdout] 420 | impl Print {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] 421 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `time` and `step` are never read
[INFO] [stdout]    --> src/hspice/analysis.rs:458:5
[INFO] [stdout]     |
[INFO] [stdout] 457 | pub struct Tran_scan {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 458 |     time: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 459 |     step: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Tran_scan` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `start`, `end`, `frequency`, and `ac_type` are never read
[INFO] [stdout]    --> src/hspice/analysis.rs:479:5
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct AC {
[INFO] [stdout]     |            -- fields in this struct
[INFO] [stdout] 479 |     start: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 480 |     end: String,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 481 |     frequency: u32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 482 |     ac_type: AcType,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AC` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `date_type` and `value` are never read
[INFO] [stdout]    --> src/hspice/analysis.rs:510:5
[INFO] [stdout]     |
[INFO] [stdout] 509 | pub struct Probe_date {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 510 |     date_type: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 511 |     value: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Probe_date` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `putout` and `dates` are never read
[INFO] [stdout]    --> src/hspice/analysis.rs:515:5
[INFO] [stdout]     |
[INFO] [stdout] 514 | pub struct Probe {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 515 |     putout: PutoutType,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 516 |     dates: Vec<Probe_date>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Probe` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `value` are never read
[INFO] [stdout]    --> src/hspice/analysis.rs:535:5
[INFO] [stdout]     |
[INFO] [stdout] 534 | pub struct Param {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 535 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 536 |     value: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Param` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `HspiceCompiler` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `hspice_compiler`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `JNI` should have a snake case name
[INFO] [stdout]  --> src/common/mod.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod JNI;
[INFO] [stdout]   |         ^^^ help: convert the identifier to snake case: `jni`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/common/offic/excel.rs:50:21
[INFO] [stdout]    |
[INFO] [stdout] 50 |                     dervice_output.write_all(line.as_bytes());
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 50 |                     let _ = dervice_output.write_all(line.as_bytes());
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/common/offic/excel.rs:55:17
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 dervice_output.write_all(line.as_bytes());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 let _ = dervice_output.write_all(line.as_bytes());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `line_R` should have a snake case name
[INFO] [stdout]   --> src/common/offic/excel.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn line_R(r: device::R, node: Vec<String>, sub_name: String) -> String {
[INFO] [stdout]    |    ^^^^^^ help: convert the identifier to snake case: `line_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `line_Source` should have a snake case name
[INFO] [stdout]   --> src/common/offic/excel.rs:90:4
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn line_Source(source: source::Source, node: Vec<String>, sub_name: String) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `line_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `line_MOS` should have a snake case name
[INFO] [stdout]    --> src/common/offic/excel.rs:116:4
[INFO] [stdout]     |
[INFO] [stdout] 116 | fn line_MOS(mos: device::MOS, node: Vec<String>, sub_name: String) -> String {
[INFO] [stdout]     |    ^^^^^^^^ help: convert the identifier to snake case: `line_mos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Vars` should have a snake case name
[INFO] [stdout]    --> src/hspice/analysis.rs:251:17
[INFO] [stdout]     |
[INFO] [stdout] 251 |     pub fn from(Vars: Vec<Var>) -> Self {
[INFO] [stdout]     |                 ^^^^ help: convert the identifier to snake case (notice the capitalization): `vars`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `ACCT` should have a snake case name
[INFO] [stdout]    --> src/hspice/analysis.rs:325:5
[INFO] [stdout]     |
[INFO] [stdout] 325 |     ACCT: NUM,
[INFO] [stdout]     |     ^^^^ help: convert the identifier to snake case: `acct`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `CO` should have a snake case name
[INFO] [stdout]    --> src/hspice/analysis.rs:329:5
[INFO] [stdout]     |
[INFO] [stdout] 329 |     CO: u32,
[INFO] [stdout]     |     ^^ help: convert the identifier to snake case (notice the capitalization): `co`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_name_And_Nodes` should have a snake case name
[INFO] [stdout]   --> src/hspice/circuit.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn add_name_And_Nodes(&mut self, bits: Vec<&str>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `add_name_and_nodes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `TC` should have a snake case name
[INFO] [stdout]   --> src/hspice/device.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub TC: Vec<f32>,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `tc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `AC` should have a snake case name
[INFO] [stdout]   --> src/hspice/device.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub AC: f64,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `ac`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `M` should have a snake case name
[INFO] [stdout]   --> src/hspice/device.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub M: u32,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `CTYPE` should have a snake case name
[INFO] [stdout]   --> src/hspice/device.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub CTYPE: String,
[INFO] [stdout]    |         ^^^^^ help: convert the identifier to snake case: `ctype`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `IC` should have a snake case name
[INFO] [stdout]   --> src/hspice/device.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub IC: String,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case (notice the capitalization): `ic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `TC` should have a snake case name
[INFO] [stdout]    --> src/hspice/device.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub TC: Vec<f64>,
[INFO] [stdout]     |         ^^ help: convert the identifier to snake case: `tc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `TC` should have a snake case name
[INFO] [stdout]    --> src/hspice/device.rs:147:17
[INFO] [stdout]     |
[INFO] [stdout] 147 |         let mut TC: Vec<f64> = Vec::new();
[INFO] [stdout]     |                 ^^ help: convert the identifier to snake case: `tc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `DC` should have a snake case name
[INFO] [stdout]   --> src/hspice/source.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let DC = Self::set(split_equal_sign(bits[3]));
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `dc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Low_voltage` should have a snake case name
[INFO] [stdout]   --> src/hspice/source.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub Low_voltage: String,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `low_voltage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `High_voltage` should have a snake case name
[INFO] [stdout]   --> src/hspice/source.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub High_voltage: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `high_voltage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Delay` should have a snake case name
[INFO] [stdout]   --> src/hspice/source.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub Delay: String,
[INFO] [stdout]    |         ^^^^^ help: convert the identifier to snake case: `delay`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Rise_time` should have a snake case name
[INFO] [stdout]   --> src/hspice/source.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub Rise_time: String,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `rise_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Descending_time` should have a snake case name
[INFO] [stdout]   --> src/hspice/source.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub Descending_time: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `descending_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Pulse_width` should have a snake case name
[INFO] [stdout]   --> src/hspice/source.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub Pulse_width: String,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `pulse_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Low_voltage` should have a snake case name
[INFO] [stdout]   --> src/hspice/source.rs:89:17
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let mut Low_voltage = bits[4].to_string();
[INFO] [stdout]    |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `low_voltage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `High_voltage` should have a snake case name
[INFO] [stdout]   --> src/hspice/source.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let mut High_voltage = bits[5].to_string();
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `high_voltage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Delay` should have a snake case name
[INFO] [stdout]   --> src/hspice/source.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let mut Delay = bits[6].to_string();
[INFO] [stdout]    |                 ^^^^^ help: convert the identifier to snake case: `delay`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Rise_time` should have a snake case name
[INFO] [stdout]   --> src/hspice/source.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let mut Rise_time = bits[7].to_string();
[INFO] [stdout]    |                 ^^^^^^^^^ help: convert the identifier to snake case: `rise_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling HspiceCompiler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable `Descending_time` should have a snake case name
[INFO] [stdout]   --> src/hspice/source.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let mut Descending_time = bits[8].to_string();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `descending_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Pulse_width` should have a snake case name
[INFO] [stdout]   --> src/hspice/source.rs:94:17
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let mut Pulse_width = bits[9].to_string();
[INFO] [stdout]    |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `pulse_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `PU` should have a snake case name
[INFO] [stdout]   --> src/hspice/source.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let PU = Self::set(
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `pu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Low_voltage` should have a snake case name
[INFO] [stdout]    --> src/hspice/source.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |         Low_voltage: String,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `low_voltage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `High_voltage` should have a snake case name
[INFO] [stdout]    --> src/hspice/source.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 117 |         High_voltage: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `high_voltage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Delay` should have a snake case name
[INFO] [stdout]    --> src/hspice/source.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |         Delay: String,
[INFO] [stdout]     |         ^^^^^ help: convert the identifier to snake case: `delay`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Rise_time` should have a snake case name
[INFO] [stdout]    --> src/hspice/source.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |         Rise_time: String,
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case: `rise_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Descending_time` should have a snake case name
[INFO] [stdout]    --> src/hspice/source.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         Descending_time: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `descending_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Pulse_width` should have a snake case name
[INFO] [stdout]    --> src/hspice/source.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |         Pulse_width: String,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `pulse_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `DC` should have a snake case name
[INFO] [stdout]    --> src/hspice/source.rs:147:54
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn new(name: String, pe: String, ne: String, DC: String, tranfun: String) -> Self {
[INFO] [stdout]     |                                                      ^^ help: convert the identifier to snake case: `dc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jni::objects::*`
[INFO] [stdout]  --> src/bin/run.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use jni::objects::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jni::JNIEnv`
[INFO] [stdout]  --> src/bin/run.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use jni::JNIEnv;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/run.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let mut file = path_split[0];
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/run.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     excel::write_to_excel(reader, output_path, spice_file_name);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let _ = excel::write_to_excel(reader, output_path, spice_file_name);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jni::objects::*`
[INFO] [stdout]  --> src/bin/run.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use jni::objects::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jni::JNIEnv`
[INFO] [stdout]  --> src/bin/run.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use jni::JNIEnv;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::hspice::device::DeviceType`
[INFO] [stdout]  --> src/common/offic/excel.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::hspice::device::DeviceType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, and `Lines`
[INFO] [stdout]  --> src/common/offic/excel.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 |     io::{BufRead, BufReader, Lines},
[INFO] [stdout]   |          ^^^^^^^  ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/hspice/analysis.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `trace`
[INFO] [stdout]  --> src/hspice/analysis.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | macro_rules! trace {
[INFO] [stdout]   |              ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Scan_type` should have an upper camel case name
[INFO] [stdout]    --> src/hspice/analysis.rs:236:10
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub enum Scan_type {
[INFO] [stdout]     |          ^^^^^^^^^ help: convert the identifier to upper camel case: `ScanType`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Tran_scan` should have an upper camel case name
[INFO] [stdout]    --> src/hspice/analysis.rs:457:12
[INFO] [stdout]     |
[INFO] [stdout] 457 | pub struct Tran_scan {
[INFO] [stdout]     |            ^^^^^^^^^ help: convert the identifier to upper camel case: `TranScan`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Probe_date` should have an upper camel case name
[INFO] [stdout]    --> src/hspice/analysis.rs:509:12
[INFO] [stdout]     |
[INFO] [stdout] 509 | pub struct Probe_date {
[INFO] [stdout]     |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `ProbeDate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Sub_circuit` should have an upper camel case name
[INFO] [stdout]   --> src/hspice/circuit.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Sub_circuit {
[INFO] [stdout]    |            ^^^^^^^^^^^ help: convert the identifier to upper camel case: `SubCircuit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Source_type` should have an upper camel case name
[INFO] [stdout]  --> src/hspice/source.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Source_type {
[INFO] [stdout]   |          ^^^^^^^^^^^ help: convert the identifier to upper camel case: `SourceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Transient_tyoe` should have an upper camel case name
[INFO] [stdout]   --> src/hspice/source.rs:41:10
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub enum Transient_tyoe {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TransientTyoe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `source::*`
[INFO] [stdout]  --> src/hspice/spice.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     source::*,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/run.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let mut file = path_split[0];
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/run.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     excel::write_to_excel(reader, output_path, spice_file_name);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let _ = excel::write_to_excel(reader, output_path, spice_file_name);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] rustc-LLVM ERROR: IO failure on output stream: No space left on device
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note: LC_ALL="C" PATH="/opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/opt/rustwide/cargo-home/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" VSLANG="1033" "cc" "-m64" "/tmp/rustcNIHSnf/symbols.o" "<2 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libtest-56d991603ff5adf3.rlib,libgetopts-0374f2ffd4fc2ee9.rlib,libunicode_width-3710af304f7a6204.rlib,librustc_std_workspace_std-b58fe15d3ae9c93b.rlib}" "/opt/rustwide/target/debug/deps/{libHspiceCompiler.rlib,libjni-0ab0614d1e2d33f9.rlib,libcesu8-a5d16749e03fc3cd.rlib,liblog-062448fef1760a61.rlib,libcombine-4673d0962ad440e8.rlib,libmemchr-7fdbb30fa2b61761.rlib,libbytes-3ad72df070df6f8e.rlib,libthiserror-f9fd16f0db3373f1.rlib,libjni_sys-10dbf9e079eca315.rlib}" "/opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-006123e2ce67e99d.rlib,libpanic_unwind-e1447e1efa6f1e57.rlib,libobject-f6963a4916fcf097.rlib,libmemchr-49a2d9af912f4524.rlib,libaddr2line-04d19aad3936869d.rlib,libgimli-483c235edb789db0.rlib,librustc_demangle-294281af50b8f748.rlib,libstd_detect-3b08295250aabc2a.rlib,libhashbrown-4472d1e05ba0dfaf.rlib,librustc_std_workspace_alloc-2ef099fac590e457.rlib,libminiz_oxide-8a51f5e848546c29.rlib,libadler2-3d3fa22b868db521.rlib,libunwind-0ffda8b08e22dbea.rlib,libcfg_if-b08f62458fdd43b9.rlib,liblibc-559675126e63b890.rlib,liballoc-fcf21c8d1c9c7b75.rlib,librustc_std_workspace_core-e0b0460135bcf21d.rlib,libcore-d4097fdcbddd3bc7.rlib,libcompiler_builtins-fea484ac1eed7881.rlib}" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-B/opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/test_dervice-a47119814b685157" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
[INFO] [stdout]   = note: some arguments are omitted. use `--verbose` to show all linker arguments
[INFO] [stdout]   = note: PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
[INFO] [stdout]           Stack dump:
[INFO] [stdout]           0.    Program arguments: /opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/rust-lld -flavor gnu -plugin /usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/cc1dSC3I.res --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o /opt/rustwide/target/debug/deps/test_dervice-a47119814b685157 /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib -L/opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/11/../../.. /tmp/rustcNIHSnf/symbols.o /opt/rustwide/target/debug/deps/test_dervice-a47119814b685157.test_dervice.70794b5437701ecf-cgu.0.rcgu.o /opt/rustwide/target/debug/deps/test_dervice-a47119814b685157.1er621lq6pxsq350bg1azs7sg.rcgu.o --as-needed -Bstatic /opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-56d991603ff5adf3.rlib /opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-0374f2ffd4fc2ee9.rlib /opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-3710af304f7a6204.rlib /opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_std-b58fe15d3ae9c93b.rlib /opt/rustwide/target/debug/deps/libHspiceCompiler.rlib /opt/rustwide/target/debug/deps/libjni-0ab0614d1e2d33f9.rlib /opt/rustwide/target/debug/deps/libcesu8-a5d16749e03fc3cd.rlib /opt/rustwide/target/debug/deps/liblog-062448fef1760a61.rlib /opt/rustwide/target/debug/deps/libcombine-4673d0962ad440e8.rlib /opt/rustwide/target/debug/deps/libmemchr-7fdbb30fa2b61761.rlib /opt/rustwide/target/debug/deps/libbytes-3ad72df070df6f8e.rlib /opt/rustwide/target/debug/deps/libthiserror-f9fd16f0db3373f1.rlib /opt/rustwide/target/debug/deps/libjni_sys-10dbf9e079eca315.rlib /opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-006123e2ce67e99d.rlib /opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-e1447e1efa6f1e57.rlib /opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-f6963a4916fcf097.rlib /opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-49a2d9af912f4524.rlib /opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-04d19aad3936869d.rlib /opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-483c235edb789db0.rlib /opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-294281af50b8f748.rlib /opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-3b08295250aabc2a.rlib /opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-4472d1e05ba0dfaf.rlib /opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-2ef099fac590e457.rlib /opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-8a51f5e848546c29.rlib /opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler2-3d3fa22b868db521.rlib /opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-0ffda8b08e22dbea.rlib /opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-b08f62458fdd43b9.rlib /opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-559675126e63b890.rlib /opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-fcf21c8d1c9c7b75.rlib /opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-e0b0460135bcf21d.rlib /opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-d4097fdcbddd3bc7.rlib /opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-fea484ac1eed7881.rlib -Bdynamic -lgcc_s -lutil -lrt -lpthread -lm -ldl -lc --eh-frame-hdr -z noexecstack --gc-sections -z relro -z now /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o
[INFO] [stdout]           LLVM ERROR: IO failure on output stream: No space left on device
[INFO] [stdout]           collect2: error: ld returned 1 exit status
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `HspiceCompiler` (bin "run" test); 4 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/bin/rustc --crate-name run --edition=2021 src/bin/run.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 --test --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=1079191f534e8e15 -C extra-filename=-0dc6e75906d8025f --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern HspiceCompiler=/opt/rustwide/target/debug/deps/libHspiceCompiler.rlib --extern anyhow=/opt/rustwide/target/debug/deps/libanyhow-580fe8eb48cf1861.rlib --extern clap=/opt/rustwide/target/debug/deps/libclap-229641c1d18b9cb1.rlib --extern jni=/opt/rustwide/target/debug/deps/libjni-0ab0614d1e2d33f9.rlib --cap-lints=forbid` (exit status: 101)
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `HspiceCompiler` (test "test_dervice") due to 1 previous error
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]  --> src/common/JNI/offic/excel.rs:5:49
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub unsafe extern "C" fn Java_JNI_ExcelJNI_init(env: JNIEnv, _class: JClass) {
[INFO] [stdout]   |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `circuit_path`
[INFO] [stdout]   --> src/common/offic/excel.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let circuit_path: String =
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_circuit_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cfg_path`
[INFO] [stdout]   --> src/common/offic/excel.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let cfg_path: String = String::from(output_path.clone() + "/" + spice_name + "_cfg.csv");
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cfg_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/common/offic/excel.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let Some(mut output_path_str) = file_name.to_str() else {
[INFO] [stdout]    |              ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/common/offic/excel.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut output_path = String::from(output_path_str);
[INFO] [stdout]    |         ----^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `HspiceCompiler` (lib test); 16 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   No space left on device (os error 28)
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   failed to parse process output: `/opt/rustwide/rustup-home/toolchains/nightly-2025-01-18-x86_64-unknown-linux-gnu/bin/rustc --crate-name HspiceCompiler --edition=2021 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 --test --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=863024f3d522740c -C extra-filename=-14fcddcc9b0bcf13 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern anyhow=/opt/rustwide/target/debug/deps/libanyhow-580fe8eb48cf1861.rlib --extern clap=/opt/rustwide/target/debug/deps/libclap-229641c1d18b9cb1.rlib --extern jni=/opt/rustwide/target/debug/deps/libjni-0ab0614d1e2d33f9.rlib --cap-lints=forbid` (exit status: 1)
[INFO] running `Command { std: "docker" "inspect" "9f6124f7befa75912ae8a36e9288d6aaa4a657bc3f1bd2db3527f2a9d2712f47", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9f6124f7befa75912ae8a36e9288d6aaa4a657bc3f1bd2db3527f2a9d2712f47", kill_on_drop: false }`
[INFO] [stdout] 9f6124f7befa75912ae8a36e9288d6aaa4a657bc3f1bd2db3527f2a9d2712f47
