[INFO] cloning repository https://github.com/donjne/kiln
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/donjne/kiln" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdonjne%2Fkiln", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdonjne%2Fkiln'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3394843cd38f1bf45b33585c6272e9d20597c1f3
[INFO] testing donjne/kiln against master#733b47ea4b1b86216f14ef56e49440c33933f230+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdonjne%2Fkiln" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/donjne/kiln
[INFO] finished tweaking git repo https://github.com/donjne/kiln
[INFO] tweaked toml for git repo https://github.com/donjne/kiln written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/donjne/kiln on toolchain 733b47ea4b1b86216f14ef56e49440c33933f230
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/donjne/kiln 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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 55a6342dec63b48bb4b70b7155a6d1ffc157d0c626777a31459ac1b80b5370b0
[INFO] running `Command { std: "docker" "start" "-a" "55a6342dec63b48bb4b70b7155a6d1ffc157d0c626777a31459ac1b80b5370b0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "55a6342dec63b48bb4b70b7155a6d1ffc157d0c626777a31459ac1b80b5370b0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "55a6342dec63b48bb4b70b7155a6d1ffc157d0c626777a31459ac1b80b5370b0", kill_on_drop: false }`
[INFO] [stdout] 55a6342dec63b48bb4b70b7155a6d1ffc157d0c626777a31459ac1b80b5370b0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e18db9a2c1abc7907297acb8922e632ef6adbc1017a6e0ca03ccfff0e19e4ee0
[INFO] running `Command { std: "docker" "start" "-a" "e18db9a2c1abc7907297acb8922e632ef6adbc1017a6e0ca03ccfff0e19e4ee0", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]    Compiling serde_json v1.0.142
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling clap_builder v4.5.42
[INFO] [stderr]    Compiling clap_derive v4.5.41
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling clap v4.5.42
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling kiln v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/generation/testbench_generator.rs:851:28
[INFO] [stdout]     |
[INFO] [stdout] 851 |        let mut rng = rand::thread_rng();
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_bool`: Renamed to `random_bool`
[INFO] [stdout]    --> src/generation/testbench_generator.rs:177:33
[INFO] [stdout]     |
[INFO] [stdout] 177 |                 inputs.push(rng.gen_bool(0.5));
[INFO] [stdout]     |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_bool`: Renamed to `random_bool`
[INFO] [stdout]    --> src/generation/testbench_generator.rs:858:32
[INFO] [stdout]     |
[INFO] [stdout] 858 |                inputs.push(rng.gen_bool(0.5));
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `variable`
[INFO] [stdout]    --> src/evaluation/errors.rs:113:54
[INFO] [stdout]     |
[INFO] [stdout] 113 |             EvaluationErrorKind::UndefinedVariable { variable, available_variables } => {
[INFO] [stdout]     |                                                      ^^^^^^^^ help: try ignoring the field: `variable: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_supported`
[INFO] [stdout]    --> src/minimization/errors.rs:267:71
[INFO] [stdout]     |
[INFO] [stdout] 267 |             MinimizationErrorKind::TooManyVariables { variable_count, max_supported, algorithm } => {
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^ help: try ignoring the field: `max_supported: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `minterm`
[INFO] [stdout]    --> src/minimization/quine_mccluskey.rs:172:28
[INFO] [stdout]     |
[INFO] [stdout] 172 |         for (minterm_idx, &minterm) in self.minterms.iter().enumerate() {
[INFO] [stdout]     |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_minterm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/generation/verilog_generator.rs:194:14
[INFO] [stdout]     |
[INFO] [stdout] 194 |         for (i, row) in truth_table.rows.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wire_counter`
[INFO] [stdout]    --> src/generation/verilog_generator.rs:273:13
[INFO] [stdout]     |
[INFO] [stdout] 273 |         let wire_counter = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wire_counter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/generation/verilog_generator.rs:401:14
[INFO] [stdout]     |
[INFO] [stdout] 401 |         for (i, var) in truth_table.variables.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `succ_node`
[INFO] [stdout]    --> src/generation/timing_analysis.rs:322:21
[INFO] [stdout]     |
[INFO] [stdout] 322 |                 let succ_node = &graph.nodes[&succ_id];
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_succ_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arrival_times`
[INFO] [stdout]    --> src/generation/timing_analysis.rs:401:61
[INFO] [stdout]     |
[INFO] [stdout] 401 | ... graph: &TimingGraph, arrival_times: &HashMap<NodeId, f64>) -> GenerationResult<HashMap<NodeId, f64>> {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arrival_times`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]    --> src/generation/timing_analysis.rs:574:93
[INFO] [stdout]     |
[INFO] [stdout] 574 |     fn find_longest_paths(&self, graph: &TimingGraph, arrival_times: &HashMap<NodeId, f64>, count: usize) -> Vec<TimingPath> {
[INFO] [stdout]     |                                                                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph`
[INFO] [stdout]    --> src/generation/timing_analysis.rs:737:57
[INFO] [stdout]     |
[INFO] [stdout] 737 |     pub fn suggest_optimizations(report: &TimingReport, graph: &TimingGraph) -> Vec<OptimizationSuggestion> {
[INFO] [stdout]     |                                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `expect_token` is never used
[INFO] [stdout]   --> src/parsing/parser.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl Parser {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 77 |     fn expect_token(&mut self, expected: &[&str]) -> ParseResult<Token> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calculate_arrival_time_recursive` is never used
[INFO] [stdout]    --> src/generation/timing_analysis.rs:355:8
[INFO] [stdout]     |
[INFO] [stdout] 34  | impl TimingAnalyzer {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 355 |     fn calculate_arrival_time_recursive(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/generation/testbench_generator.rs:851:28
[INFO] [stdout]     |
[INFO] [stdout] 851 |        let mut rng = rand::thread_rng();
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_bool`: Renamed to `random_bool`
[INFO] [stdout]    --> src/generation/testbench_generator.rs:177:33
[INFO] [stdout]     |
[INFO] [stdout] 177 |                 inputs.push(rng.gen_bool(0.5));
[INFO] [stdout]     |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_bool`: Renamed to `random_bool`
[INFO] [stdout]    --> src/generation/testbench_generator.rs:858:32
[INFO] [stdout]     |
[INFO] [stdout] 858 |                inputs.push(rng.gen_bool(0.5));
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/generation/verilog_generator.rs:194:14
[INFO] [stdout]     |
[INFO] [stdout] 194 |         for (i, row) in truth_table.rows.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wire_counter`
[INFO] [stdout]    --> src/generation/verilog_generator.rs:273:13
[INFO] [stdout]     |
[INFO] [stdout] 273 |         let wire_counter = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wire_counter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/generation/verilog_generator.rs:401:14
[INFO] [stdout]     |
[INFO] [stdout] 401 |         for (i, var) in truth_table.variables.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `succ_node`
[INFO] [stdout]    --> src/generation/timing_analysis.rs:322:21
[INFO] [stdout]     |
[INFO] [stdout] 322 |                 let succ_node = &graph.nodes[&succ_id];
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_succ_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arrival_times`
[INFO] [stdout]    --> src/generation/timing_analysis.rs:401:61
[INFO] [stdout]     |
[INFO] [stdout] 401 | ... graph: &TimingGraph, arrival_times: &HashMap<NodeId, f64>) -> GenerationResult<HashMap<NodeId, f64>> {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arrival_times`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]    --> src/generation/timing_analysis.rs:574:93
[INFO] [stdout]     |
[INFO] [stdout] 574 |     fn find_longest_paths(&self, graph: &TimingGraph, arrival_times: &HashMap<NodeId, f64>, count: usize) -> Vec<TimingPath> {
[INFO] [stdout]     |                                                                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph`
[INFO] [stdout]    --> src/generation/timing_analysis.rs:737:57
[INFO] [stdout]     |
[INFO] [stdout] 737 |     pub fn suggest_optimizations(report: &TimingReport, graph: &TimingGraph) -> Vec<OptimizationSuggestion> {
[INFO] [stdout]     |                                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_supported`
[INFO] [stdout]    --> src/minimization/errors.rs:267:71
[INFO] [stdout]     |
[INFO] [stdout] 267 |             MinimizationErrorKind::TooManyVariables { variable_count, max_supported, algorithm } => {
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^ help: try ignoring the field: `max_supported: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `minterm`
[INFO] [stdout]    --> src/minimization/quine_mccluskey.rs:172:28
[INFO] [stdout]     |
[INFO] [stdout] 172 |         for (minterm_idx, &minterm) in self.minterms.iter().enumerate() {
[INFO] [stdout]     |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_minterm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `variable`
[INFO] [stdout]    --> src/evaluation/errors.rs:113:54
[INFO] [stdout]     |
[INFO] [stdout] 113 |             EvaluationErrorKind::UndefinedVariable { variable, available_variables } => {
[INFO] [stdout]     |                                                      ^^^^^^^^ help: try ignoring the field: `variable: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `minimization_time`
[INFO] [stdout]    --> src/main.rs:398:17
[INFO] [stdout]     |
[INFO] [stdout] 398 |             let minimization_time = start_time.elapsed();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_minimization_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calculate_arrival_time_recursive` is never used
[INFO] [stdout]    --> src/generation/timing_analysis.rs:355:8
[INFO] [stdout]     |
[INFO] [stdout] 34  | impl TimingAnalyzer {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 355 |     fn calculate_arrival_time_recursive(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `expect_token` is never used
[INFO] [stdout]   --> src/parsing/parser.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl Parser {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 77 |     fn expect_token(&mut self, expected: &[&str]) -> ParseResult<Token> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 10s
[INFO] running `Command { std: "docker" "inspect" "e18db9a2c1abc7907297acb8922e632ef6adbc1017a6e0ca03ccfff0e19e4ee0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e18db9a2c1abc7907297acb8922e632ef6adbc1017a6e0ca03ccfff0e19e4ee0", kill_on_drop: false }`
[INFO] [stdout] e18db9a2c1abc7907297acb8922e632ef6adbc1017a6e0ca03ccfff0e19e4ee0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8f13eabbd1ada19d119f35514f7516aae1de569b73b71ad600837d7c20f4d26a
[INFO] running `Command { std: "docker" "start" "-a" "8f13eabbd1ada19d119f35514f7516aae1de569b73b71ad600837d7c20f4d26a", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling half v2.6.0
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling criterion-plot v0.6.0
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling serde_json v1.0.142
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling kiln v1.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling criterion v0.7.0
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/generation/testbench_generator.rs:851:28
[INFO] [stdout]     |
[INFO] [stdout] 851 |        let mut rng = rand::thread_rng();
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_bool`: Renamed to `random_bool`
[INFO] [stdout]    --> src/generation/testbench_generator.rs:177:33
[INFO] [stdout]     |
[INFO] [stdout] 177 |                 inputs.push(rng.gen_bool(0.5));
[INFO] [stdout]     |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_bool`: Renamed to `random_bool`
[INFO] [stdout]    --> src/generation/testbench_generator.rs:858:32
[INFO] [stdout]     |
[INFO] [stdout] 858 |                inputs.push(rng.gen_bool(0.5));
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `variable`
[INFO] [stdout]    --> src/evaluation/errors.rs:113:54
[INFO] [stdout]     |
[INFO] [stdout] 113 |             EvaluationErrorKind::UndefinedVariable { variable, available_variables } => {
[INFO] [stdout]     |                                                      ^^^^^^^^ help: try ignoring the field: `variable: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_supported`
[INFO] [stdout]    --> src/minimization/errors.rs:267:71
[INFO] [stdout]     |
[INFO] [stdout] 267 |             MinimizationErrorKind::TooManyVariables { variable_count, max_supported, algorithm } => {
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^ help: try ignoring the field: `max_supported: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `minterm`
[INFO] [stdout]    --> src/minimization/quine_mccluskey.rs:172:28
[INFO] [stdout]     |
[INFO] [stdout] 172 |         for (minterm_idx, &minterm) in self.minterms.iter().enumerate() {
[INFO] [stdout]     |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_minterm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/generation/verilog_generator.rs:194:14
[INFO] [stdout]     |
[INFO] [stdout] 194 |         for (i, row) in truth_table.rows.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wire_counter`
[INFO] [stdout]    --> src/generation/verilog_generator.rs:273:13
[INFO] [stdout]     |
[INFO] [stdout] 273 |         let wire_counter = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wire_counter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/generation/verilog_generator.rs:401:14
[INFO] [stdout]     |
[INFO] [stdout] 401 |         for (i, var) in truth_table.variables.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `succ_node`
[INFO] [stdout]    --> src/generation/timing_analysis.rs:322:21
[INFO] [stdout]     |
[INFO] [stdout] 322 |                 let succ_node = &graph.nodes[&succ_id];
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_succ_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arrival_times`
[INFO] [stdout]    --> src/generation/timing_analysis.rs:401:61
[INFO] [stdout]     |
[INFO] [stdout] 401 | ... graph: &TimingGraph, arrival_times: &HashMap<NodeId, f64>) -> GenerationResult<HashMap<NodeId, f64>> {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arrival_times`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]    --> src/generation/timing_analysis.rs:574:93
[INFO] [stdout]     |
[INFO] [stdout] 574 |     fn find_longest_paths(&self, graph: &TimingGraph, arrival_times: &HashMap<NodeId, f64>, count: usize) -> Vec<TimingPath> {
[INFO] [stdout]     |                                                                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph`
[INFO] [stdout]    --> src/generation/timing_analysis.rs:737:57
[INFO] [stdout]     |
[INFO] [stdout] 737 |     pub fn suggest_optimizations(report: &TimingReport, graph: &TimingGraph) -> Vec<OptimizationSuggestion> {
[INFO] [stdout]     |                                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `expect_token` is never used
[INFO] [stdout]   --> src/parsing/parser.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl Parser {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 77 |     fn expect_token(&mut self, expected: &[&str]) -> ParseResult<Token> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calculate_arrival_time_recursive` is never used
[INFO] [stdout]    --> src/generation/timing_analysis.rs:355:8
[INFO] [stdout]     |
[INFO] [stdout] 34  | impl TimingAnalyzer {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 355 |     fn calculate_arrival_time_recursive(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/generation/testbench_generator.rs:851:28
[INFO] [stdout]     |
[INFO] [stdout] 851 |        let mut rng = rand::thread_rng();
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_bool`: Renamed to `random_bool`
[INFO] [stdout]    --> src/generation/testbench_generator.rs:177:33
[INFO] [stdout]     |
[INFO] [stdout] 177 |                 inputs.push(rng.gen_bool(0.5));
[INFO] [stdout]     |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_bool`: Renamed to `random_bool`
[INFO] [stdout]    --> src/generation/testbench_generator.rs:858:32
[INFO] [stdout]     |
[INFO] [stdout] 858 |                inputs.push(rng.gen_bool(0.5));
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/generation/verilog_generator.rs:194:14
[INFO] [stdout]     |
[INFO] [stdout] 194 |         for (i, row) in truth_table.rows.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wire_counter`
[INFO] [stdout]    --> src/generation/verilog_generator.rs:273:13
[INFO] [stdout]     |
[INFO] [stdout] 273 |         let wire_counter = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wire_counter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/generation/verilog_generator.rs:401:14
[INFO] [stdout]     |
[INFO] [stdout] 401 |         for (i, var) in truth_table.variables.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `succ_node`
[INFO] [stdout]    --> src/generation/timing_analysis.rs:322:21
[INFO] [stdout]     |
[INFO] [stdout] 322 |                 let succ_node = &graph.nodes[&succ_id];
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_succ_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arrival_times`
[INFO] [stdout]    --> src/generation/timing_analysis.rs:401:61
[INFO] [stdout]     |
[INFO] [stdout] 401 | ... graph: &TimingGraph, arrival_times: &HashMap<NodeId, f64>) -> GenerationResult<HashMap<NodeId, f64>> {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arrival_times`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]    --> src/generation/timing_analysis.rs:574:93
[INFO] [stdout]     |
[INFO] [stdout] 574 |     fn find_longest_paths(&self, graph: &TimingGraph, arrival_times: &HashMap<NodeId, f64>, count: usize) -> Vec<TimingPath> {
[INFO] [stdout]     |                                                                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph`
[INFO] [stdout]    --> src/generation/timing_analysis.rs:737:57
[INFO] [stdout]     |
[INFO] [stdout] 737 |     pub fn suggest_optimizations(report: &TimingReport, graph: &TimingGraph) -> Vec<OptimizationSuggestion> {
[INFO] [stdout]     |                                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_supported`
[INFO] [stdout]    --> src/minimization/errors.rs:267:71
[INFO] [stdout]     |
[INFO] [stdout] 267 |             MinimizationErrorKind::TooManyVariables { variable_count, max_supported, algorithm } => {
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^ help: try ignoring the field: `max_supported: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `minterm`
[INFO] [stdout]    --> src/minimization/quine_mccluskey.rs:172:28
[INFO] [stdout]     |
[INFO] [stdout] 172 |         for (minterm_idx, &minterm) in self.minterms.iter().enumerate() {
[INFO] [stdout]     |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_minterm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `variable`
[INFO] [stdout]    --> src/evaluation/errors.rs:113:54
[INFO] [stdout]     |
[INFO] [stdout] 113 |             EvaluationErrorKind::UndefinedVariable { variable, available_variables } => {
[INFO] [stdout]     |                                                      ^^^^^^^^ help: try ignoring the field: `variable: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `minimization_time`
[INFO] [stdout]    --> src/main.rs:398:17
[INFO] [stdout]     |
[INFO] [stdout] 398 |             let minimization_time = start_time.elapsed();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_minimization_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calculate_arrival_time_recursive` is never used
[INFO] [stdout]    --> src/generation/timing_analysis.rs:355:8
[INFO] [stdout]     |
[INFO] [stdout] 34  | impl TimingAnalyzer {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 355 |     fn calculate_arrival_time_recursive(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `expect_token` is never used
[INFO] [stdout]   --> src/parsing/parser.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl Parser {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 77 |     fn expect_token(&mut self, expected: &[&str]) -> ParseResult<Token> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BooleanExpr`, `OperatorInfo`, `Parser`, `Precedence`, `Token`, and `Tokenizer`
[INFO] [stdout]  --> tests/parsing_error_tests.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | use kiln::parsing::{parser::{BooleanExpr, Parser}, precedence::{OperatorInfo, Precedence}, tokens::{Token, Tokenizer}, ParseError};
[INFO] [stdout]   |                              ^^^^^^^^^^^  ^^^^^^                ^^^^^^^^^^^^  ^^^^^^^^^^            ^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> tests/truth_table_tests.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BatchEvaluator`, `EvaluationError`, `Evaluator`, `contains_variable`, `count_variables`, `evaluator::utils`, `extract_variables_in_order`, `extract_variables`, and `validate_variable_completeness`
[INFO] [stdout]  --> tests/truth_table_tests.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |         evaluator::utils, truth_table::{TruthRow, TruthTable}, variable_extraction::{
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |             contains_variable, count_variables, extract_variables, extract_variables_in_order, validate_variable_completeness
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |         }, BatchEvaluator, EvaluationError, Evaluator
[INFO] [stdout]   |            ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `evaluation::TruthTable`
[INFO] [stdout]   --> tests/generation_tests.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     evaluation::TruthTable,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> tests/evaluation_error_tests.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BatchEvaluator`, `Evaluator`, `TruthRow`, `TruthTable`, and `evaluator::utils`
[INFO] [stdout]  --> tests/evaluation_error_tests.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |         evaluator::utils, truth_table::{TruthRow, TruthTable}, variable_extraction::{
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^                ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 6 |             contains_variable, count_variables, extract_variables, extract_variables_in_order, validate_variable_completeness
[INFO] [stdout] 7 |         }, BatchEvaluator, EvaluationError, Evaluator
[INFO] [stdout]   |            ^^^^^^^^^^^^^^                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MinimizationError` and `helpers`
[INFO] [stdout]  --> tests/karnaugh_map_tests.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use kiln::minimization::{MinimizationError, helpers};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CanonicalConverter`, `CanonicalExpression`, and `CanonicalTerm`
[INFO] [stdout]  --> tests/karnaugh_map_tests.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     CanonicalConverter, CanonicalForm, CanonicalTerm, CanonicalExpression
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^                 ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PrimeImplicantChart`, `QMTerm`, and `QuineMcCluskey`
[INFO] [stdout]  --> tests/karnaugh_map_tests.rs:5:43
[INFO] [stdout]   |
[INFO] [stdout] 5 | use kiln::minimization::quine_mccluskey::{QuineMcCluskey, QMTerm, PrimeImplicantChart};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> tests/karnaugh_map_tests.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/generation/testbench_generator.rs:851:28
[INFO] [stdout]     |
[INFO] [stdout] 851 |        let mut rng = rand::thread_rng();
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/karnaugh_map_tests.rs:280:8
[INFO] [stdout]     |
[INFO] [stdout] 280 |    let mut kmap = KarnaughMap::from_truth_table(&truth_table).unwrap();
[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: use of deprecated method `rand::Rng::gen_bool`: Renamed to `random_bool`
[INFO] [stdout]    --> src/generation/testbench_generator.rs:177:33
[INFO] [stdout]     |
[INFO] [stdout] 177 |                 inputs.push(rng.gen_bool(0.5));
[INFO] [stdout]     |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_bool`: Renamed to `random_bool`
[INFO] [stdout]    --> src/generation/testbench_generator.rs:858:32
[INFO] [stdout]     |
[INFO] [stdout] 858 |                inputs.push(rng.gen_bool(0.5));
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/generation/testbench_generator.rs:851:28
[INFO] [stdout]     |
[INFO] [stdout] 851 |        let mut rng = rand::thread_rng();
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `variable`
[INFO] [stdout]    --> src/evaluation/errors.rs:113:54
[INFO] [stdout]     |
[INFO] [stdout] 113 |             EvaluationErrorKind::UndefinedVariable { variable, available_variables } => {
[INFO] [stdout]     |                                                      ^^^^^^^^ help: try ignoring the field: `variable: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_supported`
[INFO] [stdout]    --> src/minimization/errors.rs:267:71
[INFO] [stdout]     |
[INFO] [stdout] 267 |             MinimizationErrorKind::TooManyVariables { variable_count, max_supported, algorithm } => {
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^ help: try ignoring the field: `max_supported: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `minterm`
[INFO] [stdout]    --> src/minimization/quine_mccluskey.rs:172:28
[INFO] [stdout]     |
[INFO] [stdout] 172 |         for (minterm_idx, &minterm) in self.minterms.iter().enumerate() {
[INFO] [stdout]     |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_minterm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_bool`: Renamed to `random_bool`
[INFO] [stdout]    --> src/generation/testbench_generator.rs:177:33
[INFO] [stdout]     |
[INFO] [stdout] 177 |                 inputs.push(rng.gen_bool(0.5));
[INFO] [stdout]     |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_bool`: Renamed to `random_bool`
[INFO] [stdout]    --> src/generation/testbench_generator.rs:858:32
[INFO] [stdout]     |
[INFO] [stdout] 858 |                inputs.push(rng.gen_bool(0.5));
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/generation/verilog_generator.rs:194:14
[INFO] [stdout]     |
[INFO] [stdout] 194 |         for (i, row) in truth_table.rows.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wire_counter`
[INFO] [stdout]    --> src/generation/verilog_generator.rs:273:13
[INFO] [stdout]     |
[INFO] [stdout] 273 |         let wire_counter = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wire_counter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/generation/verilog_generator.rs:401:14
[INFO] [stdout]     |
[INFO] [stdout] 401 |         for (i, var) in truth_table.variables.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EvaluationError`, `TruthRow`, `TruthTable`, `contains_variable`, `count_variables`, `extract_variables_in_order`, `extract_variables`, and `validate_variable_completeness`
[INFO] [stdout]  --> tests/evaluator_tests.rs:4:41
[INFO] [stdout]   |
[INFO] [stdout] 4 |         evaluator::utils, truth_table::{TruthRow, TruthTable}, variable_extraction::{
[INFO] [stdout]   |                                         ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 5 |             contains_variable, count_variables, extract_variables, extract_variables_in_order, validate_variable_completeness
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |         }, BatchEvaluator, EvaluationError, Evaluator
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `succ_node`
[INFO] [stdout]    --> src/generation/timing_analysis.rs:322:21
[INFO] [stdout]     |
[INFO] [stdout] 322 |                 let succ_node = &graph.nodes[&succ_id];
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_succ_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arrival_times`
[INFO] [stdout]    --> src/generation/timing_analysis.rs:401:61
[INFO] [stdout]     |
[INFO] [stdout] 401 | ... graph: &TimingGraph, arrival_times: &HashMap<NodeId, f64>) -> GenerationResult<HashMap<NodeId, f64>> {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arrival_times`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]    --> src/generation/timing_analysis.rs:574:93
[INFO] [stdout]     |
[INFO] [stdout] 574 |     fn find_longest_paths(&self, graph: &TimingGraph, arrival_times: &HashMap<NodeId, f64>, count: usize) -> Vec<TimingPath> {
[INFO] [stdout]     |                                                                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph`
[INFO] [stdout]    --> src/generation/timing_analysis.rs:737:57
[INFO] [stdout]     |
[INFO] [stdout] 737 |     pub fn suggest_optimizations(report: &TimingReport, graph: &TimingGraph) -> Vec<OptimizationSuggestion> {
[INFO] [stdout]     |                                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `expect_token` is never used
[INFO] [stdout]   --> src/parsing/parser.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl Parser {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 77 |     fn expect_token(&mut self, expected: &[&str]) -> ParseResult<Token> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calculate_arrival_time_recursive` is never used
[INFO] [stdout]    --> src/generation/timing_analysis.rs:355:8
[INFO] [stdout]     |
[INFO] [stdout] 34  | impl TimingAnalyzer {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 355 |     fn calculate_arrival_time_recursive(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorInfo`, `ParseError`, `Precedence`, and `Token`
[INFO] [stdout]  --> tests/parsing_tests.rs:1:65
[INFO] [stdout]   |
[INFO] [stdout] 1 | use kiln::parsing::{parser::{BooleanExpr, Parser}, precedence::{OperatorInfo, Precedence}, tokens::{Token, Tokenizer}, ParseError};
[INFO] [stdout]   |                                                                 ^^^^^^^^^^^^  ^^^^^^^^^^            ^^^^^              ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/generation/verilog_generator.rs:194:14
[INFO] [stdout]     |
[INFO] [stdout] 194 |         for (i, row) in truth_table.rows.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wire_counter`
[INFO] [stdout]    --> src/generation/verilog_generator.rs:273:13
[INFO] [stdout]     |
[INFO] [stdout] 273 |         let wire_counter = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wire_counter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/generation/verilog_generator.rs:401:14
[INFO] [stdout]     |
[INFO] [stdout] 401 |         for (i, var) in truth_table.variables.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `succ_node`
[INFO] [stdout]    --> src/generation/timing_analysis.rs:322:21
[INFO] [stdout]     |
[INFO] [stdout] 322 |                 let succ_node = &graph.nodes[&succ_id];
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_succ_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arrival_times`
[INFO] [stdout]    --> src/generation/timing_analysis.rs:401:61
[INFO] [stdout]     |
[INFO] [stdout] 401 | ... graph: &TimingGraph, arrival_times: &HashMap<NodeId, f64>) -> GenerationResult<HashMap<NodeId, f64>> {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arrival_times`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]    --> src/generation/timing_analysis.rs:574:93
[INFO] [stdout]     |
[INFO] [stdout] 574 |     fn find_longest_paths(&self, graph: &TimingGraph, arrival_times: &HashMap<NodeId, f64>, count: usize) -> Vec<TimingPath> {
[INFO] [stdout]     |                                                                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph`
[INFO] [stdout]    --> src/generation/timing_analysis.rs:737:57
[INFO] [stdout]     |
[INFO] [stdout] 737 |     pub fn suggest_optimizations(report: &TimingReport, graph: &TimingGraph) -> Vec<OptimizationSuggestion> {
[INFO] [stdout]     |                                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_supported`
[INFO] [stdout]    --> src/minimization/errors.rs:267:71
[INFO] [stdout]     |
[INFO] [stdout] 267 |             MinimizationErrorKind::TooManyVariables { variable_count, max_supported, algorithm } => {
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^ help: try ignoring the field: `max_supported: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MinimizationError` and `helpers`
[INFO] [stdout]  --> tests/optimization_tests.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use kiln::minimization::{MinimizationError, helpers};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CanonicalConverter`
[INFO] [stdout]  --> tests/optimization_tests.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     CanonicalConverter, CanonicalForm, CanonicalTerm, CanonicalExpression
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `kiln::evaluation::TruthTable`
[INFO] [stdout]   --> tests/optimization_tests.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use kiln::evaluation::TruthTable;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]   --> tests/optimization_tests.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::HashSet;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `minterm`
[INFO] [stdout]    --> src/minimization/quine_mccluskey.rs:172:28
[INFO] [stdout]     |
[INFO] [stdout] 172 |         for (minterm_idx, &minterm) in self.minterms.iter().enumerate() {
[INFO] [stdout]     |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_minterm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `variable`
[INFO] [stdout]    --> src/evaluation/errors.rs:113:54
[INFO] [stdout]     |
[INFO] [stdout] 113 |             EvaluationErrorKind::UndefinedVariable { variable, available_variables } => {
[INFO] [stdout]     |                                                      ^^^^^^^^ help: try ignoring the field: `variable: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BooleanExpr`, `OperatorInfo`, `ParseError`, `Parser`, and `Precedence`
[INFO] [stdout]  --> tests/tokens_test.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | use kiln::parsing::{parser::{BooleanExpr, Parser}, precedence::{OperatorInfo, Precedence}, tokens::{Token, Tokenizer}, ParseError};
[INFO] [stdout]   |                              ^^^^^^^^^^^  ^^^^^^                ^^^^^^^^^^^^  ^^^^^^^^^^                               ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `minimization_time`
[INFO] [stdout]    --> src/main.rs:398:17
[INFO] [stdout]     |
[INFO] [stdout] 398 |             let minimization_time = start_time.elapsed();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_minimization_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calculate_arrival_time_recursive` is never used
[INFO] [stdout]    --> src/generation/timing_analysis.rs:355:8
[INFO] [stdout]     |
[INFO] [stdout] 34  | impl TimingAnalyzer {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 355 |     fn calculate_arrival_time_recursive(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `expect_token` is never used
[INFO] [stdout]   --> src/parsing/parser.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl Parser {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 77 |     fn expect_token(&mut self, expected: &[&str]) -> ParseResult<Token> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MinimizationError` and `helpers`
[INFO] [stdout]  --> tests/canonical_forms.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use kiln::minimization::{MinimizationError, helpers};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PrimeImplicantChart`, `QMTerm`, and `QuineMcCluskey`
[INFO] [stdout]  --> tests/canonical_forms.rs:5:43
[INFO] [stdout]   |
[INFO] [stdout] 5 | use kiln::minimization::quine_mccluskey::{QuineMcCluskey, QMTerm, PrimeImplicantChart};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> tests/canonical_forms.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KMapGroup`, `KMapPosition`, `KarnaughMapMinimizer`, and `KarnaughMap`
[INFO] [stdout]  --> tests/canonical_forms.rs:8:41
[INFO] [stdout]   |
[INFO] [stdout] 8 | use kiln::minimization::karnaugh_maps::{KarnaughMapMinimizer, KarnaughMap, KMapPosition, KMapGroup};
[INFO] [stdout]   |                                         ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]   --> tests/canonical_forms.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::HashSet;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BooleanExpr`, `ParseError`, `Parser`, and `Tokenizer`
[INFO] [stdout]  --> tests/precedence_tests.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | use kiln::parsing::{parser::{BooleanExpr, Parser}, precedence::{OperatorInfo, Precedence}, tokens::{Token, Tokenizer}, ParseError};
[INFO] [stdout]   |                              ^^^^^^^^^^^  ^^^^^^                                                           ^^^^^^^^^   ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CanonicalConverter`, `CanonicalExpression`, `CanonicalForm`, and `CanonicalTerm`
[INFO] [stdout]  --> tests/minimization_errors.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     CanonicalConverter, CanonicalForm, CanonicalTerm, CanonicalExpression
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PrimeImplicantChart`, `QMTerm`, and `QuineMcCluskey`
[INFO] [stdout]  --> tests/minimization_errors.rs:5:43
[INFO] [stdout]   |
[INFO] [stdout] 5 | use kiln::minimization::quine_mccluskey::{QuineMcCluskey, QMTerm, PrimeImplicantChart};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `kiln::parsing::BooleanExpr`
[INFO] [stdout]  --> tests/minimization_errors.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use kiln::parsing::BooleanExpr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> tests/minimization_errors.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KMapGroup`, `KMapPosition`, `KarnaughMapMinimizer`, and `KarnaughMap`
[INFO] [stdout]  --> tests/minimization_errors.rs:8:41
[INFO] [stdout]   |
[INFO] [stdout] 8 | use kiln::minimization::karnaugh_maps::{KarnaughMapMinimizer, KarnaughMap, KMapPosition, KMapGroup};
[INFO] [stdout]   |                                         ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `kiln::evaluation::TruthTable`
[INFO] [stdout]  --> tests/minimization_errors.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use kiln::evaluation::TruthTable;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]   --> tests/minimization_errors.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::HashSet;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MinimizationError` and `helpers`
[INFO] [stdout]  --> tests/quine_mccluskey_tests.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use kiln::minimization::{MinimizationError, helpers};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CanonicalConverter`, `CanonicalExpression`, and `CanonicalTerm`
[INFO] [stdout]  --> tests/quine_mccluskey_tests.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     CanonicalConverter, CanonicalForm, CanonicalTerm, CanonicalExpression
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^                 ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KMapGroup`, `KMapPosition`, `KarnaughMapMinimizer`, and `KarnaughMap`
[INFO] [stdout]  --> tests/quine_mccluskey_tests.rs:8:41
[INFO] [stdout]   |
[INFO] [stdout] 8 | use kiln::minimization::karnaugh_maps::{KarnaughMapMinimizer, KarnaughMap, KMapPosition, KMapGroup};
[INFO] [stdout]   |                                         ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]   --> tests/quine_mccluskey_tests.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::HashSet;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `essential`
[INFO] [stdout]    --> tests/quine_mccluskey_tests.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let essential = chart.find_essential_prime_implicants();
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_essential`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 52s
[INFO] running `Command { std: "docker" "inspect" "8f13eabbd1ada19d119f35514f7516aae1de569b73b71ad600837d7c20f4d26a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8f13eabbd1ada19d119f35514f7516aae1de569b73b71ad600837d7c20f4d26a", kill_on_drop: false }`
[INFO] [stdout] 8f13eabbd1ada19d119f35514f7516aae1de569b73b71ad600837d7c20f4d26a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 713910f337b301044ec117a073af4eb239b976861b704bccbe71775b15b849f2
[INFO] running `Command { std: "docker" "start" "-a" "713910f337b301044ec117a073af4eb239b976861b704bccbe71775b15b849f2", kill_on_drop: false }`
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]    --> src/generation/testbench_generator.rs:851:28
[INFO] [stderr]     |
[INFO] [stderr] 851 |        let mut rng = rand::thread_rng();
[INFO] [stderr]     |                            ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen_bool`: Renamed to `random_bool`
[INFO] [stderr]    --> src/generation/testbench_generator.rs:177:33
[INFO] [stderr]     |
[INFO] [stderr] 177 |                 inputs.push(rng.gen_bool(0.5));
[INFO] [stderr]     |                                 ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen_bool`: Renamed to `random_bool`
[INFO] [stderr]    --> src/generation/testbench_generator.rs:858:32
[INFO] [stderr]     |
[INFO] [stderr] 858 |                inputs.push(rng.gen_bool(0.5));
[INFO] [stderr]     |                                ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `variable`
[INFO] [stderr]    --> src/evaluation/errors.rs:113:54
[INFO] [stderr]     |
[INFO] [stderr] 113 |             EvaluationErrorKind::UndefinedVariable { variable, available_variables } => {
[INFO] [stderr]     |                                                      ^^^^^^^^ help: try ignoring the field: `variable: _`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `max_supported`
[INFO] [stderr]    --> src/minimization/errors.rs:267:71
[INFO] [stderr]     |
[INFO] [stderr] 267 |             MinimizationErrorKind::TooManyVariables { variable_count, max_supported, algorithm } => {
[INFO] [stderr]     |                                                                       ^^^^^^^^^^^^^ help: try ignoring the field: `max_supported: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `minterm`
[INFO] [stderr]    --> src/minimization/quine_mccluskey.rs:172:28
[INFO] [stderr]     |
[INFO] [stderr] 172 |         for (minterm_idx, &minterm) in self.minterms.iter().enumerate() {
[INFO] [stderr]     |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_minterm`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/generation/verilog_generator.rs:194:14
[INFO] [stderr]     |
[INFO] [stderr] 194 |         for (i, row) in truth_table.rows.iter().enumerate() {
[INFO] [stderr]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `wire_counter`
[INFO] [stderr]    --> src/generation/verilog_generator.rs:273:13
[INFO] [stderr]     |
[INFO] [stderr] 273 |         let wire_counter = 0;
[INFO] [stderr]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wire_counter`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/generation/verilog_generator.rs:401:14
[INFO] [stderr]     |
[INFO] [stderr] 401 |         for (i, var) in truth_table.variables.iter().enumerate() {
[INFO] [stderr]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `succ_node`
[INFO] [stderr]    --> src/generation/timing_analysis.rs:322:21
[INFO] [stderr]     |
[INFO] [stderr] 322 |                 let succ_node = &graph.nodes[&succ_id];
[INFO] [stderr]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_succ_node`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `arrival_times`
[INFO] [stderr]    --> src/generation/timing_analysis.rs:401:61
[INFO] [stderr]     |
[INFO] [stderr] 401 | ... graph: &TimingGraph, arrival_times: &HashMap<NodeId, f64>) -> GenerationResult<HashMap<NodeId, f64>> {
[INFO] [stderr]     |                          ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arrival_times`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `count`
[INFO] [stderr]    --> src/generation/timing_analysis.rs:574:93
[INFO] [stderr]     |
[INFO] [stderr] 574 |     fn find_longest_paths(&self, graph: &TimingGraph, arrival_times: &HashMap<NodeId, f64>, count: usize) -> Vec<TimingPath> {
[INFO] [stderr]     |                                                                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `graph`
[INFO] [stderr]    --> src/generation/timing_analysis.rs:737:57
[INFO] [stderr]     |
[INFO] [stderr] 737 |     pub fn suggest_optimizations(report: &TimingReport, graph: &TimingGraph) -> Vec<OptimizationSuggestion> {
[INFO] [stderr]     |                                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph`
[INFO] [stderr] 
[INFO] [stderr] warning: method `expect_token` is never used
[INFO] [stderr]   --> src/parsing/parser.rs:77:8
[INFO] [stderr]    |
[INFO] [stderr] 42 | impl Parser {
[INFO] [stderr]    | ----------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 77 |     fn expect_token(&mut self, expected: &[&str]) -> ParseResult<Token> {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `calculate_arrival_time_recursive` is never used
[INFO] [stderr]    --> src/generation/timing_analysis.rs:355:8
[INFO] [stderr]     |
[INFO] [stderr] 34  | impl TimingAnalyzer {
[INFO] [stderr]     | ------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 355 |     fn calculate_arrival_time_recursive(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `kiln` (lib) generated 15 warnings
[INFO] [stderr] warning: unused imports: `EvaluationError`, `TruthRow`, `TruthTable`, `contains_variable`, `count_variables`, `extract_variables_in_order`, `extract_variables`, and `validate_variable_completeness`
[INFO] [stderr]  --> tests/evaluator_tests.rs:4:41
[INFO] [stderr]   |
[INFO] [stderr] 4 |         evaluator::utils, truth_table::{TruthRow, TruthTable}, variable_extraction::{
[INFO] [stderr]   |                                         ^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 5 |             contains_variable, count_variables, extract_variables, extract_variables_in_order, validate_variable_completeness
[INFO] [stderr]   |             ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 6 |         }, BatchEvaluator, EvaluationError, Evaluator
[INFO] [stderr]   |                            ^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BooleanExpr`, `OperatorInfo`, `ParseError`, `Parser`, and `Precedence`
[INFO] [stderr]  --> tests/tokens_test.rs:1:30
[INFO] [stderr]   |
[INFO] [stderr] 1 | use kiln::parsing::{parser::{BooleanExpr, Parser}, precedence::{OperatorInfo, Precedence}, tokens::{Token, Tokenizer}, ParseError};
[INFO] [stderr]   |                              ^^^^^^^^^^^  ^^^^^^                ^^^^^^^^^^^^  ^^^^^^^^^^                               ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `MinimizationError` and `helpers`
[INFO] [stderr]  --> tests/quine_mccluskey_tests.rs:1:26
[INFO] [stderr]   |
[INFO] [stderr] 1 | use kiln::minimization::{MinimizationError, helpers};
[INFO] [stderr]   |                          ^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `CanonicalConverter`, `CanonicalExpression`, and `CanonicalTerm`
[INFO] [stderr]  --> tests/quine_mccluskey_tests.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 |     CanonicalConverter, CanonicalForm, CanonicalTerm, CanonicalExpression
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^                 ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `KMapGroup`, `KMapPosition`, `KarnaughMapMinimizer`, and `KarnaughMap`
[INFO] [stderr]  --> tests/quine_mccluskey_tests.rs:8:41
[INFO] [stderr]   |
[INFO] [stderr] 8 | use kiln::minimization::karnaugh_maps::{KarnaughMapMinimizer, KarnaughMap, KMapPosition, KMapGroup};
[INFO] [stderr]   |                                         ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashSet`
[INFO] [stderr]   --> tests/quine_mccluskey_tests.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::collections::HashSet;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `essential`
[INFO] [stderr]    --> tests/quine_mccluskey_tests.rs:111:9
[INFO] [stderr]     |
[INFO] [stderr] 111 |     let essential = chart.find_essential_prime_implicants();
[INFO] [stderr]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_essential`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `MinimizationError` and `helpers`
[INFO] [stderr]  --> tests/optimization_tests.rs:1:26
[INFO] [stderr]   |
[INFO] [stderr] 1 | use kiln::minimization::{MinimizationError, helpers};
[INFO] [stderr]   |                          ^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `CanonicalConverter`
[INFO] [stderr]  --> tests/optimization_tests.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 |     CanonicalConverter, CanonicalForm, CanonicalTerm, CanonicalExpression
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `kiln::evaluation::TruthTable`
[INFO] [stderr]   --> tests/optimization_tests.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use kiln::evaluation::TruthTable;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashSet`
[INFO] [stderr]   --> tests/optimization_tests.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use std::collections::HashSet;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> tests/truth_table_tests.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BatchEvaluator`, `EvaluationError`, `Evaluator`, `contains_variable`, `count_variables`, `evaluator::utils`, `extract_variables_in_order`, `extract_variables`, and `validate_variable_completeness`
[INFO] [stderr]  --> tests/truth_table_tests.rs:5:9
[INFO] [stderr]   |
[INFO] [stderr] 5 |         evaluator::utils, truth_table::{TruthRow, TruthTable}, variable_extraction::{
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 6 |             contains_variable, count_variables, extract_variables, extract_variables_in_order, validate_variable_completeness
[INFO] [stderr]   |             ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 7 |         }, BatchEvaluator, EvaluationError, Evaluator
[INFO] [stderr]   |            ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `CanonicalConverter`, `CanonicalExpression`, `CanonicalForm`, and `CanonicalTerm`
[INFO] [stderr]  --> tests/minimization_errors.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 |     CanonicalConverter, CanonicalForm, CanonicalTerm, CanonicalExpression
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `PrimeImplicantChart`, `QMTerm`, and `QuineMcCluskey`
[INFO] [stderr]  --> tests/minimization_errors.rs:5:43
[INFO] [stderr]   |
[INFO] [stderr] 5 | use kiln::minimization::quine_mccluskey::{QuineMcCluskey, QMTerm, PrimeImplicantChart};
[INFO] [stderr]   |                                           ^^^^^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `kiln::parsing::BooleanExpr`
[INFO] [stderr]  --> tests/minimization_errors.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use kiln::parsing::BooleanExpr;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::time::Duration`
[INFO] [stderr]  --> tests/minimization_errors.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::time::Duration;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `KMapGroup`, `KMapPosition`, `KarnaughMapMinimizer`, and `KarnaughMap`
[INFO] [stderr]  --> tests/minimization_errors.rs:8:41
[INFO] [stderr]   |
[INFO] [stderr] 8 | use kiln::minimization::karnaugh_maps::{KarnaughMapMinimizer, KarnaughMap, KMapPosition, KMapGroup};
[INFO] [stderr]   |                                         ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `kiln::evaluation::TruthTable`
[INFO] [stderr]  --> tests/minimization_errors.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use kiln::evaluation::TruthTable;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashSet`
[INFO] [stderr]   --> tests/minimization_errors.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::collections::HashSet;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `evaluation::TruthTable`
[INFO] [stderr]   --> tests/generation_tests.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     evaluation::TruthTable,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `kiln` (test "evaluator_tests") generated 1 warning (run `cargo fix --test "evaluator_tests"` to apply 1 suggestion)
[INFO] [stderr] warning: `kiln` (test "tokens_test") generated 1 warning (run `cargo fix --test "tokens_test"` to apply 1 suggestion)
[INFO] [stderr] warning: `kiln` (test "quine_mccluskey_tests") generated 5 warnings (run `cargo fix --test "quine_mccluskey_tests"` to apply 4 suggestions)
[INFO] [stderr] warning: `kiln` (test "optimization_tests") generated 4 warnings (run `cargo fix --test "optimization_tests"` to apply 4 suggestions)
[INFO] [stderr] warning: `kiln` (test "truth_table_tests") generated 2 warnings (run `cargo fix --test "truth_table_tests"` to apply 2 suggestions)
[INFO] [stderr] warning: `kiln` (test "minimization_errors") generated 7 warnings (run `cargo fix --test "minimization_errors"` to apply 7 suggestions)
[INFO] [stderr] warning: `kiln` (test "generation_tests") generated 1 warning (run `cargo fix --test "generation_tests"` to apply 1 suggestion)
[INFO] [stderr] warning: unused imports: `MinimizationError` and `helpers`
[INFO] [stderr]  --> tests/canonical_forms.rs:1:26
[INFO] [stderr]   |
[INFO] [stderr] 1 | use kiln::minimization::{MinimizationError, helpers};
[INFO] [stderr]   |                          ^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `PrimeImplicantChart`, `QMTerm`, and `QuineMcCluskey`
[INFO] [stderr]  --> tests/canonical_forms.rs:5:43
[INFO] [stderr]   |
[INFO] [stderr] 5 | use kiln::minimization::quine_mccluskey::{QuineMcCluskey, QMTerm, PrimeImplicantChart};
[INFO] [stderr]   |                                           ^^^^^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::time::Duration`
[INFO] [stderr]  --> tests/canonical_forms.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::time::Duration;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `KMapGroup`, `KMapPosition`, `KarnaughMapMinimizer`, and `KarnaughMap`
[INFO] [stderr]  --> tests/canonical_forms.rs:8:41
[INFO] [stderr]   |
[INFO] [stderr] 8 | use kiln::minimization::karnaugh_maps::{KarnaughMapMinimizer, KarnaughMap, KMapPosition, KMapGroup};
[INFO] [stderr]   |                                         ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashSet`
[INFO] [stderr]   --> tests/canonical_forms.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::collections::HashSet;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/generation/verilog_generator.rs:194:14
[INFO] [stderr]     |
[INFO] [stderr] 194 |         for (i, row) in truth_table.rows.iter().enumerate() {
[INFO] [stderr]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `variable`
[INFO] [stderr]    --> src/evaluation/errors.rs:113:54
[INFO] [stderr]     |
[INFO] [stderr] 113 |             EvaluationErrorKind::UndefinedVariable { variable, available_variables } => {
[INFO] [stderr]     |                                                      ^^^^^^^^ help: try ignoring the field: `variable: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `minimization_time`
[INFO] [stderr]    --> src/main.rs:398:17
[INFO] [stderr]     |
[INFO] [stderr] 398 |             let minimization_time = start_time.elapsed();
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_minimization_time`
[INFO] [stderr] 
[INFO] [stderr] warning: method `calculate_arrival_time_recursive` is never used
[INFO] [stderr]    --> src/generation/timing_analysis.rs:355:8
[INFO] [stderr]     |
[INFO] [stderr] 34  | impl TimingAnalyzer {
[INFO] [stderr]     | ------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 355 |     fn calculate_arrival_time_recursive(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `expect_token` is never used
[INFO] [stderr]   --> src/parsing/parser.rs:77:8
[INFO] [stderr]    |
[INFO] [stderr] 42 | impl Parser {
[INFO] [stderr]    | ----------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 77 |     fn expect_token(&mut self, expected: &[&str]) -> ParseResult<Token> {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `MinimizationError` and `helpers`
[INFO] [stderr]  --> tests/karnaugh_map_tests.rs:1:26
[INFO] [stderr]   |
[INFO] [stderr] 1 | use kiln::minimization::{MinimizationError, helpers};
[INFO] [stderr]   |                          ^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `CanonicalConverter`, `CanonicalExpression`, and `CanonicalTerm`
[INFO] [stderr]  --> tests/karnaugh_map_tests.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 |     CanonicalConverter, CanonicalForm, CanonicalTerm, CanonicalExpression
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^                 ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `PrimeImplicantChart`, `QMTerm`, and `QuineMcCluskey`
[INFO] [stderr]  --> tests/karnaugh_map_tests.rs:5:43
[INFO] [stderr]   |
[INFO] [stderr] 5 | use kiln::minimization::quine_mccluskey::{QuineMcCluskey, QMTerm, PrimeImplicantChart};
[INFO] [stderr]   |                                           ^^^^^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::time::Duration`
[INFO] [stderr]  --> tests/karnaugh_map_tests.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::time::Duration;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/karnaugh_map_tests.rs:280:8
[INFO] [stderr]     |
[INFO] [stderr] 280 |    let mut kmap = KarnaughMap::from_truth_table(&truth_table).unwrap();
[INFO] [stderr]     |        ----^^^^
[INFO] [stderr]     |        |
[INFO] [stderr]     |        help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> tests/evaluation_error_tests.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BatchEvaluator`, `Evaluator`, `TruthRow`, `TruthTable`, and `evaluator::utils`
[INFO] [stderr]  --> tests/evaluation_error_tests.rs:5:9
[INFO] [stderr]   |
[INFO] [stderr] 5 |         evaluator::utils, truth_table::{TruthRow, TruthTable}, variable_extraction::{
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^                ^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 6 |             contains_variable, count_variables, extract_variables, extract_variables_in_order, validate_variable_completeness
[INFO] [stderr] 7 |         }, BatchEvaluator, EvaluationError, Evaluator
[INFO] [stderr]   |            ^^^^^^^^^^^^^^                   ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `OperatorInfo`, `ParseError`, `Precedence`, and `Token`
[INFO] [stderr]  --> tests/parsing_tests.rs:1:65
[INFO] [stderr]   |
[INFO] [stderr] 1 | use kiln::parsing::{parser::{BooleanExpr, Parser}, precedence::{OperatorInfo, Precedence}, tokens::{Token, Tokenizer}, ParseError};
[INFO] [stderr]   |                                                                 ^^^^^^^^^^^^  ^^^^^^^^^^            ^^^^^              ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BooleanExpr`, `ParseError`, `Parser`, and `Tokenizer`
[INFO] [stderr]  --> tests/precedence_tests.rs:1:30
[INFO] [stderr]   |
[INFO] [stderr] 1 | use kiln::parsing::{parser::{BooleanExpr, Parser}, precedence::{OperatorInfo, Precedence}, tokens::{Token, Tokenizer}, ParseError};
[INFO] [stderr]   |                              ^^^^^^^^^^^  ^^^^^^                                                           ^^^^^^^^^   ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BooleanExpr`, `OperatorInfo`, `Parser`, `Precedence`, `Token`, and `Tokenizer`
[INFO] [stderr]  --> tests/parsing_error_tests.rs:1:30
[INFO] [stderr]   |
[INFO] [stderr] 1 | use kiln::parsing::{parser::{BooleanExpr, Parser}, precedence::{OperatorInfo, Precedence}, tokens::{Token, Tokenizer}, ParseError};
[INFO] [stderr]   |                              ^^^^^^^^^^^  ^^^^^^                ^^^^^^^^^^^^  ^^^^^^^^^^            ^^^^^  ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `kiln` (test "canonical_forms") generated 5 warnings (run `cargo fix --test "canonical_forms"` to apply 5 suggestions)
[INFO] [stderr] warning: `kiln` (bin "kiln") generated 16 warnings (11 duplicates)
[INFO] [stderr] warning: `kiln` (bin "kiln" test) generated 16 warnings (16 duplicates)
[INFO] [stderr] warning: `kiln` (test "karnaugh_map_tests") generated 5 warnings (run `cargo fix --test "karnaugh_map_tests"` to apply 5 suggestions)
[INFO] [stderr] warning: `kiln` (test "evaluation_error_tests") generated 2 warnings (run `cargo fix --test "evaluation_error_tests"` to apply 2 suggestions)
[INFO] [stderr] warning: `kiln` (test "parsing_tests") generated 1 warning (run `cargo fix --test "parsing_tests"` to apply 1 suggestion)
[INFO] [stderr] warning: `kiln` (test "precedence_tests") generated 1 warning (run `cargo fix --test "precedence_tests"` to apply 1 suggestion)
[INFO] [stderr] warning: `kiln` (test "parsing_error_tests") generated 1 warning (run `cargo fix --test "parsing_error_tests"` to apply 1 suggestion)
[INFO] [stderr] warning: `kiln` (lib test) generated 15 warnings (15 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.18s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/kiln-ba482eae4d99a3e3)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test generation::errors::tests::test_hdl_syntax_error ... ok
[INFO] [stdout] test generation::errors::tests::test_resource_exhaustion_with_suggestions ... ok
[INFO] [stdout] test generation::errors::tests::test_module_name_sanitization ... ok
[INFO] [stdout] test generation::errors::tests::test_testbench_generation_error_with_partial ... ok
[INFO] [stdout] test generation::errors::tests::test_unsupported_gate_error ... ok
[INFO] [stdout] test generation::errors::tests::test_helper_functions ... ok
[INFO] [stdout] test generation::errors::tests::test_timing_constraint_violation ... ok
[INFO] [stdout] test generation::errors::tests::test_invalid_module_name_with_suggestion ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/kiln-95a121bfab22632f)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test generation::errors::tests::test_helper_functions ... ok
[INFO] [stdout] test generation::errors::tests::test_invalid_module_name_with_suggestion ... ok
[INFO] [stdout] test generation::errors::tests::test_resource_exhaustion_with_suggestions ... ok
[INFO] [stdout] test generation::errors::tests::test_module_name_sanitization ... ok
[INFO] [stdout] test generation::errors::tests::test_unsupported_gate_error ... ok
[INFO] [stdout] test generation::errors::tests::test_testbench_generation_error_with_partial ... ok
[INFO] [stdout] test generation::errors::tests::test_timing_constraint_violation ... ok
[INFO] [stdout] test generation::errors::tests::test_hdl_syntax_error ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/canonical_forms.rs (/opt/rustwide/target/debug/deps/canonical_forms-3ed9fd88db72849b)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test test_canonical_expression_deduplication ... ok
[INFO] [stdout] test test_canonical_expression_display ... ok
[INFO] [stdout] test test_canonical_expression_optimization_metrics ... ok
[INFO] [stdout] test test_canonical_form_detection ... ok
[INFO] [stdout] test test_canonical_form_conversion_round_trip ... ok
[INFO] [stdout] test test_canonical_term_creation ... ok
[INFO] [stdout] test test_canonical_term_from_truth_table_row ... ok
[INFO] [stdout] test test_canonical_term_to_boolean_expr ... ok
[INFO] [stdout] test test_empty_canonical_expression ... ok
[INFO] [stdout] test test_canonical_form_detection_edge_cases ... ok
[INFO] [stdout] test test_canonical_term_covers ... ok
[INFO] [stdout] test test_complex_sop_conversion ... ok
[INFO] [stdout] test test_pos_conversion ... ok
[INFO] [stdout] test test_sop_conversion ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/evaluation_error_tests.rs (/opt/rustwide/target/debug/deps/evaluation_error_tests-947cbc42d829caa1)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test test_extract_multiple_variables ... ok
[INFO] [stdout] test test_extract_single_variable ... ok
[INFO] [stdout] test test_extract_duplicate_variables ... ok
[INFO] [stdout] test test_extract_variables_in_order ... ok
[INFO] [stdout] test test_extract_variables_in_order_with_duplicates ... ok
[INFO] [stdout] test test_count_variables ... ok
[INFO] [stdout] test test_evaluation_stack_overflow_error ... ok
[INFO] [stdout] test test_extract_with_constants ... ok
[INFO] [stdout] test test_extract_with_not ... ok
[INFO] [stdout] test test_contains_variable ... ok
[INFO] [stdout] test test_complex_variable_extraction ... ok
[INFO] [stdout] test test_inconsistent_variable_set_error ... ok
[INFO] [stdout] test test_variable_search_in_nested_expression ... ok
[INFO] [stdout] test test_variable_validation_edge_cases ... ok
[INFO] [stdout] test test_validate_variable_completeness_success ... ok
[INFO] [stdout] test test_invalid_truth_table_size_error ... ok
[INFO] [stdout] test test_undefined_variable_error ... ok
[INFO] [stdout] test test_validate_variable_completeness_failure ... ok
[INFO] [stdout] test test_undefined_variable_with_no_available_variables ... ok
[INFO] [stdout] test test_variable_ordering_consistency ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/evaluator_tests.rs (/opt/rustwide/target/debug/deps/evaluator_tests-f19922986021c503)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test test_complex_expression_evaluation ... ok
[INFO] [stdout] test test_exhaustive_evaluation ... ok
[INFO] [stdout] test test_and_expression_evaluation ... ok
[INFO] [stdout] test test_recursion_depth_limit ... ok
[INFO] [stdout] test test_short_circuit_evaluation ... ok
[INFO] [stdout] test test_simple_variable_evaluation ... ok
[INFO] [stdout] test test_undefined_variable_error_for_evaluator ... ok
[INFO] [stdout] test test_utils_satisfiable_detection ... ok
[INFO] [stdout] test test_utils_contradiction_detection ... ok
[INFO] [stdout] test test_ordered_assignments ... ok
[INFO] [stdout] test test_batch_error_context ... ok
[INFO] [stdout] test test_batch_evaluation ... ok
[INFO] [stdout] test test_utils_tautology_detection ... ok
[INFO] [stdout] test test_utils_quick_eval ... ok
[INFO] [stdout] 
[INFO] [stderr]      Running tests/generation_tests.rs (/opt/rustwide/target/debug/deps/generation_tests-f2425f6e935382b1)
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 51 tests
[INFO] [stdout] test test_area_estimation_simple_expression ... ok
[INFO] [stdout] test test_area_estimator_creation ... ok
[INFO] [stdout] test test_area_report_methods ... ok
[INFO] [stdout] test test_area_estimator_configuration ... ok
[INFO] [stdout] test test_cascading_error_scenarios ... ok
[INFO] [stdout] test test_complex_timing_violation_scenario ... ok
[INFO] [stdout] test test_complex_expression_handling ... ok
[INFO] [stdout] test test_constant_expressions ... ok
[INFO] [stdout] test test_area_optimization_suggestions ... ok
[INFO] [stdout] test test_error_context_preservation ... ok
[INFO] [stdout] test test_error_kind_equality_and_cloning ... ok
[INFO] [stdout] test test_gate_library_add_gate ... ok
[INFO] [stdout] test test_gate_library_creation ... ok
[INFO] [stdout] test test_gate_info_methods ... ok
[INFO] [stdout] test test_deeply_nested_expression ... ok
[INFO] [stdout] test test_error_severity_implications ... ok
[INFO] [stdout] test test_gate_library_error_comprehensive ... ok
[INFO] [stdout] test test_gate_library_lookup ... ok
[INFO] [stdout] test test_hdl_syntax_error_without_line_number ... ok
[INFO] [stdout] test test_module_name_sanitization_edge_cases ... ok
[INFO] [stdout] test test_helper_timing_violation_error ... ok
[INFO] [stdout] test test_optimization_suggestion_quality ... ok
[INFO] [stdout] test test_helper_resource_limit_error ... ok
[INFO] [stdout] test test_partial_testbench_handling ... ok
[INFO] [stdout] test test_port_mapping_conflict_resolution ... ok
[INFO] [stdout] test test_helper_module_naming_error ... ok
[INFO] [stdout] test test_resource_exhaustion_optimization_suggestions ... ok
[INFO] [stdout] test test_helper_resource_optimization_suggestions ... ok
[INFO] [stdout] test test_testbench_config_defaults ... ok
[INFO] [stdout] test test_single_variable_expression ... ok
[INFO] [stdout] test test_testbench_different_strategies ... ok
[INFO] [stdout] test test_synthesis_target_mismatch_conversion_path ... ok
[INFO] [stdout] test test_testbench_generation_from_expression ... ok
[INFO] [stdout] test test_timing_analysis_simple_expression ... ok
[INFO] [stdout] test test_timing_analyzer_creation ... ok
[INFO] [stdout] test test_testbench_generator_creation ... ok
[INFO] [stdout] test test_timing_violation_percentage_calculation ... ok
[INFO] [stdout] test test_timing_analyzer_with_constraints ... ok
[INFO] [stdout] test test_testbench_generation_without_partial ... ok
[INFO] [stdout] test test_verilog_generator_configuration ... ok
[INFO] [stdout] test test_verilog_generator_creation ... ok
[INFO] [stdout] test test_verilog_different_styles ... ok
[INFO] [stdout] test test_unsupported_expression_structure_alternatives ... ok
[INFO] [stdout] test test_verilog_generation_simple_and ... ok
[INFO] [stdout] test test_timing_report_methods ... ok
[INFO] [stdout] test test_vhdl_generation_simple_and ... ok
[INFO] [stdout] test test_vhdl_different_styles ... ok
[INFO] [stdout] test test_vhdl_generator_creation ... ok
[INFO] [stdout] test test_verilog_vhdl_both_work ... ok
[INFO] [stdout] test test_vhdl_generator_configuration ... ok
[INFO] [stdout] test test_technology_mapping_comprehensive_failure ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 51 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/karnaugh_map_tests.rs (/opt/rustwide/target/debug/deps/karnaugh_map_tests-c36a3b68dd6d87c5)
[INFO] [stdout] 
[INFO] [stdout] running 22 tests
[INFO] [stdout] test test_3_variable_kmap_minimization ... ok
[INFO] [stdout] test test_4_variable_kmap_complex_case ... ok
[INFO] [stdout] test test_gray_code_conversion ... ok
[INFO] [stdout] test test_kmap_from_simple_expression ... ok
[INFO] [stdout] test test_group_literal_count ... ok
[INFO] [stdout] test test_kmap_group_implication_calculation ... ok
[INFO] [stdout] test test_kmap_display ... ok
[INFO] [stdout] test test_kmap_display_formatting ... ok
[INFO] [stdout] test test_kmap_empty_expression_handling ... ok
[INFO] [stdout] test test_kmap_essential_prime_implicant_detection ... ok
[INFO] [stdout] test test_kmap_group_validation ... ok
[INFO] [stdout] test test_kmap_large_group_preference ... ok
[INFO] [stdout] test test_kmap_minimization ... ok
[INFO] [stdout] test test_kmap_minimization_steps_detail ... ok
[INFO] [stdout] test test_kmap_position ... ok
[INFO] [stdout] test test_kmap_position_to_variable_mapping ... ok
[INFO] [stdout] test test_kmap_power_of_2_group_validation ... ok
[INFO] [stdout] test test_kmap_single_variable_edge_case ... ok
[INFO] [stdout] test test_kmap_vs_truth_table_consistency ... ok
[INFO] [stdout] test test_kmap_wraparound_groups ... ok
[INFO] [stdout] test test_variable_limit_enforcement ... ok
[INFO] [stdout] test test_minimization_steps ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stderr]      Running tests/minimization_errors.rs (/opt/rustwide/target/debug/deps/minimization_errors-d0172a642e202e56)
[INFO] [stdout] test test_algorithm_specific_suggestions ... ok
[INFO] [stdout] test test_cyclic_dependency_detection ... ok
[INFO] [stdout] test test_complex_minimization_error_scenarios ... ok
[INFO] [stdout] test test_error_context_preservation ... ok
[INFO] [stdout] test test_helper_functions ... ok
[INFO] [stdout] test test_optimization_timeout_error ... ok
[INFO] [stdout] test test_error_kind_display ... ok
[INFO] [stdout] test test_too_many_variables_error ... ok
[INFO] [stdout] test test_invalid_canonical_form_error ... ok
[INFO] [stdout] test test_memory_exhaustion_detailed_reporting ... ok
[INFO] [stdout] test test_unsupported_operation_comprehensive ... ok
[INFO] [stderr]      Running tests/optimization_tests.rs (/opt/rustwide/target/debug/deps/optimization_tests-2e46dbde6102378e)
[INFO] [stdout] test test_helper_memory_estimation ... ok
[INFO] [stdout] test test_incompatible_truth_table_error ... ok
[INFO] [stdout] test test_minimization_failed_with_steps ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test test_algorithm_specific_data_management ... ok
[INFO] [stdout] test test_complexity_analysis ... ok
[INFO] [stdout] test test_bottleneck_identification ... ok
[INFO] [stdout] test test_expression_metrics_for_different_types ... ok
[INFO] [stdout] test test_expression_type_classification_comprehensive ... ok
[INFO] [stdout] test test_improvement_metrics_calculation ... ok
[INFO] [stdout] test test_complexity_analysis_scaling ... ok
[INFO] [stdout] test test_optimization_stats_creation ... ok
[INFO] [stdout] test test_comprehensive_optimization_analysis ... ok
[INFO] [stdout] test test_improvement_metrics_edge_cases ... ok
[INFO] [stdout] test test_memory_usage_estimation_accuracy ... ok
[INFO] [stdout] test test_optimization_stats_summary ... ok
[INFO] [stdout] test test_expression_metrics_calculation ... ok
[INFO] [stdout] test test_significant_improvement_detection ... ok
[INFO] [stdout] test test_optimization_stats_effectiveness_scoring ... ok
[INFO] [stdout] test test_memory_usage_estimation ... ok
[INFO] [stdout] test test_performance_benchmark ... ok
[INFO] [stdout] test test_performance_benchmark_detailed ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/parsing_error_tests.rs (/opt/rustwide/target/debug/deps/parsing_error_tests-3c8ec94a0cd32940)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test test_empty_expression_error ... ok
[INFO] [stdout] test test_invalid_character_error ... ok
[INFO] [stdout] test test_invalid_variable_name_error ... ok
[INFO] [stdout] test test_mismatched_parentheses_error ... ok
[INFO] [stdout] test test_mismatched_parentheses_with_opening_position ... ok
[INFO] [stdout] test test_position_indicator_accuracy ... ok
[INFO] [stdout] test test_unexpected_token_error ... ok
[INFO] [stdout] test test_unexpected_end_of_input_error ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/parsing_tests.rs (/opt/rustwide/target/debug/deps/parsing_tests-6a5022470e73c33e)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test test_parse_and_expression ... ok
[INFO] [stdout] test test_parse_precedence ... ok
[INFO] [stdout] test test_parse_not_expression ... ok
[INFO] [stderr]      Running tests/precedence_tests.rs (/opt/rustwide/target/debug/deps/precedence_tests-bf9c5565af63d51c)
[INFO] [stdout] test test_parse_simple_variable ... ok
[INFO] [stdout] test test_parse_parentheses ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stderr]      Running tests/quine_mccluskey_tests.rs (/opt/rustwide/target/debug/deps/quine_mccluskey_tests-94116a31ce7ba875)
[INFO] [stdout] test test_associativity ... ok
[INFO] [stdout] test test_binding_power ... ok
[INFO] [stdout] test test_operator_classification ... ok
[INFO] [stdout] test test_precedence_ordering ... ok
[INFO] [stdout] test test_token_precedence ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test test_constant_expressions ... ok
[INFO] [stdout] test test_dont_care_optimization_effectiveness ... ok
[INFO] [stdout] test test_minimization_with_dont_cares ... ok
[INFO] [stdout] test test_complex_expression_minimization ... ok
[INFO] [stdout] test test_prime_implicant_chart ... ok
[INFO] [stdout] test test_algorithm_stats ... ok
[INFO] [stdout] test test_minimization_preserves_satisfiability ... ok
[INFO] [stdout] test test_prime_implicant_chart_complex_case ... ok
[INFO] [stdout] test test_qm_term_combination ... ok
[INFO] [stdout] test test_qm_term_creation ... ok
[INFO] [stdout] test test_qm_term_string_representation ... ok
[INFO] [stdout] test test_simple_minimization ... ok
[INFO] [stdout] test test_variable_limit_enforcement ... ok
[INFO] [stdout] test test_qm_term_no_combination ... ok
[INFO] [stdout] test test_timeout_behavior ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/tokens_test.rs (/opt/rustwide/target/debug/deps/tokens_test-4027f503ea90b11f)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test test_tokenize_constants ... ok
[INFO] [stdout] test test_tokenize_simple_expression ... ok
[INFO] [stdout] test test_tokenize_word_operators ... ok
[INFO] [stdout] test test_invalid_character ... ok
[INFO] [stdout] test test_reserved_keyword_as_variable ... ok
[INFO] [stdout] test test_tokenize_with_parentheses ... ok
[INFO] [stdout] test test_whitespace_handling ... ok
[INFO] [stdout] test test_variable_starting_with_digit ... ok
[INFO] [stderr]      Running tests/truth_table_tests.rs (/opt/rustwide/target/debug/deps/truth_table_tests-4f0fd7466f587c49)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test test_truth_row_creation ... ok
[INFO] [stdout] test test_truth_table_display_formatting ... ok
[INFO] [stdout] test test_truth_table_from_not_expression ... ok
[INFO] [stdout] test test_truth_table_from_single_variable ... ok
[INFO] [stdout] test test_truth_table_equivalence ... ok
[INFO] [stdout] test test_truth_table_find_row ... ok
[INFO] [stdout] test test_truth_table_from_and_expression ... ok
[INFO] [stdout] test test_truth_table_minterms_maxterms ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests kiln
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "713910f337b301044ec117a073af4eb239b976861b704bccbe71775b15b849f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "713910f337b301044ec117a073af4eb239b976861b704bccbe71775b15b849f2", kill_on_drop: false }`
[INFO] [stdout] 713910f337b301044ec117a073af4eb239b976861b704bccbe71775b15b849f2
