[INFO] cloning repository https://github.com/ErrorOnUsername/archimedes [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ErrorOnUsername/archimedes" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FErrorOnUsername%2Farchimedes", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FErrorOnUsername%2Farchimedes'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d1eb4872d97604d08b5685a136fff09acc018b55 [INFO] checking ErrorOnUsername/archimedes/d1eb4872d97604d08b5685a136fff09acc018b55 against master#ab869e094a907cc5d19b4080f22eccaf347f1f95 for pr-129604 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FErrorOnUsername%2Farchimedes" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/ErrorOnUsername/archimedes on toolchain ab869e094a907cc5d19b4080f22eccaf347f1f95 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/ErrorOnUsername/archimedes [INFO] finished tweaking git repo https://github.com/ErrorOnUsername/archimedes [INFO] tweaked toml for git repo https://github.com/ErrorOnUsername/archimedes written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/ErrorOnUsername/archimedes 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" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded llvm-sys v140.0.3 [INFO] [stderr] Downloaded libc v0.2.134 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c14e729faa1a5678e081a51469f3c397c11cc1bb8d6cf638ef72ea32fc6b9448 [INFO] running `Command { std: "docker" "start" "-a" "c14e729faa1a5678e081a51469f3c397c11cc1bb8d6cf638ef72ea32fc6b9448", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c14e729faa1a5678e081a51469f3c397c11cc1bb8d6cf638ef72ea32fc6b9448", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c14e729faa1a5678e081a51469f3c397c11cc1bb8d6cf638ef72ea32fc6b9448", kill_on_drop: false }` [INFO] [stdout] c14e729faa1a5678e081a51469f3c397c11cc1bb8d6cf638ef72ea32fc6b9448 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 63a21d3a9bb7a6d5edcaecd48f9dffb4acef53a1babe81ebed3f4574cf6f516b [INFO] running `Command { std: "docker" "start" "-a" "63a21d3a9bb7a6d5edcaecd48f9dffb4acef53a1babe81ebed3f4574cf6f516b", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling semver v1.0.14 [INFO] [stderr] Compiling regex-syntax v0.6.27 [INFO] [stderr] Compiling libc v0.2.134 [INFO] [stderr] Compiling aho-corasick v0.7.19 [INFO] [stderr] Compiling regex v1.6.0 [INFO] [stderr] Compiling llvm-sys v140.0.3 [INFO] [stderr] Checking amds v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `typechecker::Typechecker` [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use typechecker::Typechecker; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `typechecker::Typechecker` [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use typechecker::Typechecker; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `proc_decl` [INFO] [stdout] --> src/codegen/llvm.rs:45:37 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn add_proc_decl(&mut self, proc_decl: &ParsedProcDecl) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_proc_decl` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `proc_call` [INFO] [stdout] --> src/codegen/llvm.rs:48:37 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn add_proc_call(&mut self, proc_call: &ParsedProcCall) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_proc_call` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `proc_decl` [INFO] [stdout] --> src/codegen/llvm.rs:51:41 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn compile_proc_decl(&mut self, proc_decl: &ParsedProcDecl) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_proc_decl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `proc_decl` [INFO] [stdout] --> src/codegen/llvm.rs:45:37 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn add_proc_decl(&mut self, proc_decl: &ParsedProcDecl) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_proc_decl` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `proc_call` [INFO] [stdout] --> src/codegen/llvm.rs:48:37 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn add_proc_call(&mut self, proc_call: &ParsedProcCall) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_proc_call` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `proc_decl` [INFO] [stdout] --> src/codegen/llvm.rs:51:41 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn compile_proc_decl(&mut self, proc_decl: &ParsedProcDecl) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_proc_decl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ty` [INFO] [stdout] --> src/typechecker.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | ty: &ParsedType [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ty_name` [INFO] [stdout] --> src/typechecker.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | ty_name: &String [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ty_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ty_name` [INFO] [stdout] --> src/typechecker.rs:85:38 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn is_type_registered(&self, ty_name: &String) -> bool { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ty_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ty` [INFO] [stdout] --> src/typechecker.rs:89:29 [INFO] [stdout] | [INFO] [stdout] 89 | fn add_type_info(&self, ty: &ParsedType) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `module` [INFO] [stdout] --> src/typechecker.rs:93:37 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn verify_module(&mut self, module: &ParsedModule) -> Result<(), &'static str>{ [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_module` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `CheckedType` and `Array` are never constructed [INFO] [stdout] --> src/ast.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub enum ParsedType { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 14 | CheckedType(TypeID), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 15 | Name(Vec, String), [INFO] [stdout] 16 | Array(Box, ParsedExpression), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:52:14 [INFO] [stdout] | [INFO] [stdout] 52 | TypeCast(Box), [INFO] [stdout] | -------- ^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `UnaryOperator` 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] 52 | TypeCast(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `parameters`, `parsed_return_type`, and `body` are never read [INFO] [stdout] --> src/ast.rs:133:9 [INFO] [stdout] | [INFO] [stdout] 131 | pub struct ParsedProcDecl { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 132 | pub name: String, [INFO] [stdout] 133 | pub parameters: Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 134 | pub parsed_return_type: ParsedType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 135 | pub body: ParsedBlock, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedProcDecl` 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 `Expr` and `Block` are never constructed [INFO] [stdout] --> src/ast.rs:159:5 [INFO] [stdout] | [INFO] [stdout] 158 | pub enum MatchExprBody { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 159 | Expr(ParsedExpression), [INFO] [stdout] | ^^^^ [INFO] [stdout] 160 | Block(ParsedBlock), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MatchExprBody` 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 `Expr`, `EnumVariant`, and `Fallback` are never constructed [INFO] [stdout] --> src/ast.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 166 | pub enum MatchExprCase { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 167 | Expr(ParsedExpression, MatchExprBody), [INFO] [stdout] | ^^^^ [INFO] [stdout] 168 | EnumVariant(String, MatchExprBody), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 169 | Fallback(MatchExprBody), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MatchExprCase` 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:177:10 [INFO] [stdout] | [INFO] [stdout] 177 | Bool(bool), [INFO] [stdout] | ---- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedExpression` 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] 177 | Bool(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:178:21 [INFO] [stdout] | [INFO] [stdout] 178 | NumericConstant(NumericConstant), [INFO] [stdout] | --------------- ^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedExpression` 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] 178 | NumericConstant(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:179:19 [INFO] [stdout] | [INFO] [stdout] 179 | StringLiteral(String), [INFO] [stdout] | ------------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedExpression` 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] 179 | StringLiteral(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:180:17 [INFO] [stdout] | [INFO] [stdout] 180 | CharLiteral(u8), [INFO] [stdout] | ----------- ^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedExpression` 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] 180 | CharLiteral(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:181:9 [INFO] [stdout] | [INFO] [stdout] 181 | Var(String), [INFO] [stdout] | --- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedExpression` 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] 181 | Var(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0`, `1`, `2`, and `3` are never read [INFO] [stdout] --> src/ast.rs:183:11 [INFO] [stdout] | [INFO] [stdout] 183 | Range(RangeExprBound, Box, Box, RangeExprBound), [INFO] [stdout] | ----- ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedExpression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 183 | Range((), (), (), ()), [INFO] [stdout] | ~~ ~~ ~~ ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/ast.rs:186:20 [INFO] [stdout] | [INFO] [stdout] 186 | UnaryOperation(Box, UnaryOperator), [INFO] [stdout] | -------------- ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedExpression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 186 | UnaryOperation((), ()), [INFO] [stdout] | ~~ ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0`, `1`, and `2` are never read [INFO] [stdout] --> src/ast.rs:187:21 [INFO] [stdout] | [INFO] [stdout] 187 | BinaryOperation(Box, BinaryOperator, Box), [INFO] [stdout] | --------------- ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedExpression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 187 | BinaryOperation((), (), ()), [INFO] [stdout] | ~~ ~~ ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:188:14 [INFO] [stdout] | [INFO] [stdout] 188 | ProcCall(ParsedProcCall), [INFO] [stdout] | -------- ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedExpression` 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] 188 | ProcCall(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `NamespacedVar` and `Match` are never constructed [INFO] [stdout] --> src/ast.rs:182:5 [INFO] [stdout] | [INFO] [stdout] 176 | pub enum ParsedExpression { [INFO] [stdout] | ---------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 182 | NamespacedVar(Vec, String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 183 | Range(RangeExprBound, Box, Box, RangeExprBound), [INFO] [stdout] 184 | Match(Box, Vec), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedExpression` 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 `is_assignable` is never used [INFO] [stdout] --> src/ast.rs:242:12 [INFO] [stdout] | [INFO] [stdout] 192 | impl ParsedExpression { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 242 | pub fn is_assignable(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:256:10 [INFO] [stdout] | [INFO] [stdout] 256 | Expr(ParsedExpression), [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedStatement` 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] 256 | Expr(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:257:13 [INFO] [stdout] | [INFO] [stdout] 257 | VarDecl(ParsedVarDecl), [INFO] [stdout] | ------- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedStatement` 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] 257 | VarDecl(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0`, `1`, and `2` are never read [INFO] [stdout] --> src/ast.rs:259:8 [INFO] [stdout] | [INFO] [stdout] 259 | If(ParsedExpression, ParsedBlock, Option>), [INFO] [stdout] | -- ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedStatement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 259 | If((), (), ()), [INFO] [stdout] | ~~ ~~ ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0`, `1`, and `2` are never read [INFO] [stdout] --> src/ast.rs:261:13 [INFO] [stdout] | [INFO] [stdout] 261 | ForLoop(ParsedVarDecl, ParsedExpression, ParsedBlock), [INFO] [stdout] | ------- ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedStatement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 261 | ForLoop((), (), ()), [INFO] [stdout] | ~~ ~~ ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/ast.rs:262:15 [INFO] [stdout] | [INFO] [stdout] 262 | WhileLoop(ParsedExpression, ParsedBlock), [INFO] [stdout] | --------- ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedStatement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 262 | WhileLoop((), ()), [INFO] [stdout] | ~~ ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:263:18 [INFO] [stdout] | [INFO] [stdout] 263 | InfiniteLoop(ParsedBlock), [INFO] [stdout] | ------------ ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedStatement` 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] 263 | InfiniteLoop(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:266:12 [INFO] [stdout] | [INFO] [stdout] 266 | Return(ParsedExpression), [INFO] [stdout] | ------ ^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedStatement` 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] 266 | Return(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `VarAssign` and `Block` are never constructed [INFO] [stdout] --> src/ast.rs:258:5 [INFO] [stdout] | [INFO] [stdout] 255 | pub enum ParsedStatement { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 258 | VarAssign(String, BinaryOperator, ParsedExpression), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 259 | If(ParsedExpression, ParsedBlock, Option>), [INFO] [stdout] 260 | Block(ParsedBlock), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedStatement` 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 `current_module_path` and `path` are never read [INFO] [stdout] --> src/ast.rs:271:9 [INFO] [stdout] | [INFO] [stdout] 270 | pub struct ParsedImport { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 271 | pub current_module_path: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 272 | pub path: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedImport` 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 `Untyped`, `UnlabeledTypes`, and `LabeledTypes` are never constructed [INFO] [stdout] --> src/ast.rs:283:5 [INFO] [stdout] | [INFO] [stdout] 282 | pub enum ParsedEnumVariant { [INFO] [stdout] | ----------------- variants in this enum [INFO] [stdout] 283 | Untyped(String), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 284 | UnlabeledTypes(String, Vec), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 285 | LabeledTypes(String, Vec), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedEnumVariant` 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 `variants` is never read [INFO] [stdout] --> src/ast.rs:291:9 [INFO] [stdout] | [INFO] [stdout] 289 | pub struct ParsedEnumDecl { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 290 | pub name: String, [INFO] [stdout] 291 | pub variants: Vec, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedEnumDecl` 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 `imports` is never read [INFO] [stdout] --> src/ast.rs:311:9 [INFO] [stdout] | [INFO] [stdout] 309 | pub struct ParsedModule { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 310 | pub name: String, [INFO] [stdout] 311 | pub imports: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Module` is never constructed [INFO] [stdout] --> src/codegen/llvm.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | struct Module { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `new_string_ptr`, `to_cstring`, `add_proc_decl`, `add_proc_call`, and `compile_proc_decl` are never used [INFO] [stdout] --> src/codegen/llvm.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 24 | impl Module { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 25 | fn new_string_ptr(&mut self, s: &str) -> *const i8 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn to_cstring(&self) -> CString { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn add_proc_decl(&mut self, proc_decl: &ParsedProcDecl) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn add_proc_call(&mut self, proc_call: &ParsedProcCall) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn compile_proc_decl(&mut self, proc_decl: &ParsedProcDecl) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TypeInfo` is never used [INFO] [stdout] --> src/typechecker.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum TypeInfo { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `name` is never used [INFO] [stdout] --> src/typechecker.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl TypeInfo { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 19 | pub fn name(&self) -> &String { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Typechecker` is never constructed [INFO] [stdout] --> src/typechecker.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct Typechecker { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ty` [INFO] [stdout] --> src/typechecker.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | ty: &ParsedType [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/typechecker.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl Typechecker { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 29 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn primitive(ty: PrimitiveType) -> ParsedType { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn preregister_primitives(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn register_type( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn get_type_id( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn is_type_registered(&self, ty_name: &String) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | fn add_type_info(&self, ty: &ParsedType) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn verify_module(&mut self, module: &ParsedModule) -> Result<(), &'static str>{ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ty_name` [INFO] [stdout] --> src/typechecker.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | ty_name: &String [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ty_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ty_name` [INFO] [stdout] --> src/typechecker.rs:85:38 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn is_type_registered(&self, ty_name: &String) -> bool { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ty_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ty` [INFO] [stdout] --> src/typechecker.rs:89:29 [INFO] [stdout] | [INFO] [stdout] 89 | fn add_type_info(&self, ty: &ParsedType) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `module` [INFO] [stdout] --> src/typechecker.rs:93:37 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn verify_module(&mut self, module: &ParsedModule) -> Result<(), &'static str>{ [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_module` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `CheckedType` and `Array` are never constructed [INFO] [stdout] --> src/ast.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub enum ParsedType { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 14 | CheckedType(TypeID), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 15 | Name(Vec, String), [INFO] [stdout] 16 | Array(Box, ParsedExpression), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:52:14 [INFO] [stdout] | [INFO] [stdout] 52 | TypeCast(Box), [INFO] [stdout] | -------- ^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `UnaryOperator` 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] 52 | TypeCast(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `parameters`, `parsed_return_type`, and `body` are never read [INFO] [stdout] --> src/ast.rs:133:9 [INFO] [stdout] | [INFO] [stdout] 131 | pub struct ParsedProcDecl { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 132 | pub name: String, [INFO] [stdout] 133 | pub parameters: Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 134 | pub parsed_return_type: ParsedType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 135 | pub body: ParsedBlock, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedProcDecl` 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 `Expr` and `Block` are never constructed [INFO] [stdout] --> src/ast.rs:159:5 [INFO] [stdout] | [INFO] [stdout] 158 | pub enum MatchExprBody { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 159 | Expr(ParsedExpression), [INFO] [stdout] | ^^^^ [INFO] [stdout] 160 | Block(ParsedBlock), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MatchExprBody` 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 `Expr`, `EnumVariant`, and `Fallback` are never constructed [INFO] [stdout] --> src/ast.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 166 | pub enum MatchExprCase { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 167 | Expr(ParsedExpression, MatchExprBody), [INFO] [stdout] | ^^^^ [INFO] [stdout] 168 | EnumVariant(String, MatchExprBody), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 169 | Fallback(MatchExprBody), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MatchExprCase` 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:177:10 [INFO] [stdout] | [INFO] [stdout] 177 | Bool(bool), [INFO] [stdout] | ---- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedExpression` 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] 177 | Bool(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:178:21 [INFO] [stdout] | [INFO] [stdout] 178 | NumericConstant(NumericConstant), [INFO] [stdout] | --------------- ^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedExpression` 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] 178 | NumericConstant(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:179:19 [INFO] [stdout] | [INFO] [stdout] 179 | StringLiteral(String), [INFO] [stdout] | ------------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedExpression` 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] 179 | StringLiteral(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:180:17 [INFO] [stdout] | [INFO] [stdout] 180 | CharLiteral(u8), [INFO] [stdout] | ----------- ^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedExpression` 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] 180 | CharLiteral(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:181:9 [INFO] [stdout] | [INFO] [stdout] 181 | Var(String), [INFO] [stdout] | --- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedExpression` 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] 181 | Var(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0`, `1`, `2`, and `3` are never read [INFO] [stdout] --> src/ast.rs:183:11 [INFO] [stdout] | [INFO] [stdout] 183 | Range(RangeExprBound, Box, Box, RangeExprBound), [INFO] [stdout] | ----- ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedExpression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 183 | Range((), (), (), ()), [INFO] [stdout] | ~~ ~~ ~~ ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/ast.rs:186:20 [INFO] [stdout] | [INFO] [stdout] 186 | UnaryOperation(Box, UnaryOperator), [INFO] [stdout] | -------------- ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedExpression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 186 | UnaryOperation((), ()), [INFO] [stdout] | ~~ ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 43 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0`, `1`, and `2` are never read [INFO] [stdout] --> src/ast.rs:187:21 [INFO] [stdout] | [INFO] [stdout] 187 | BinaryOperation(Box, BinaryOperator, Box), [INFO] [stdout] | --------------- ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedExpression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 187 | BinaryOperation((), (), ()), [INFO] [stdout] | ~~ ~~ ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:188:14 [INFO] [stdout] | [INFO] [stdout] 188 | ProcCall(ParsedProcCall), [INFO] [stdout] | -------- ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedExpression` 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] 188 | ProcCall(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `NamespacedVar` and `Match` are never constructed [INFO] [stdout] --> src/ast.rs:182:5 [INFO] [stdout] | [INFO] [stdout] 176 | pub enum ParsedExpression { [INFO] [stdout] | ---------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 182 | NamespacedVar(Vec, String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 183 | Range(RangeExprBound, Box, Box, RangeExprBound), [INFO] [stdout] 184 | Match(Box, Vec), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedExpression` 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 `is_assignable` is never used [INFO] [stdout] --> src/ast.rs:242:12 [INFO] [stdout] | [INFO] [stdout] 192 | impl ParsedExpression { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 242 | pub fn is_assignable(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:256:10 [INFO] [stdout] | [INFO] [stdout] 256 | Expr(ParsedExpression), [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedStatement` 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] 256 | Expr(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:257:13 [INFO] [stdout] | [INFO] [stdout] 257 | VarDecl(ParsedVarDecl), [INFO] [stdout] | ------- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedStatement` 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] 257 | VarDecl(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0`, `1`, and `2` are never read [INFO] [stdout] --> src/ast.rs:259:8 [INFO] [stdout] | [INFO] [stdout] 259 | If(ParsedExpression, ParsedBlock, Option>), [INFO] [stdout] | -- ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedStatement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 259 | If((), (), ()), [INFO] [stdout] | ~~ ~~ ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0`, `1`, and `2` are never read [INFO] [stdout] --> src/ast.rs:261:13 [INFO] [stdout] | [INFO] [stdout] 261 | ForLoop(ParsedVarDecl, ParsedExpression, ParsedBlock), [INFO] [stdout] | ------- ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedStatement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 261 | ForLoop((), (), ()), [INFO] [stdout] | ~~ ~~ ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/ast.rs:262:15 [INFO] [stdout] | [INFO] [stdout] 262 | WhileLoop(ParsedExpression, ParsedBlock), [INFO] [stdout] | --------- ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedStatement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 262 | WhileLoop((), ()), [INFO] [stdout] | ~~ ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:263:18 [INFO] [stdout] | [INFO] [stdout] 263 | InfiniteLoop(ParsedBlock), [INFO] [stdout] | ------------ ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedStatement` 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] 263 | InfiniteLoop(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:266:12 [INFO] [stdout] | [INFO] [stdout] 266 | Return(ParsedExpression), [INFO] [stdout] | ------ ^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParsedStatement` 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] 266 | Return(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `VarAssign` and `Block` are never constructed [INFO] [stdout] --> src/ast.rs:258:5 [INFO] [stdout] | [INFO] [stdout] 255 | pub enum ParsedStatement { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 258 | VarAssign(String, BinaryOperator, ParsedExpression), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 259 | If(ParsedExpression, ParsedBlock, Option>), [INFO] [stdout] 260 | Block(ParsedBlock), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedStatement` 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 `current_module_path` and `path` are never read [INFO] [stdout] --> src/ast.rs:271:9 [INFO] [stdout] | [INFO] [stdout] 270 | pub struct ParsedImport { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 271 | pub current_module_path: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 272 | pub path: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedImport` 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 `Untyped`, `UnlabeledTypes`, and `LabeledTypes` are never constructed [INFO] [stdout] --> src/ast.rs:283:5 [INFO] [stdout] | [INFO] [stdout] 282 | pub enum ParsedEnumVariant { [INFO] [stdout] | ----------------- variants in this enum [INFO] [stdout] 283 | Untyped(String), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 284 | UnlabeledTypes(String, Vec), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 285 | LabeledTypes(String, Vec), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedEnumVariant` 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 `variants` is never read [INFO] [stdout] --> src/ast.rs:291:9 [INFO] [stdout] | [INFO] [stdout] 289 | pub struct ParsedEnumDecl { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 290 | pub name: String, [INFO] [stdout] 291 | pub variants: Vec, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedEnumDecl` 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 `imports` is never read [INFO] [stdout] --> src/ast.rs:311:9 [INFO] [stdout] | [INFO] [stdout] 309 | pub struct ParsedModule { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 310 | pub name: String, [INFO] [stdout] 311 | pub imports: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Module` is never constructed [INFO] [stdout] --> src/codegen/llvm.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | struct Module { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `new_string_ptr`, `to_cstring`, `add_proc_decl`, `add_proc_call`, and `compile_proc_decl` are never used [INFO] [stdout] --> src/codegen/llvm.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 24 | impl Module { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 25 | fn new_string_ptr(&mut self, s: &str) -> *const i8 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn to_cstring(&self) -> CString { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn add_proc_decl(&mut self, proc_decl: &ParsedProcDecl) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn add_proc_call(&mut self, proc_call: &ParsedProcCall) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn compile_proc_decl(&mut self, proc_decl: &ParsedProcDecl) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TypeInfo` is never used [INFO] [stdout] --> src/typechecker.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum TypeInfo { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `name` is never used [INFO] [stdout] --> src/typechecker.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl TypeInfo { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 19 | pub fn name(&self) -> &String { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Typechecker` is never constructed [INFO] [stdout] --> src/typechecker.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct Typechecker { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/typechecker.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl Typechecker { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 29 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn primitive(ty: PrimitiveType) -> ParsedType { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn preregister_primitives(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn register_type( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn get_type_id( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn is_type_registered(&self, ty_name: &String) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | fn add_type_info(&self, ty: &ParsedType) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn verify_module(&mut self, module: &ParsedModule) -> Result<(), &'static str>{ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 43 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.73s [INFO] running `Command { std: "docker" "inspect" "63a21d3a9bb7a6d5edcaecd48f9dffb4acef53a1babe81ebed3f4574cf6f516b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "63a21d3a9bb7a6d5edcaecd48f9dffb4acef53a1babe81ebed3f4574cf6f516b", kill_on_drop: false }` [INFO] [stdout] 63a21d3a9bb7a6d5edcaecd48f9dffb4acef53a1babe81ebed3f4574cf6f516b