[INFO] cloning repository https://github.com/elias-michaias/flint [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/elias-michaias/flint" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Felias-michaias%2Fflint", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Felias-michaias%2Fflint'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 16f8efe02ebf46b61a6afbf6cf5b4c14da9aa135 [INFO] checking elias-michaias/flint against try#579169d0e78824dc60934e5eb74cd3841f2b33e8 for pr-149328 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Felias-michaias%2Fflint" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/elias-michaias/flint [INFO] finished tweaking git repo https://github.com/elias-michaias/flint [INFO] tweaked toml for git repo https://github.com/elias-michaias/flint written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/elias-michaias/flint on toolchain 579169d0e78824dc60934e5eb74cd3841f2b33e8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+579169d0e78824dc60934e5eb74cd3841f2b33e8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/elias-michaias/flint 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" "+579169d0e78824dc60934e5eb74cd3841f2b33e8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded syn v2.0.103 [INFO] [stderr] Downloaded libc v0.2.173 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+579169d0e78824dc60934e5eb74cd3841f2b33e8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d76753d57fa37e2125ba1149c8347052d0f3386f1a3889116a2eab02ac9a5b75 [INFO] running `Command { std: "docker" "start" "-a" "d76753d57fa37e2125ba1149c8347052d0f3386f1a3889116a2eab02ac9a5b75", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d76753d57fa37e2125ba1149c8347052d0f3386f1a3889116a2eab02ac9a5b75", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d76753d57fa37e2125ba1149c8347052d0f3386f1a3889116a2eab02ac9a5b75", kill_on_drop: false }` [INFO] [stdout] d76753d57fa37e2125ba1149c8347052d0f3386f1a3889116a2eab02ac9a5b75 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+579169d0e78824dc60934e5eb74cd3841f2b33e8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d346ae45f7f64e9c7e1b344c2320e05ace4de4c74685d7c10f5eb8b83e5d2b38 [INFO] running `Command { std: "docker" "start" "-a" "d346ae45f7f64e9c7e1b344c2320e05ace4de4c74685d7c10f5eb8b83e5d2b38", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.173 [INFO] [stderr] Compiling rustix v1.0.7 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Compiling syn v2.0.103 [INFO] [stderr] Checking clap_builder v4.5.40 [INFO] [stderr] Checking getrandom v0.3.3 [INFO] [stderr] Checking tempfile v3.20.0 [INFO] [stderr] Compiling clap_derive v4.5.40 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking clap v4.5.40 [INFO] [stderr] Checking flint v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0432]: unresolved import `crate::flint_lexer` [INFO] [stdout] --> src/parser.rs:1135:16 [INFO] [stdout] | [INFO] [stdout] 1135 | use crate::flint_lexer::tokenize; [INFO] [stdout] | ^^^^^^^^^^^ could not find `flint_lexer` in the crate root [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `crate::lexer::FlintLexer` [INFO] [stdout] --> src/typechecking.rs:831:9 [INFO] [stdout] | [INFO] [stdout] 831 | use crate::lexer::FlintLexer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ no `FlintLexer` in `lexer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `multispace1`, `preceded`, and `take_while1` [INFO] [stdout] --> src/lexer.rs:3:40 [INFO] [stdout] | [INFO] [stdout] 3 | bytes::complete::{tag, take_until, take_while1}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 4 | character::complete::{alpha1, alphanumeric1, char, digit1, multispace0, multispace1}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7 | sequence::{delimited, pair, preceded}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/ir.rs:2:33 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `multispace1`, `preceded`, and `take_while1` [INFO] [stdout] --> src/lexer.rs:3:40 [INFO] [stdout] | [INFO] [stdout] 3 | bytes::complete::{tag, take_until, take_while1}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 4 | character::complete::{alpha1, alphanumeric1, char, digit1, multispace0, multispace1}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7 | sequence::{delimited, pair, preceded}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::parser::FlintParser` [INFO] [stdout] --> src/typechecking.rs:832:9 [INFO] [stdout] | [INFO] [stdout] 832 | use crate::parser::FlintParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/ir.rs:2:33 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::diagnostic::SourceLocation` [INFO] [stdout] --> src/package.rs:535:9 [INFO] [stdout] | [INFO] [stdout] 535 | use crate::diagnostic::SourceLocation; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 5 arguments but 4 arguments were supplied [INFO] [stdout] --> src/main.rs:857:22 [INFO] [stdout] | [INFO] [stdout] 857 | let result = compile_command(input_path, None, false, false); [INFO] [stdout] | ^^^^^^^^^^^^^^^-------------------------------- argument #5 of type `bool` is missing [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/main.rs:497:4 [INFO] [stdout] | [INFO] [stdout] 497 | fn compile_command(input: PathBuf, output: Option, executable: bool, debug: bool, dump_ir: bool) -> Result<(), Box src/main.rs:867:22 [INFO] [stdout] | [INFO] [stdout] 867 | let result = check_command(input_path, false); [INFO] [stdout] | ^^^^^^^^^^^^^------------------- argument #3 of type `bool` is missing [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/main.rs:810:4 [INFO] [stdout] | [INFO] [stdout] 810 | fn check_command(input: PathBuf, report: bool, debug: bool) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^ ----------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 867 | let result = check_command(input_path, false, /* bool */); [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:464:25 [INFO] [stdout] | [INFO] [stdout] 464 | let mut has_tail = false; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `has_tail` [INFO] [stdout] --> src/parser.rs:464:25 [INFO] [stdout] | [INFO] [stdout] 464 | let mut has_tail = false; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_tail` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:464:25 [INFO] [stdout] | [INFO] [stdout] 464 | let mut has_tail = false; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `has_tail` [INFO] [stdout] --> src/parser.rs:464:25 [INFO] [stdout] | [INFO] [stdout] 464 | let mut has_tail = false; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_tail` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `suspension_var` [INFO] [stdout] --> src/codegen.rs:332:13 [INFO] [stdout] | [INFO] [stdout] 332 | let suspension_var = self.fresh_var_with_prefix("susp"); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_suspension_var` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `module` [INFO] [stdout] --> src/codegen.rs:719:46 [INFO] [stdout] | [INFO] [stdout] 719 | fn generate_c_call_expression(&mut self, module: &str, function: &str, args: &[Expr]) -> Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_module` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `suspension_var` [INFO] [stdout] --> src/codegen.rs:332:13 [INFO] [stdout] | [INFO] [stdout] 332 | let suspension_var = self.fresh_var_with_prefix("susp"); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_suspension_var` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/codegen.rs:915:22 [INFO] [stdout] | [INFO] [stdout] 915 | for (i, arg) in args.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `module` [INFO] [stdout] --> src/codegen.rs:719:46 [INFO] [stdout] | [INFO] [stdout] 719 | fn generate_c_call_expression(&mut self, module: &str, function: &str, args: &[Expr]) -> Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_module` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/codegen.rs:1127:72 [INFO] [stdout] | [INFO] [stdout] 1127 | fn generate_function_definition(&mut self, function: &FunctionDef, ctx: &mut CompilationContext) -> Result<(), CodegenError> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `clause` [INFO] [stdout] --> src/codegen.rs:1174:21 [INFO] [stdout] | [INFO] [stdout] 1174 | if let Some(clause) = function.clauses.first() { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_clause` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `program` [INFO] [stdout] --> src/codegen.rs:1204:82 [INFO] [stdout] | [INFO] [stdout] 1204 | ...&crate::ir::IRFunction, program: &Program, ctx: &mut CompilationContext) -> Result<(), CodegenError> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/codegen.rs:1204:101 [INFO] [stdout] | [INFO] [stdout] 1204 | ...unction, program: &Program, ctx: &mut CompilationContext) -> Result<(), CodegenError> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ir_function` [INFO] [stdout] --> src/codegen.rs:1275:50 [INFO] [stdout] | [INFO] [stdout] 1275 | ..._from_ir(&mut self, ir_function: &crate::ir::IRFunction, ir_program: &crate::ir::IRProgram) -> Result<(), CodegenError> { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ir_function` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/codegen.rs:915:22 [INFO] [stdout] | [INFO] [stdout] 915 | for (i, arg) in args.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/codegen.rs:1127:72 [INFO] [stdout] | [INFO] [stdout] 1127 | fn generate_function_definition(&mut self, function: &FunctionDef, ctx: &mut CompilationContext) -> Result<(), CodegenError> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `clause` [INFO] [stdout] --> src/codegen.rs:1174:21 [INFO] [stdout] | [INFO] [stdout] 1174 | if let Some(clause) = function.clauses.first() { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_clause` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `program` [INFO] [stdout] --> src/codegen.rs:1204:82 [INFO] [stdout] | [INFO] [stdout] 1204 | ...&crate::ir::IRFunction, program: &Program, ctx: &mut CompilationContext) -> Result<(), CodegenError> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/codegen.rs:1204:101 [INFO] [stdout] | [INFO] [stdout] 1204 | ...unction, program: &Program, ctx: &mut CompilationContext) -> Result<(), CodegenError> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ir_function` [INFO] [stdout] --> src/codegen.rs:1275:50 [INFO] [stdout] | [INFO] [stdout] 1275 | ..._from_ir(&mut self, ir_function: &crate::ir::IRFunction, ir_program: &crate::ir::IRProgram) -> Result<(), CodegenError> { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ir_function` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ir.rs:354:13 [INFO] [stdout] | [INFO] [stdout] 354 | let mut global_constraints = Vec::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `constraints` [INFO] [stdout] --> src/ir.rs:1117:9 [INFO] [stdout] | [INFO] [stdout] 1117 | constraints: &mut Vec [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_constraints` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `effects` [INFO] [stdout] --> src/ir.rs:1415:56 [INFO] [stdout] | [INFO] [stdout] 1415 | ast::FlintType::Function { params, result, effects } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `effects: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ir.rs:354:13 [INFO] [stdout] | [INFO] [stdout] 354 | let mut global_constraints = Vec::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `constraints` [INFO] [stdout] --> src/ir.rs:1117:9 [INFO] [stdout] | [INFO] [stdout] 1117 | constraints: &mut Vec [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_constraints` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `effects` [INFO] [stdout] --> src/ir.rs:1415:56 [INFO] [stdout] | [INFO] [stdout] 1415 | ast::FlintType::Function { params, result, effects } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `effects: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compiler_name` [INFO] [stdout] --> src/main.rs:455:23 [INFO] [stdout] | [INFO] [stdout] 455 | let (mut command, compiler_name) = setup_c_compiler_with_packages(debug, &package_manager); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compiler_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compiler_name` [INFO] [stdout] --> src/main.rs:599:27 [INFO] [stdout] | [INFO] [stdout] 599 | let (mut command, compiler_name) = setup_c_compiler_with_packages(debug, &package_manager); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compiler_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0061, E0432. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stderr] error: could not compile `flint` (bin "flint" test) due to 4 previous errors; 19 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused variable: `compiler_name` [INFO] [stdout] --> src/main.rs:455:23 [INFO] [stdout] | [INFO] [stdout] 455 | let (mut command, compiler_name) = setup_c_compiler_with_packages(debug, &package_manager); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compiler_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compiler_name` [INFO] [stdout] --> src/main.rs:599:27 [INFO] [stdout] | [INFO] [stdout] 599 | let (mut command, compiler_name) = setup_c_compiler_with_packages(debug, &package_manager); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compiler_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Record` is never constructed [INFO] [stdout] --> src/ast.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub enum FlintType { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 54 | Record { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FlintType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `operations` are never read [INFO] [stdout] --> src/ast.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 67 | pub struct EffectDecl { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 68 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 69 | pub operations: Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EffectDecl` 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 `signature` are never read [INFO] [stdout] --> src/ast.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 73 | pub struct EffectOperation { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 74 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 75 | pub signature: FlintType, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EffectOperation` 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 `effect_name`, `handler_name`, and `implementations` are never read [INFO] [stdout] --> src/ast.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct EffectHandler { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 81 | pub effect_name: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 82 | pub handler_name: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 83 | pub implementations: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EffectHandler` 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 `operation_name`, `parameters`, and `body` are never read [INFO] [stdout] --> src/ast.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 87 | pub struct HandlerImpl { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 88 | pub operation_name: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 89 | pub parameters: Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 90 | pub body: Expr, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HandlerImpl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/ast.rs:158:5 [INFO] [stdout] | [INFO] [stdout] 109 | pub enum Expr { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 158 | Let { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | LetTyped { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | Lambda { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | Record { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 202 | Match { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | EffectCall { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | Handle { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | UnaryOp { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` 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 `pattern`, `guard`, and `body` are never read [INFO] [stdout] --> src/ast.rs:257:9 [INFO] [stdout] | [INFO] [stdout] 256 | pub struct MatchArm { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 257 | pub pattern: Pattern, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 258 | pub guard: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 259 | pub body: Expr, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MatchArm` 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: field `0` is never read [INFO] [stdout] --> src/ast.rs:272:9 [INFO] [stdout] | [INFO] [stdout] 272 | Int(i64), [INFO] [stdout] | --- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Pattern` 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] 272 - Int(i64), [INFO] [stdout] 272 + Int(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:275:9 [INFO] [stdout] | [INFO] [stdout] 275 | Str(String), [INFO] [stdout] | --- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Pattern` 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] 275 - Str(String), [INFO] [stdout] 275 + Str(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:278:10 [INFO] [stdout] | [INFO] [stdout] 278 | Bool(bool), [INFO] [stdout] | ---- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Pattern` 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] 278 - Bool(bool), [INFO] [stdout] 278 + Bool(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Record` is never constructed [INFO] [stdout] --> src/ast.rs:296:5 [INFO] [stdout] | [INFO] [stdout] 264 | pub enum Pattern { [INFO] [stdout] | ------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 296 | Record { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Pattern` 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 `Not` and `Neg` are never constructed [INFO] [stdout] --> src/ast.rs:324:5 [INFO] [stdout] | [INFO] [stdout] 323 | pub enum UnaryOp { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 324 | Not, [INFO] [stdout] | ^^^ [INFO] [stdout] 325 | Neg, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UnaryOp` 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: field `guard` is never read [INFO] [stdout] --> src/ast.rs:340:9 [INFO] [stdout] | [INFO] [stdout] 338 | pub struct FunctionClause { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 339 | pub patterns: Vec, [INFO] [stdout] 340 | pub guard: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FunctionClause` 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 `fields` are never read [INFO] [stdout] --> src/ast.rs:349:9 [INFO] [stdout] | [INFO] [stdout] 348 | Record { [INFO] [stdout] | ------ fields in this variant [INFO] [stdout] 349 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 350 | fields: Vec<(String, FlintType)>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TypeDef` 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 `Alias` and `Enum` are never constructed [INFO] [stdout] --> src/ast.rs:354:5 [INFO] [stdout] | [INFO] [stdout] 346 | pub enum TypeDef { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 354 | Alias { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 360 | Enum { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TypeDef` 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 `fields` are never read [INFO] [stdout] --> src/ast.rs:368:9 [INFO] [stdout] | [INFO] [stdout] 367 | pub struct EnumVariant { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 368 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 369 | pub fields: Option>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EnumVariant` 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: associated function `new` is never used [INFO] [stdout] --> src/ast.rs:410:12 [INFO] [stdout] | [INFO] [stdout] 409 | impl Program { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 410 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tokenize` is never used [INFO] [stdout] --> src/lexer.rs:333:8 [INFO] [stdout] | [INFO] [stdout] 333 | pub fn tokenize(input: &str) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `unexpected_eof` is never used [INFO] [stdout] --> src/parser.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl ParseError { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn unexpected_eof(location: SourceLocation) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `peek_token` are never used [INFO] [stdout] --> src/parser.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 38 | impl FlintParser { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 39 | pub fn new(tokens: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | fn peek_token(&self) -> Option<&Token> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `unsupported_feature_at`, `invalid_ast`, `invalid_ast_at`, `type_error`, and `type_error_at` are never used [INFO] [stdout] --> src/codegen.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl CodegenError { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn unsupported_feature_at(feature: &str, location: SourceLocation) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn invalid_ast(message: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn invalid_ast_at(message: &str, location: SourceLocation) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn type_error(message: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn type_error_at(message: &str, location: SourceLocation) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `resource_name`, `consumption_point`, `is_optional`, `is_persistent`, and `estimated_size` are never read [INFO] [stdout] --> src/codegen.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 60 | struct ConsumptionMetadata { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 61 | resource_name: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 62 | consumption_point: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 63 | is_optional: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 64 | is_persistent: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 65 | estimated_size: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConsumptionMetadata` 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`, `is_deterministic`, `has_logic_vars`, and `effects` are never read [INFO] [stdout] --> src/codegen.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 70 | struct FunctionInfo { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 71 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 72 | is_deterministic: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 73 | has_logic_vars: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 74 | effects: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FunctionInfo` 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 `effect_name`, `handler_name`, and `operation_functions` are never read [INFO] [stdout] --> src/codegen.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 79 | struct EffectHandlerInfo { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 80 | effect_name: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 81 | handler_name: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 82 | operation_functions: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EffectHandlerInfo` 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 `in_logic_context`, `effect_handlers`, `filename`, and `source` are never read [INFO] [stdout] --> src/codegen.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 87 | struct CompilationContext { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 88 | in_logic_context: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 89 | effect_handlers: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 90 | filename: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 91 | source: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CompilationContext` 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: associated function `new` is never used [INFO] [stdout] --> src/codegen.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 94 | impl CompilationContext { [INFO] [stdout] | ----------------------- associated function in this implementation [INFO] [stdout] 95 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `var_counter`, `label_counter`, `consumption_metadata`, `functions`, `effect_handlers`, and `defined_functions` are never read [INFO] [stdout] --> src/codegen.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 115 | pub struct CodeGenerator { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 116 | output: String, [INFO] [stdout] 117 | var_counter: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 118 | label_counter: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 119 | consumption_metadata: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 120 | functions: HashMap, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 121 | effect_handlers: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | defined_functions: HashSet, // Track functions that need registration [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/codegen.rs:167:8 [INFO] [stdout] | [INFO] [stdout] 134 | impl CodeGenerator { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 167 | fn fresh_var(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | fn fresh_label(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | fn fresh_var_with_prefix(&mut self, prefix: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | fn var_to_c_name(&mut self, var: &Variable) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 202 | fn is_first_occurrence(&self, var: &Variable) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | fn generate_variable_access(&mut self, var: &Variable, is_non_consumptive: bool) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 259 | fn add_consumption_metadata(&mut self, resource_name: String, point: String, is_optional: bool, is_persistent: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | fn expression_contains_logic_vars(&self, expr: &Expr) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | fn statement_contains_logic_vars(&self, stmt: &Statement) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 316 | fn is_simple_logic_var_access(&self, expr: &Expr) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 325 | fn generate_suspension(&mut self, expr: &Expr, ctx: &mut CompilationContext) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 404 | fn generate_expr_immediate(&mut self, expr: &Expr, ctx: &mut CompilationContext) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 459 | fn generate_expr(&mut self, expr: &Expr, ctx: &mut CompilationContext) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 640 | fn collect_logic_vars_in_expr(&mut self, expr: &Expr, vars: &mut HashSet) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 698 | fn collect_logic_vars_in_statement(&mut self, statement: &Statement, vars: &mut HashSet) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 719 | fn generate_c_call_expression(&mut self, module: &str, function: &str, args: &[Expr]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 749 | fn generate_python_call_expression(&mut self, module: &str, function: &str, args: &[Expr]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 845 | fn generate_block_expression(&mut self, statements: &[Statement], result: Option<&Expr>, ctx: &mut CompilationContext) -> Resu... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 881 | fn try_generate_smart_constraint(&mut self, expr: &Expr, target: &Expr, ctx: &CompilationContext) -> Result, Co... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 943 | fn expr_type_name(&self, expr: &Expr) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 972 | fn generate_statement(&mut self, statement: &Statement, ctx: &mut CompilationContext) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1043 | fn infer_c_type_from_expr(&self, _expr: &Expr) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1049 | fn flint_type_to_c_type(&self, flint_type: &FlintType) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1067 | pub fn generate(&mut self, program: &Program) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1127 | fn generate_function_definition(&mut self, function: &FunctionDef, ctx: &mut CompilationContext) -> Result<(), CodegenError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1389 | fn ir_type_to_c_type(&self, ir_type: &crate::ir::IRType) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1628 | fn generate_unary_arithmetic(&mut self, operands: &[crate::ir::IRExpression], _result: &crate::ir::IRExpression) -> Result<(),... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1925 | fn infer_expr_type(&self, expr: &Expr) -> Option<&'static str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constants `GREEN`, `GRAY`, and `UNDERLINE` are never used [INFO] [stdout] --> src/diagnostic.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 6 | impl Colors { [INFO] [stdout] | ----------- associated constants in this implementation [INFO] [stdout] ... [INFO] [stdout] 11 | pub const GREEN: &'static str = "\x1b[32m"; [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | pub const GRAY: &'static str = "\x1b[90m"; [INFO] [stdout] | ^^^^ [INFO] [stdout] 15 | pub const BOLD: &'static str = "\x1b[1m"; [INFO] [stdout] 16 | pub const UNDERLINE: &'static str = "\x1b[4m"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `single` is never used [INFO] [stdout] --> src/diagnostic.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl SourceLocation { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn single(file: String, line: usize, column: usize) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Warning`, `Info`, and `Note` are never constructed [INFO] [stdout] --> src/diagnostic.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 51 | pub enum Severity { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 52 | Error, [INFO] [stdout] 53 | Warning, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 54 | Info, [INFO] [stdout] | ^^^^ [INFO] [stdout] 55 | Note, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Severity` 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: associated items `warning`, `with_source_line`, and `with_note` are never used [INFO] [stdout] --> src/diagnostic.rs:94:12 [INFO] [stdout] | [INFO] [stdout] 80 | impl Diagnostic { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn warning(message: String) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn with_source_line(mut self, source_line: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn with_note(mut self, note: String) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DiagnosticBuilder` is never constructed [INFO] [stdout] --> src/diagnostic.rs:217:12 [INFO] [stdout] | [INFO] [stdout] 217 | pub struct DiagnosticBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `error_at`, `warning_at`, `unexpected_token`, and `invalid_syntax` are never used [INFO] [stdout] --> src/diagnostic.rs:224:12 [INFO] [stdout] | [INFO] [stdout] 223 | impl DiagnosticBuilder { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 224 | pub fn new(source_file: String, source_text: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 234 | pub fn error_at(&self, message: String, line: usize, column: usize, length: usize) -> Diagnostic { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 246 | pub fn warning_at(&self, message: String, line: usize, column: usize, length: usize) -> Diagnostic { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 258 | pub fn unexpected_token(&self, expected: &str, found: &str, line: usize, column: usize, length: usize) -> Diagnostic { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 267 | pub fn invalid_syntax(&self, description: &str, line: usize, column: usize, length: usize) -> Diagnostic { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `undefined_function` and `variable_not_consumed` are never used [INFO] [stdout] --> src/typechecking.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl TypeCheckError { [INFO] [stdout] | ------------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn undefined_function(func_name: &str, location: SourceLocation) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn variable_not_consumed(var_name: &str, location: SourceLocation) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `current_location` is never read [INFO] [stdout] --> src/typechecking.rs:134:5 [INFO] [stdout] | [INFO] [stdout] 132 | pub struct TypeChecker { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 133 | env: TypeEnvironment, [INFO] [stdout] 134 | current_location: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `extract_unbound_variables` is never used [INFO] [stdout] --> src/typechecking.rs:774:8 [INFO] [stdout] | [INFO] [stdout] 141 | impl TypeChecker { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 774 | fn extract_unbound_variables(&mut self, expr: &Expr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ir.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 35 | impl Symbol { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 36 | pub fn new(name: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ListHead` and `ListTail` are never constructed [INFO] [stdout] --> src/ir.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 63 | pub enum IRExpression { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 85 | ListHead { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | ListTail { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IRExpression` 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: variant `TypeConstraint` is never constructed [INFO] [stdout] --> src/ir.rs:194:5 [INFO] [stdout] | [INFO] [stdout] 159 | pub enum IRConstraint { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 194 | TypeConstraint { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IRConstraint` 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 `Equal` and `NotEqual` are never constructed [INFO] [stdout] --> src/ir.rs:250:5 [INFO] [stdout] | [INFO] [stdout] 249 | pub enum RelationalOp { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] 250 | Equal, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 251 | NotEqual, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RelationalOp` 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: variant `Unknown` is never constructed [INFO] [stdout] --> src/ir.rs:295:5 [INFO] [stdout] | [INFO] [stdout] 284 | pub enum Determinism { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 295 | Unknown, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Determinism` 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: variant `Dynamic` is never constructed [INFO] [stdout] --> src/ir.rs:308:5 [INFO] [stdout] | [INFO] [stdout] 300 | pub enum BindingStatus { [INFO] [stdout] | ------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 308 | Dynamic, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BindingStatus` 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: method `analyze_arithmetic_operation` is never used [INFO] [stdout] --> src/ir.rs:1112:8 [INFO] [stdout] | [INFO] [stdout] 332 | impl<'a> IRBuilder<'a> { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1112 | fn analyze_arithmetic_operation( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Flint` and `C` are never constructed [INFO] [stdout] --> src/package.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 31 | pub enum PackageType { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 32 | Python { pypi_name: String, version: String }, [INFO] [stdout] 33 | Flint { name: String, version: String }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 34 | C { name: String, version: Option }, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `PackageType` 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: field `location` is never read [INFO] [stdout] --> src/package.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct PackageImport { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 41 | pub location: SourceLocation, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PackageImport` 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 `pypi_name`, `version`, `import_name`, and `exported_functions` are never read [INFO] [stdout] --> src/package.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct PythonPackage { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 46 | pub pypi_name: String, // e.g., "numpy" [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 47 | pub version: String, // e.g., "2.3.1" [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 48 | pub import_name: String, // e.g., "numpy" (alias in Flint) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub exported_functions: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PythonPackage` 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`, `c_name`, `package`, `parameters`, and `return_type` are never read [INFO] [stdout] --> src/package.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 56 | pub struct PythonFunction { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 57 | pub name: String, // e.g., "array" [INFO] [stdout] | ^^^^ [INFO] [stdout] 58 | pub c_name: String, // e.g., "numpy_array" [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 59 | pub package: String, // e.g., "numpy" [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 60 | pub parameters: Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 61 | pub return_type: PythonType, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PythonFunction` 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`, `param_type`, and `optional` are never read [INFO] [stdout] --> src/package.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 65 | pub struct PythonParam { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 66 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 67 | pub param_type: PythonType, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 68 | pub optional: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PythonParam` 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 `Integer`, `Float`, `String`, `Array`, `Object`, and `Any` are never constructed [INFO] [stdout] --> src/package.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 72 | pub enum PythonType { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 73 | Integer, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 74 | Float, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 75 | String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 76 | Array { element_type: Box }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 77 | Object { class_name: String }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 78 | Any, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PythonType` 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: field `project_dir` is never read [INFO] [stdout] --> src/package.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 82 | pub struct PackageManager { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 83 | pub project_dir: PathBuf, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PackageManager` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `parse_import_statement`, `add_python_import`, `get_venv_pip`, `get_include_paths`, `get_library_paths`, and `get_object_files` are never used [INFO] [stdout] --> src/package.rs:127:8 [INFO] [stdout] | [INFO] [stdout] 91 | impl PackageManager { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 127 | fn parse_import_statement(&self, _statement: &Statement) -> Result, Diagnostic> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn add_python_import(&mut self, pypi_name: &str, version: &str, import_name: &str, location: SourceLocation) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | fn get_venv_pip(&self) -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 365 | pub fn get_include_paths(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 374 | pub fn get_library_paths(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 383 | pub fn get_object_files(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_python_import_string` is never used [INFO] [stdout] --> src/package.rs:514:8 [INFO] [stdout] | [INFO] [stdout] 514 | pub fn parse_python_import_string(import_str: &str) -> Option<(String, String)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `python_to_c_function_name` is never used [INFO] [stdout] --> src/package.rs:528:8 [INFO] [stdout] | [INFO] [stdout] 528 | pub fn python_to_c_function_name(package: &str, function: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "d346ae45f7f64e9c7e1b344c2320e05ace4de4c74685d7c10f5eb8b83e5d2b38", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d346ae45f7f64e9c7e1b344c2320e05ace4de4c74685d7c10f5eb8b83e5d2b38", kill_on_drop: false }` [INFO] [stdout] d346ae45f7f64e9c7e1b344c2320e05ace4de4c74685d7c10f5eb8b83e5d2b38