[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) -> GenerationResult> { [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, count: usize) -> Vec { [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 { [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 { [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) -> GenerationResult> { [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, count: usize) -> Vec { [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 { [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 { [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) -> GenerationResult> { [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, count: usize) -> Vec { [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 { [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 { [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) -> GenerationResult> { [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, count: usize) -> Vec { [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 { [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 { [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) -> GenerationResult> { [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, count: usize) -> Vec { [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 { [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 { [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) -> GenerationResult> { [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, count: usize) -> Vec { [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 { [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 { [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) -> GenerationResult> { [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, count: usize) -> Vec { [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 { [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 { [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 { [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