[INFO] cloning repository https://github.com/fuzzymf/ferry [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/fuzzymf/ferry" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffuzzymf%2Fferry", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffuzzymf%2Fferry'... [INFO] [stderr] /workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffuzzymf%2Fferry/objects: No space left on device [WARN] Retrying crate fetch in 3 seconds (attempt 1) [INFO] cloning repository https://github.com/fuzzymf/ferry [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/fuzzymf/ferry" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffuzzymf%2Fferry", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffuzzymf%2Fferry'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 9b3438e882d5fdecf5fb1bdc21d4ff8ccc119d0d [INFO] checking fuzzymf/ferry against try#bf5ff6675cf10ce009ac02007b064a7cfc4509ac for pr-140558 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffuzzymf%2Fferry" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/fuzzymf/ferry on toolchain bf5ff6675cf10ce009ac02007b064a7cfc4509ac [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bf5ff6675cf10ce009ac02007b064a7cfc4509ac" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/fuzzymf/ferry [INFO] finished tweaking git repo https://github.com/fuzzymf/ferry [INFO] tweaked toml for git repo https://github.com/fuzzymf/ferry written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/fuzzymf/ferry 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" "+bf5ff6675cf10ce009ac02007b064a7cfc4509ac" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+bf5ff6675cf10ce009ac02007b064a7cfc4509ac" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d7ccfaa8ff94068201479dc9a96e78bb1aec2f64bfd0aa6022c1bcf68f3c9e7c [INFO] running `Command { std: "docker" "start" "-a" "d7ccfaa8ff94068201479dc9a96e78bb1aec2f64bfd0aa6022c1bcf68f3c9e7c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d7ccfaa8ff94068201479dc9a96e78bb1aec2f64bfd0aa6022c1bcf68f3c9e7c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d7ccfaa8ff94068201479dc9a96e78bb1aec2f64bfd0aa6022c1bcf68f3c9e7c", kill_on_drop: false }` [INFO] [stdout] d7ccfaa8ff94068201479dc9a96e78bb1aec2f64bfd0aa6022c1bcf68f3c9e7c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+bf5ff6675cf10ce009ac02007b064a7cfc4509ac" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9d2ef6ff3975d989f75bff70aaab7d5fe1e6f39931e16ddf660012815a88af97 [INFO] running `Command { std: "docker" "start" "-a" "9d2ef6ff3975d989f75bff70aaab7d5fe1e6f39931e16ddf660012815a88af97", kill_on_drop: false }` [INFO] [stderr] Checking ferry v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `VecDeque` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:2:42 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::{HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Keyword` [INFO] [stdout] --> src/parser/declarations.rs:3:51 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::parser::types::{ASTNodeType, DataType, Keyword, TokenType}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Keyword` [INFO] [stdout] --> src/parser/expressions.rs:3:41 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::parser::types::{ASTNodeType, Keyword, TokenType}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VecDeque` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:2:42 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::{HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Keyword` [INFO] [stdout] --> src/parser/declarations.rs:3:51 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::parser::types::{ASTNodeType, DataType, Keyword, TokenType}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Keyword` [INFO] [stdout] --> src/parser/expressions.rs:3:41 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::parser::types::{ASTNodeType, Keyword, TokenType}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `count` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:235:18 [INFO] [stdout] | [INFO] [stdout] 235 | let (result, count) = fold_and_propagate_with_stats(node, const_map, changed)?; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_count` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `original_len` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:862:13 [INFO] [stdout] | [INFO] [stdout] 862 | let original_len = result.children.len(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_original_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target_changed` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:904:52 [INFO] [stdout] | [INFO] [stdout] 904 | ... let (target_block, target_changed, target_removed) = [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_changed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `changed` is never read [INFO] [stdout] --> src/ir/advanced_optimiser.rs:913:33 [INFO] [stdout] | [INFO] [stdout] 913 | ... changed = true; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `loop_optimized` is never read [INFO] [stdout] --> src/ir/advanced_optimiser.rs:1058:21 [INFO] [stdout] | [INFO] [stdout] 1058 | loop_optimized = true; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ind_var` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:1265:18 [INFO] [stdout] | [INFO] [stdout] 1265 | let (ind_var, const_node) = if is_induction_var(&condition.children[0], induction_vars) [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ind_var` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ind_idx` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:1642:59 [INFO] [stdout] | [INFO] [stdout] 1642 | ... let (has_ind_var, ind_idx, const_idx) = if is_induction_var( [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ind_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var_node` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:1870:22 [INFO] [stdout] | [INFO] [stdout] 1870 | let (var_node, const_node) = [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ind_idx` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:2097:34 [INFO] [stdout] | [INFO] [stdout] 2097 | let (is_ind_var, ind_idx, const_idx) = [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ind_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `has_multiple_returns` is assigned to, but never used [INFO] [stdout] --> src/ir/advanced_optimiser.rs:2458:13 [INFO] [stdout] | [INFO] [stdout] 2458 | let mut has_multiple_returns = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_has_multiple_returns` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `has_multiple_returns` is never read [INFO] [stdout] --> src/ir/advanced_optimiser.rs:2469:9 [INFO] [stdout] | [INFO] [stdout] 2469 | has_multiple_returns = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `count` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:235:18 [INFO] [stdout] | [INFO] [stdout] 235 | let (result, count) = fold_and_propagate_with_stats(node, const_map, changed)?; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_count` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var_node` [INFO] [stdout] --> src/ir/basic_optimiser.rs:827:22 [INFO] [stdout] | [INFO] [stdout] 827 | let (var_node, const_node) = [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ind_idx` [INFO] [stdout] --> src/ir/basic_optimiser.rs:1079:34 [INFO] [stdout] | [INFO] [stdout] 1079 | let (is_ind_var, ind_idx, const_idx) = [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ind_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `original_len` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:862:13 [INFO] [stdout] | [INFO] [stdout] 862 | let original_len = result.children.len(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_original_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target_changed` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:904:52 [INFO] [stdout] | [INFO] [stdout] 904 | ... let (target_block, target_changed, target_removed) = [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_changed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `changed` is never read [INFO] [stdout] --> src/ir/advanced_optimiser.rs:913:33 [INFO] [stdout] | [INFO] [stdout] 913 | ... changed = true; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `loop_optimized` is never read [INFO] [stdout] --> src/ir/advanced_optimiser.rs:1058:21 [INFO] [stdout] | [INFO] [stdout] 1058 | loop_optimized = true; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ind_var` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:1265:18 [INFO] [stdout] | [INFO] [stdout] 1265 | let (ind_var, const_node) = if is_induction_var(&condition.children[0], induction_vars) [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ind_var` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ind_idx` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:1642:59 [INFO] [stdout] | [INFO] [stdout] 1642 | ... let (has_ind_var, ind_idx, const_idx) = if is_induction_var( [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ind_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var_node` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:1870:22 [INFO] [stdout] | [INFO] [stdout] 1870 | let (var_node, const_node) = [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ind_idx` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:2097:34 [INFO] [stdout] | [INFO] [stdout] 2097 | let (is_ind_var, ind_idx, const_idx) = [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ind_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `has_multiple_returns` is assigned to, but never used [INFO] [stdout] --> src/ir/advanced_optimiser.rs:2458:13 [INFO] [stdout] | [INFO] [stdout] 2458 | let mut has_multiple_returns = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_has_multiple_returns` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `has_multiple_returns` is never read [INFO] [stdout] --> src/ir/advanced_optimiser.rs:2469:9 [INFO] [stdout] | [INFO] [stdout] 2469 | has_multiple_returns = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `void_ptr_type` [INFO] [stdout] --> src/semantic/preprocessor.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | let void_ptr_type = Type::Pointer(Box::new(void_type.clone())); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_void_ptr_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `float_type` [INFO] [stdout] --> src/semantic/preprocessor.rs:330:9 [INFO] [stdout] | [INFO] [stdout] 330 | let float_type = Type::Float; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_float_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/semantic/symbol_table.rs:87:14 [INFO] [stdout] | [INFO] [stdout] 87 | for (i, scope) in self.scopes.iter().enumerate().rev() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var_node` [INFO] [stdout] --> src/ir/basic_optimiser.rs:827:22 [INFO] [stdout] | [INFO] [stdout] 827 | let (var_node, const_node) = [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `return_type` [INFO] [stdout] --> src/semantic/mod.rs:510:25 [INFO] [stdout] | [INFO] [stdout] 510 | return_type, [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `return_type: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `return_type` [INFO] [stdout] --> src/semantic/mod.rs:541:50 [INFO] [stdout] | [INFO] [stdout] 541 | symbol_table::Type::Variadic(return_type) => { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ind_idx` [INFO] [stdout] --> src/ir/basic_optimiser.rs:1079:34 [INFO] [stdout] | [INFO] [stdout] 1079 | let (is_ind_var, ind_idx, const_idx) = [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ind_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `constant_folding_and_propagation` is never used [INFO] [stdout] --> src/ir/advanced_optimiser.rs:114:4 [INFO] [stdout] | [INFO] [stdout] 114 | fn constant_folding_and_propagation(node: IRNode) -> Result<(IRNode, bool), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fold_and_propagate` is never used [INFO] [stdout] --> src/ir/advanced_optimiser.rs:229:4 [INFO] [stdout] | [INFO] [stdout] 229 | fn fold_and_propagate( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `enhanced_dead_code_elimination` is never used [INFO] [stdout] --> src/ir/advanced_optimiser.rs:430:4 [INFO] [stdout] | [INFO] [stdout] 430 | fn enhanced_dead_code_elimination(node: IRNode) -> Result<(IRNode, bool), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `remove_dead_code` is never used [INFO] [stdout] --> src/ir/advanced_optimiser.rs:771:4 [INFO] [stdout] | [INFO] [stdout] 771 | fn remove_dead_code( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advanced_loop_optimization` is never used [INFO] [stdout] --> src/ir/advanced_optimiser.rs:1007:4 [INFO] [stdout] | [INFO] [stdout] 1007 | fn advanced_loop_optimization(node: IRNode) -> Result<(IRNode, bool), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Float` and `Bool` are never constructed [INFO] [stdout] --> src/ir/advanced_optimiser.rs:1163:5 [INFO] [stdout] | [INFO] [stdout] 1161 | enum IRValue { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 1162 | Int(i32), [INFO] [stdout] 1163 | Float(f32), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 1164 | Bool(bool), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IRValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `common_subexpression_elimination` is never used [INFO] [stdout] --> src/ir/advanced_optimiser.rs:2296:4 [INFO] [stdout] | [INFO] [stdout] 2296 | fn common_subexpression_elimination(node: IRNode) -> Result<(IRNode, bool), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_cse` is never used [INFO] [stdout] --> src/ir/advanced_optimiser.rs:2362:4 [INFO] [stdout] | [INFO] [stdout] 2362 | fn apply_cse( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `optimize_functions` is never used [INFO] [stdout] --> src/ir/advanced_optimiser.rs:2413:4 [INFO] [stdout] | [INFO] [stdout] 2413 | fn optimize_functions(node: IRNode) -> Result<(IRNode, bool), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `var_counter` is never read [INFO] [stdout] --> src/ir/generator.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct IRGenerator { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 6 | // Counter for generating unique variable names in the IR [INFO] [stdout] 7 | var_counter: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `fresh_var` is never used [INFO] [stdout] --> src/ir/generator.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 12 | impl IRGenerator { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 21 | fn fresh_var(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Operator` is never used [INFO] [stdout] --> src/parser/types.rs:85:6 [INFO] [stdout] | [INFO] [stdout] 85 | enum Operator { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `void_ptr_type` [INFO] [stdout] --> src/semantic/preprocessor.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | let void_ptr_type = Type::Pointer(Box::new(void_type.clone())); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_void_ptr_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `float_type` [INFO] [stdout] --> src/semantic/preprocessor.rs:330:9 [INFO] [stdout] | [INFO] [stdout] 330 | let float_type = Type::Float; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_float_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/semantic/symbol_table.rs:87:14 [INFO] [stdout] | [INFO] [stdout] 87 | for (i, scope) in self.scopes.iter().enumerate().rev() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `return_type` [INFO] [stdout] --> src/semantic/mod.rs:510:25 [INFO] [stdout] | [INFO] [stdout] 510 | return_type, [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `return_type: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `return_type` [INFO] [stdout] --> src/semantic/mod.rs:541:50 [INFO] [stdout] | [INFO] [stdout] 541 | symbol_table::Type::Variadic(return_type) => { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `constant_folding_and_propagation` is never used [INFO] [stdout] --> src/ir/advanced_optimiser.rs:114:4 [INFO] [stdout] | [INFO] [stdout] 114 | fn constant_folding_and_propagation(node: IRNode) -> Result<(IRNode, bool), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fold_and_propagate` is never used [INFO] [stdout] --> src/ir/advanced_optimiser.rs:229:4 [INFO] [stdout] | [INFO] [stdout] 229 | fn fold_and_propagate( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `enhanced_dead_code_elimination` is never used [INFO] [stdout] --> src/ir/advanced_optimiser.rs:430:4 [INFO] [stdout] | [INFO] [stdout] 430 | fn enhanced_dead_code_elimination(node: IRNode) -> Result<(IRNode, bool), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `remove_dead_code` is never used [INFO] [stdout] --> src/ir/advanced_optimiser.rs:771:4 [INFO] [stdout] | [INFO] [stdout] 771 | fn remove_dead_code( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advanced_loop_optimization` is never used [INFO] [stdout] --> src/ir/advanced_optimiser.rs:1007:4 [INFO] [stdout] | [INFO] [stdout] 1007 | fn advanced_loop_optimization(node: IRNode) -> Result<(IRNode, bool), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Float` and `Bool` are never constructed [INFO] [stdout] --> src/ir/advanced_optimiser.rs:1163:5 [INFO] [stdout] | [INFO] [stdout] 1161 | enum IRValue { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 1162 | Int(i32), [INFO] [stdout] 1163 | Float(f32), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 1164 | Bool(bool), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IRValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `common_subexpression_elimination` is never used [INFO] [stdout] --> src/ir/advanced_optimiser.rs:2296:4 [INFO] [stdout] | [INFO] [stdout] 2296 | fn common_subexpression_elimination(node: IRNode) -> Result<(IRNode, bool), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_cse` is never used [INFO] [stdout] --> src/ir/advanced_optimiser.rs:2362:4 [INFO] [stdout] | [INFO] [stdout] 2362 | fn apply_cse( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `optimize_functions` is never used [INFO] [stdout] --> src/ir/advanced_optimiser.rs:2413:4 [INFO] [stdout] | [INFO] [stdout] 2413 | fn optimize_functions(node: IRNode) -> Result<(IRNode, bool), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `var_counter` is never read [INFO] [stdout] --> src/ir/generator.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct IRGenerator { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 6 | // Counter for generating unique variable names in the IR [INFO] [stdout] 7 | var_counter: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `fresh_var` is never used [INFO] [stdout] --> src/ir/generator.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 12 | impl IRGenerator { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 21 | fn fresh_var(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Operator` is never used [INFO] [stdout] --> src/parser/types.rs:85:6 [INFO] [stdout] | [INFO] [stdout] 85 | enum Operator { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VecDeque` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:2:42 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::{HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Keyword` [INFO] [stdout] --> src/parser/declarations.rs:3:51 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::parser::types::{ASTNodeType, DataType, Keyword, TokenType}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Keyword` [INFO] [stdout] --> src/parser/expressions.rs:3:41 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::parser::types::{ASTNodeType, Keyword, TokenType}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VecDeque` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:2:42 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::{HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Keyword` [INFO] [stdout] --> src/parser/declarations.rs:3:51 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::parser::types::{ASTNodeType, DataType, Keyword, TokenType}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Keyword` [INFO] [stdout] --> src/parser/expressions.rs:3:41 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::parser::types::{ASTNodeType, Keyword, TokenType}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `param_offset` [INFO] [stdout] --> src/codegen/mod.rs:270:21 [INFO] [stdout] | [INFO] [stdout] 270 | let mut param_offset = 0; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_param_offset` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/codegen/mod.rs:270:17 [INFO] [stdout] | [INFO] [stdout] 270 | let mut param_offset = 0; [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `count` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:235:18 [INFO] [stdout] | [INFO] [stdout] 235 | let (result, count) = fold_and_propagate_with_stats(node, const_map, changed)?; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `original_len` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:862:13 [INFO] [stdout] | [INFO] [stdout] 862 | let original_len = result.children.len(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_original_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target_changed` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:904:52 [INFO] [stdout] | [INFO] [stdout] 904 | ... let (target_block, target_changed, target_removed) = [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_changed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `changed` is never read [INFO] [stdout] --> src/ir/advanced_optimiser.rs:913:33 [INFO] [stdout] | [INFO] [stdout] 913 | ... changed = true; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `loop_optimized` is never read [INFO] [stdout] --> src/ir/advanced_optimiser.rs:1058:21 [INFO] [stdout] | [INFO] [stdout] 1058 | loop_optimized = true; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ind_var` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:1265:18 [INFO] [stdout] | [INFO] [stdout] 1265 | let (ind_var, const_node) = if is_induction_var(&condition.children[0], induction_vars) [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ind_var` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ind_idx` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:1642:59 [INFO] [stdout] | [INFO] [stdout] 1642 | ... let (has_ind_var, ind_idx, const_idx) = if is_induction_var( [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ind_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var_node` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:1870:22 [INFO] [stdout] | [INFO] [stdout] 1870 | let (var_node, const_node) = [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ind_idx` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:2097:34 [INFO] [stdout] | [INFO] [stdout] 2097 | let (is_ind_var, ind_idx, const_idx) = [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ind_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `has_multiple_returns` is assigned to, but never used [INFO] [stdout] --> src/ir/advanced_optimiser.rs:2458:13 [INFO] [stdout] | [INFO] [stdout] 2458 | let mut has_multiple_returns = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_has_multiple_returns` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `has_multiple_returns` is never read [INFO] [stdout] --> src/ir/advanced_optimiser.rs:2469:9 [INFO] [stdout] | [INFO] [stdout] 2469 | has_multiple_returns = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var_node` [INFO] [stdout] --> src/ir/basic_optimiser.rs:827:22 [INFO] [stdout] | [INFO] [stdout] 827 | let (var_node, const_node) = [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ind_idx` [INFO] [stdout] --> src/ir/basic_optimiser.rs:1079:34 [INFO] [stdout] | [INFO] [stdout] 1079 | let (is_ind_var, ind_idx, const_idx) = [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ind_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `param_offset` [INFO] [stdout] --> src/codegen/mod.rs:270:21 [INFO] [stdout] | [INFO] [stdout] 270 | let mut param_offset = 0; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_param_offset` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/codegen/mod.rs:270:17 [INFO] [stdout] | [INFO] [stdout] 270 | let mut param_offset = 0; [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `count` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:235:18 [INFO] [stdout] | [INFO] [stdout] 235 | let (result, count) = fold_and_propagate_with_stats(node, const_map, changed)?; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `original_len` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:862:13 [INFO] [stdout] | [INFO] [stdout] 862 | let original_len = result.children.len(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_original_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target_changed` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:904:52 [INFO] [stdout] | [INFO] [stdout] 904 | ... let (target_block, target_changed, target_removed) = [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_changed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `changed` is never read [INFO] [stdout] --> src/ir/advanced_optimiser.rs:913:33 [INFO] [stdout] | [INFO] [stdout] 913 | ... changed = true; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `loop_optimized` is never read [INFO] [stdout] --> src/ir/advanced_optimiser.rs:1058:21 [INFO] [stdout] | [INFO] [stdout] 1058 | loop_optimized = true; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `void_ptr_type` [INFO] [stdout] --> src/semantic/preprocessor.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | let void_ptr_type = Type::Pointer(Box::new(void_type.clone())); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_void_ptr_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ind_var` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:1265:18 [INFO] [stdout] | [INFO] [stdout] 1265 | let (ind_var, const_node) = if is_induction_var(&condition.children[0], induction_vars) [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ind_var` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `float_type` [INFO] [stdout] --> src/semantic/preprocessor.rs:330:9 [INFO] [stdout] | [INFO] [stdout] 330 | let float_type = Type::Float; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_float_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ind_idx` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:1642:59 [INFO] [stdout] | [INFO] [stdout] 1642 | ... let (has_ind_var, ind_idx, const_idx) = if is_induction_var( [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ind_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var_node` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:1870:22 [INFO] [stdout] | [INFO] [stdout] 1870 | let (var_node, const_node) = [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/semantic/symbol_table.rs:87:14 [INFO] [stdout] | [INFO] [stdout] 87 | for (i, scope) in self.scopes.iter().enumerate().rev() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ind_idx` [INFO] [stdout] --> src/ir/advanced_optimiser.rs:2097:34 [INFO] [stdout] | [INFO] [stdout] 2097 | let (is_ind_var, ind_idx, const_idx) = [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ind_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `has_multiple_returns` is assigned to, but never used [INFO] [stdout] --> src/ir/advanced_optimiser.rs:2458:13 [INFO] [stdout] | [INFO] [stdout] 2458 | let mut has_multiple_returns = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_has_multiple_returns` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `has_multiple_returns` is never read [INFO] [stdout] --> src/ir/advanced_optimiser.rs:2469:9 [INFO] [stdout] | [INFO] [stdout] 2469 | has_multiple_returns = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var_node` [INFO] [stdout] --> src/ir/basic_optimiser.rs:827:22 [INFO] [stdout] | [INFO] [stdout] 827 | let (var_node, const_node) = [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `return_type` [INFO] [stdout] --> src/semantic/mod.rs:510:25 [INFO] [stdout] | [INFO] [stdout] 510 | return_type, [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `return_type: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `return_type` [INFO] [stdout] --> src/semantic/mod.rs:541:50 [INFO] [stdout] | [INFO] [stdout] 541 | symbol_table::Type::Variadic(return_type) => { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ind_idx` [INFO] [stdout] --> src/ir/basic_optimiser.rs:1079:34 [INFO] [stdout] | [INFO] [stdout] 1079 | let (is_ind_var, ind_idx, const_idx) = [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ind_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `temp_counter` is never read [INFO] [stdout] --> src/codegen/mod.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 27 | struct CodeGenContext { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 28 | asm_code: String, [INFO] [stdout] 29 | temp_counter: usize, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `constant_folding_and_propagation` is never used [INFO] [stdout] --> src/ir/advanced_optimiser.rs:114:4 [INFO] [stdout] | [INFO] [stdout] 114 | fn constant_folding_and_propagation(node: IRNode) -> Result<(IRNode, bool), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fold_and_propagate` is never used [INFO] [stdout] --> src/ir/advanced_optimiser.rs:229:4 [INFO] [stdout] | [INFO] [stdout] 229 | fn fold_and_propagate( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `enhanced_dead_code_elimination` is never used [INFO] [stdout] --> src/ir/advanced_optimiser.rs:430:4 [INFO] [stdout] | [INFO] [stdout] 430 | fn enhanced_dead_code_elimination(node: IRNode) -> Result<(IRNode, bool), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `remove_dead_code` is never used [INFO] [stdout] --> src/ir/advanced_optimiser.rs:771:4 [INFO] [stdout] | [INFO] [stdout] 771 | fn remove_dead_code( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advanced_loop_optimization` is never used [INFO] [stdout] --> src/ir/advanced_optimiser.rs:1007:4 [INFO] [stdout] | [INFO] [stdout] 1007 | fn advanced_loop_optimization(node: IRNode) -> Result<(IRNode, bool), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Float` and `Bool` are never constructed [INFO] [stdout] --> src/ir/advanced_optimiser.rs:1163:5 [INFO] [stdout] | [INFO] [stdout] 1161 | enum IRValue { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 1162 | Int(i32), [INFO] [stdout] 1163 | Float(f32), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 1164 | Bool(bool), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IRValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `common_subexpression_elimination` is never used [INFO] [stdout] --> src/ir/advanced_optimiser.rs:2296:4 [INFO] [stdout] | [INFO] [stdout] 2296 | fn common_subexpression_elimination(node: IRNode) -> Result<(IRNode, bool), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_cse` is never used [INFO] [stdout] --> src/ir/advanced_optimiser.rs:2362:4 [INFO] [stdout] | [INFO] [stdout] 2362 | fn apply_cse( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `optimize_functions` is never used [INFO] [stdout] --> src/ir/advanced_optimiser.rs:2413:4 [INFO] [stdout] | [INFO] [stdout] 2413 | fn optimize_functions(node: IRNode) -> Result<(IRNode, bool), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `var_counter` is never read [INFO] [stdout] --> src/ir/generator.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct IRGenerator { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 6 | // Counter for generating unique variable names in the IR [INFO] [stdout] 7 | var_counter: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `fresh_var` is never used [INFO] [stdout] --> src/ir/generator.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 12 | impl IRGenerator { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 21 | fn fresh_var(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Type` is never constructed [INFO] [stdout] --> src/ir/types.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 2 | pub enum IRNodeType { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 29 | Type, // Type information [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IRNodeType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Int64`, `Double`, and `Array` are never constructed [INFO] [stdout] --> src/ir/types.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub enum IRType { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 45 | Int64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 46 | Float, [INFO] [stdout] 47 | Double, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 48 | Pointer(Box), [INFO] [stdout] 49 | Array(Box, usize), // Type and size [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IRType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `line` and `column` are never read [INFO] [stdout] --> src/parser/tokenizer.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Token { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 6 | pub token_type: TokenType, // Type of token [INFO] [stdout] 7 | pub line: usize, // Line number for better error reporting [INFO] [stdout] | ^^^^ [INFO] [stdout] 8 | pub column: usize, // Column number for better error reporting [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/types.rs:71:13 [INFO] [stdout] | [INFO] [stdout] 71 | Comment(String), [INFO] [stdout] | ------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `TokenType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 71 - Comment(String), [INFO] [stdout] 71 + Comment(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Operator` is never used [INFO] [stdout] --> src/parser/types.rs:85:6 [INFO] [stdout] | [INFO] [stdout] 85 | enum Operator { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `LongDouble`, `UnsignedChar`, `UnsignedInt`, `UnsignedShort`, and `UnsignedLong` are never constructed [INFO] [stdout] --> src/parser/types.rs:166:5 [INFO] [stdout] | [INFO] [stdout] 157 | pub enum DataType { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 166 | LongDouble, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 167 | UnsignedChar, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 168 | UnsignedInt, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 169 | UnsignedShort, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 170 | UnsignedLong, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DataType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Function`, `Statement`, and `Expression` are never constructed [INFO] [stdout] --> src/parser/types.rs:193:5 [INFO] [stdout] | [INFO] [stdout] 190 | pub enum ASTNodeType { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 193 | Function, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 201 | Statement, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 217 | Expression, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ASTNodeType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Struct` and `Array` are never constructed [INFO] [stdout] --> src/semantic/symbol_table.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum Type { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 17 | Struct(String), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 18 | Array { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Type` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `is_initialized` are never read [INFO] [stdout] --> src/semantic/symbol_table.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct Symbol { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 27 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 28 | pub symbol_type: Type, [INFO] [stdout] 29 | pub is_initialized: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Symbol` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `print_symbols` is never used [INFO] [stdout] --> src/semantic/symbol_table.rs:95:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl SymbolTable { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn print_symbols(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't create a temp dir: No space left on device (os error 28) at path "/opt/rustwide/target/debug/deps/rmetanLSv2W" [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `void_ptr_type` [INFO] [stdout] --> src/semantic/preprocessor.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | let void_ptr_type = Type::Pointer(Box::new(void_type.clone())); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_void_ptr_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `float_type` [INFO] [stdout] --> src/semantic/preprocessor.rs:330:9 [INFO] [stdout] | [INFO] [stdout] 330 | let float_type = Type::Float; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_float_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `ferry` (bin "ferry") due to 1 previous error; 45 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `ferry` (bin "ferry" test); 20 warnings emitted [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] No space left on device (os error 28) [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] failed to parse process output: `/opt/rustwide/rustup-home/toolchains/bf5ff6675cf10ce009ac02007b064a7cfc4509ac/bin/rustc --crate-name ferry --edition=2021 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --test --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=31865d971366fe94 -C extra-filename=-c396d8cc5b7ef40b --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern ferry=/opt/rustwide/target/debug/deps/libferry-d0c48c3c0957fb69.rmeta --cap-lints=forbid` (exit status: 0) [INFO] running `Command { std: "docker" "inspect" "9d2ef6ff3975d989f75bff70aaab7d5fe1e6f39931e16ddf660012815a88af97", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9d2ef6ff3975d989f75bff70aaab7d5fe1e6f39931e16ddf660012815a88af97", kill_on_drop: false }` [INFO] [stdout] 9d2ef6ff3975d989f75bff70aaab7d5fe1e6f39931e16ddf660012815a88af97