[INFO] cloning repository https://github.com/khalidbelhadj/first_interpreter [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/khalidbelhadj/first_interpreter" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkhalidbelhadj%2Ffirst_interpreter", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkhalidbelhadj%2Ffirst_interpreter'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 4d113b9746f2c4b62d1d8f95bff1cd2ba38a5fa5 [INFO] checking khalidbelhadj/first_interpreter against try#8cf44c88fc5805dc578c5c987397615b47d2e2b2 for pr-136764 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkhalidbelhadj%2Ffirst_interpreter" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/khalidbelhadj/first_interpreter on toolchain 8cf44c88fc5805dc578c5c987397615b47d2e2b2 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8cf44c88fc5805dc578c5c987397615b47d2e2b2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/khalidbelhadj/first_interpreter [INFO] finished tweaking git repo https://github.com/khalidbelhadj/first_interpreter [INFO] tweaked toml for git repo https://github.com/khalidbelhadj/first_interpreter written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/khalidbelhadj/first_interpreter 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" "+8cf44c88fc5805dc578c5c987397615b47d2e2b2" "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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+8cf44c88fc5805dc578c5c987397615b47d2e2b2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 29f1ae79e233084e6e0e0963c1b5bb340813fc0661a2a18232d1dac440f72730 [INFO] running `Command { std: "docker" "start" "-a" "29f1ae79e233084e6e0e0963c1b5bb340813fc0661a2a18232d1dac440f72730", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "29f1ae79e233084e6e0e0963c1b5bb340813fc0661a2a18232d1dac440f72730", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "29f1ae79e233084e6e0e0963c1b5bb340813fc0661a2a18232d1dac440f72730", kill_on_drop: false }` [INFO] [stdout] 29f1ae79e233084e6e0e0963c1b5bb340813fc0661a2a18232d1dac440f72730 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+8cf44c88fc5805dc578c5c987397615b47d2e2b2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c12139280a89c4d0b967397a0d7e3890cafaa812a4e860b8c9a982e06543616e [INFO] running `Command { std: "docker" "start" "-a" "c12139280a89c4d0b967397a0d7e3890cafaa812a4e860b8c9a982e06543616e", kill_on_drop: false }` [INFO] [stderr] Checking rust_interpreter v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/vm.rs:83:17 [INFO] [stdout] | [INFO] [stdout] 83 | let mut vm = VM::new(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `identifier` [INFO] [stdout] --> src/vm.rs:88:38 [INFO] [stdout] | [INFO] [stdout] 88 | let Assignment { identifier, expr } = ass; [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `identifier: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/vm.rs:88:50 [INFO] [stdout] | [INFO] [stdout] 88 | let Assignment { identifier, expr } = ass; [INFO] [stdout] | ^^^^ help: try ignoring the field: `expr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `identifier` [INFO] [stdout] --> src/vm.rs:94:38 [INFO] [stdout] | [INFO] [stdout] 94 | ... let Var {identifier, expr} = var; [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `identifier: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/vm.rs:94:50 [INFO] [stdout] | [INFO] [stdout] 94 | ... let Var {identifier, expr} = var; [INFO] [stdout] | ^^^^ help: try ignoring the field: `expr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `identifier` [INFO] [stdout] --> src/vm.rs:98:40 [INFO] [stdout] | [INFO] [stdout] 98 | ... let Const {identifier, expr} = const_; [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `identifier: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/vm.rs:98:52 [INFO] [stdout] | [INFO] [stdout] 98 | ... let Const {identifier, expr} = const_; [INFO] [stdout] | ^^^^ help: try ignoring the field: `expr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `identifier` [INFO] [stdout] --> src/vm.rs:102:39 [INFO] [stdout] | [INFO] [stdout] 102 | ... let Proc {identifier, proc_args, block} = proc; [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `identifier: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `proc_args` [INFO] [stdout] --> src/vm.rs:102:51 [INFO] [stdout] | [INFO] [stdout] 102 | ... let Proc {identifier, proc_args, block} = proc; [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `proc_args: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block` [INFO] [stdout] --> src/vm.rs:102:62 [INFO] [stdout] | [INFO] [stdout] 102 | ... let Proc {identifier, proc_args, block} = proc; [INFO] [stdout] | ^^^^^ help: try ignoring the field: `block: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `float` [INFO] [stdout] --> src/vm.rs:124:64 [INFO] [stdout] | [INFO] [stdout] 124 | ... Primary::Float(float) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_float` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `int` [INFO] [stdout] --> src/vm.rs:127:62 [INFO] [stdout] | [INFO] [stdout] 127 | ... Primary::Int(int) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_int` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `string` [INFO] [stdout] --> src/vm.rs:130:65 [INFO] [stdout] | [INFO] [stdout] 130 | ... Primary::String(string) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ident` [INFO] [stdout] --> src/vm.rs:133:69 [INFO] [stdout] | [INFO] [stdout] 133 | ... Primary::Identifier(ident) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_ident` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/vm.rs:136:65 [INFO] [stdout] | [INFO] [stdout] 136 | ... Primary::Return(expr) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/vm.rs:139:69 [INFO] [stdout] | [INFO] [stdout] 139 | ... Primary::Expression(expr) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `identifier` [INFO] [stdout] --> src/vm.rs:144:60 [INFO] [stdout] | [INFO] [stdout] 144 | ... Call::CallLiteral {identifier, call_args } => { [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `identifier: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `call_args` [INFO] [stdout] --> src/vm.rs:144:72 [INFO] [stdout] | [INFO] [stdout] 144 | ... Call::CallLiteral {identifier, call_args } => { [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `call_args: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `unary` [INFO] [stdout] --> src/vm.rs:149:57 [INFO] [stdout] | [INFO] [stdout] 149 | ... Unary::UnaryOperation { unary, operator} => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `unary: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `operator` [INFO] [stdout] --> src/vm.rs:149:64 [INFO] [stdout] | [INFO] [stdout] 149 | ... Unary::UnaryOperation { unary, operator} => { [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `operator: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `operator` [INFO] [stdout] --> src/vm.rs:155:42 [INFO] [stdout] | [INFO] [stdout] 155 | ... let Binary { operator, left, right} = binary; [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `operator: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `left` [INFO] [stdout] --> src/vm.rs:155:52 [INFO] [stdout] | [INFO] [stdout] 155 | ... let Binary { operator, left, right} = binary; [INFO] [stdout] | ^^^^ help: try ignoring the field: `left: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right` [INFO] [stdout] --> src/vm.rs:155:58 [INFO] [stdout] | [INFO] [stdout] 155 | ... let Binary { operator, left, right} = binary; [INFO] [stdout] | ^^^^^ help: try ignoring the field: `right: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/vm.rs:83:13 [INFO] [stdout] | [INFO] [stdout] 83 | let mut vm = VM::new(); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `root` [INFO] [stdout] --> src/code_generator.rs:3:18 [INFO] [stdout] | [INFO] [stdout] 3 | fn generate_code(root: Program) -> String { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_root` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | Float(f64), [INFO] [stdout] | ----- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Primary` 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] 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] 8 | Float(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | Int(i64), [INFO] [stdout] | --- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Primary` 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] 9 | Int(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | String(String), [INFO] [stdout] | ------ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Primary` 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] 10 | String(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:11:16 [INFO] [stdout] | [INFO] [stdout] 11 | Identifier(Identifier), [INFO] [stdout] | ---------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Primary` 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] 11 | Identifier(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | Return(Box), [INFO] [stdout] | ------ ^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Primary` 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] 12 | Return(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | Expression(Box), [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Primary` 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] 13 | Expression(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | Primary(Primary), [INFO] [stdout] | ------- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Call` 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] 20 | Primary(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `identifier` and `call_args` are never read [INFO] [stdout] --> src/ast.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 21 | CallLiteral { [INFO] [stdout] | ----------- fields in this variant [INFO] [stdout] 22 | identifier: Identifier, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 23 | call_args: CallArgs, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Call` 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:34:10 [INFO] [stdout] | [INFO] [stdout] 34 | Call(Call), [INFO] [stdout] | ---- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Unary` 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] 34 | Call(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `operator` and `unary` are never read [INFO] [stdout] --> src/ast.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 35 | UnaryOperation { [INFO] [stdout] | -------------- fields in this variant [INFO] [stdout] 36 | operator: UnaryOperator, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 37 | unary: Box, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Unary` 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 `left`, `operator`, and `right` are never read [INFO] [stdout] --> src/ast.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 50 | pub struct Binary { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 51 | pub left: Unary, [INFO] [stdout] | ^^^^ [INFO] [stdout] 52 | pub operator: BinaryOperator, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 53 | pub right: Box, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Binary` 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:58:11 [INFO] [stdout] | [INFO] [stdout] 58 | Unary(Unary), [INFO] [stdout] | ----- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expression` 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] 58 | Unary(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 59 | Binary(Binary), [INFO] [stdout] | ------ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expression` 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] 59 | Binary(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `identifier` and `expr` are never read [INFO] [stdout] --> src/ast.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 65 | pub struct Assignment { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 66 | pub identifier: Identifier, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 67 | pub expr: Expression, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Assignment` 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 `identifier`, `proc_args`, and `block` are never read [INFO] [stdout] --> src/ast.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 73 | pub struct Proc { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 74 | pub identifier: Identifier, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 75 | pub proc_args: ProcArgs, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 76 | pub block: Block, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Proc` 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 `identifier` and `expr` are never read [INFO] [stdout] --> src/ast.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct Const { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 81 | pub identifier: Identifier, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 82 | pub expr: Expression, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Const` 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 `identifier` and `expr` are never read [INFO] [stdout] --> src/ast.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 86 | pub struct Var { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 87 | pub identifier: Identifier, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 88 | pub expr: Expression, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Var` 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:93:9 [INFO] [stdout] | [INFO] [stdout] 93 | Var(Var), [INFO] [stdout] | --- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Declaration` 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] 93 | Var(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:94:11 [INFO] [stdout] | [INFO] [stdout] 94 | Const(Const), [INFO] [stdout] | ----- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Declaration` 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] 94 | Const(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:95:10 [INFO] [stdout] | [INFO] [stdout] 95 | Proc(Proc), [INFO] [stdout] | ---- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Declaration` 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] 95 | Proc(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:100:16 [INFO] [stdout] | [INFO] [stdout] 100 | Assignment(Assignment), [INFO] [stdout] | ---------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Item` 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] 100 | Assignment(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | Declaration(Declaration), [INFO] [stdout] | ----------- ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Item` 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] 101 | Declaration(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:102:16 [INFO] [stdout] | [INFO] [stdout] 102 | Expression(Expression), [INFO] [stdout] | ---------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Item` 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] 102 | Expression(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `items` is never read [INFO] [stdout] --> src/ast.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 106 | pub struct Program { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 107 | pub items: Vec, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Program` 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: type alias `Address` is never used [INFO] [stdout] --> src/vm.rs:4:6 [INFO] [stdout] | [INFO] [stdout] 4 | type Address = u32; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STDIN` is never used [INFO] [stdout] --> src/vm.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | const STDIN: u32 = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STDOUT` is never used [INFO] [stdout] --> src/vm.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const STDOUT: u32 = 1; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SysCall` is never used [INFO] [stdout] --> src/vm.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum SysCall { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SysCall` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Register` is never used [INFO] [stdout] --> src/vm.rs:24:10 [INFO] [stdout] | [INFO] [stdout] 24 | pub enum Register { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Register` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Instruction` is never used [INFO] [stdout] --> src/vm.rs:32:10 [INFO] [stdout] | [INFO] [stdout] 32 | pub enum Instruction { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Instruction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VM` is never constructed [INFO] [stdout] --> src/vm.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 54 | pub struct VM { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `from_ast`, `next_instruction`, and `run` are never used [INFO] [stdout] --> src/vm.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 66 | impl VM { [INFO] [stdout] | ------- associated items in this implementation [INFO] [stdout] 67 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn from_ast(root: Program) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | pub fn next_instruction(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn run(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_code` is never used [INFO] [stdout] --> src/code_generator.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn generate_code(root: Program) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/vm.rs:83:17 [INFO] [stdout] | [INFO] [stdout] 83 | let mut vm = VM::new(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `identifier` [INFO] [stdout] --> src/vm.rs:88:38 [INFO] [stdout] | [INFO] [stdout] 88 | let Assignment { identifier, expr } = ass; [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `identifier: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/vm.rs:88:50 [INFO] [stdout] | [INFO] [stdout] 88 | let Assignment { identifier, expr } = ass; [INFO] [stdout] | ^^^^ help: try ignoring the field: `expr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `identifier` [INFO] [stdout] --> src/vm.rs:94:38 [INFO] [stdout] | [INFO] [stdout] 94 | ... let Var {identifier, expr} = var; [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `identifier: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/vm.rs:94:50 [INFO] [stdout] | [INFO] [stdout] 94 | ... let Var {identifier, expr} = var; [INFO] [stdout] | ^^^^ help: try ignoring the field: `expr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `identifier` [INFO] [stdout] --> src/vm.rs:98:40 [INFO] [stdout] | [INFO] [stdout] 98 | ... let Const {identifier, expr} = const_; [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `identifier: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/vm.rs:98:52 [INFO] [stdout] | [INFO] [stdout] 98 | ... let Const {identifier, expr} = const_; [INFO] [stdout] | ^^^^ help: try ignoring the field: `expr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `identifier` [INFO] [stdout] --> src/vm.rs:102:39 [INFO] [stdout] | [INFO] [stdout] 102 | ... let Proc {identifier, proc_args, block} = proc; [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `identifier: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `proc_args` [INFO] [stdout] --> src/vm.rs:102:51 [INFO] [stdout] | [INFO] [stdout] 102 | ... let Proc {identifier, proc_args, block} = proc; [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `proc_args: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block` [INFO] [stdout] --> src/vm.rs:102:62 [INFO] [stdout] | [INFO] [stdout] 102 | ... let Proc {identifier, proc_args, block} = proc; [INFO] [stdout] | ^^^^^ help: try ignoring the field: `block: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `float` [INFO] [stdout] --> src/vm.rs:124:64 [INFO] [stdout] | [INFO] [stdout] 124 | ... Primary::Float(float) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_float` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `int` [INFO] [stdout] --> src/vm.rs:127:62 [INFO] [stdout] | [INFO] [stdout] 127 | ... Primary::Int(int) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_int` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `string` [INFO] [stdout] --> src/vm.rs:130:65 [INFO] [stdout] | [INFO] [stdout] 130 | ... Primary::String(string) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ident` [INFO] [stdout] --> src/vm.rs:133:69 [INFO] [stdout] | [INFO] [stdout] 133 | ... Primary::Identifier(ident) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_ident` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/vm.rs:136:65 [INFO] [stdout] | [INFO] [stdout] 136 | ... Primary::Return(expr) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/vm.rs:139:69 [INFO] [stdout] | [INFO] [stdout] 139 | ... Primary::Expression(expr) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `identifier` [INFO] [stdout] --> src/vm.rs:144:60 [INFO] [stdout] | [INFO] [stdout] 144 | ... Call::CallLiteral {identifier, call_args } => { [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `identifier: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `call_args` [INFO] [stdout] --> src/vm.rs:144:72 [INFO] [stdout] | [INFO] [stdout] 144 | ... Call::CallLiteral {identifier, call_args } => { [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `call_args: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `unary` [INFO] [stdout] --> src/vm.rs:149:57 [INFO] [stdout] | [INFO] [stdout] 149 | ... Unary::UnaryOperation { unary, operator} => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `unary: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `operator` [INFO] [stdout] --> src/vm.rs:149:64 [INFO] [stdout] | [INFO] [stdout] 149 | ... Unary::UnaryOperation { unary, operator} => { [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `operator: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `operator` [INFO] [stdout] --> src/vm.rs:155:42 [INFO] [stdout] | [INFO] [stdout] 155 | ... let Binary { operator, left, right} = binary; [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `operator: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `left` [INFO] [stdout] --> src/vm.rs:155:52 [INFO] [stdout] | [INFO] [stdout] 155 | ... let Binary { operator, left, right} = binary; [INFO] [stdout] | ^^^^ help: try ignoring the field: `left: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right` [INFO] [stdout] --> src/vm.rs:155:58 [INFO] [stdout] | [INFO] [stdout] 155 | ... let Binary { operator, left, right} = binary; [INFO] [stdout] | ^^^^^ help: try ignoring the field: `right: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/vm.rs:83:13 [INFO] [stdout] | [INFO] [stdout] 83 | let mut vm = VM::new(); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `root` [INFO] [stdout] --> src/code_generator.rs:3:18 [INFO] [stdout] | [INFO] [stdout] 3 | fn generate_code(root: Program) -> String { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_root` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | Float(f64), [INFO] [stdout] | ----- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Primary` 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] 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] 8 | Float(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | Int(i64), [INFO] [stdout] | --- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Primary` 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] 9 | Int(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | String(String), [INFO] [stdout] | ------ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Primary` 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] 10 | String(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:11:16 [INFO] [stdout] | [INFO] [stdout] 11 | Identifier(Identifier), [INFO] [stdout] | ---------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Primary` 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] 11 | Identifier(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | Return(Box), [INFO] [stdout] | ------ ^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Primary` 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] 12 | Return(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | Expression(Box), [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Primary` 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] 13 | Expression(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | Primary(Primary), [INFO] [stdout] | ------- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Call` 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] 20 | Primary(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `identifier` and `call_args` are never read [INFO] [stdout] --> src/ast.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 21 | CallLiteral { [INFO] [stdout] | ----------- fields in this variant [INFO] [stdout] 22 | identifier: Identifier, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 23 | call_args: CallArgs, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Call` 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:34:10 [INFO] [stdout] | [INFO] [stdout] 34 | Call(Call), [INFO] [stdout] | ---- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Unary` 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] 34 | Call(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `operator` and `unary` are never read [INFO] [stdout] --> src/ast.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 35 | UnaryOperation { [INFO] [stdout] | -------------- fields in this variant [INFO] [stdout] 36 | operator: UnaryOperator, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 37 | unary: Box, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Unary` 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 `left`, `operator`, and `right` are never read [INFO] [stdout] --> src/ast.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 50 | pub struct Binary { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 51 | pub left: Unary, [INFO] [stdout] | ^^^^ [INFO] [stdout] 52 | pub operator: BinaryOperator, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 53 | pub right: Box, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Binary` 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:58:11 [INFO] [stdout] | [INFO] [stdout] 58 | Unary(Unary), [INFO] [stdout] | ----- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expression` 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] 58 | Unary(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 59 | Binary(Binary), [INFO] [stdout] | ------ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expression` 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] 59 | Binary(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `identifier` and `expr` are never read [INFO] [stdout] --> src/ast.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 65 | pub struct Assignment { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 66 | pub identifier: Identifier, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 67 | pub expr: Expression, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Assignment` 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 `identifier`, `proc_args`, and `block` are never read [INFO] [stdout] --> src/ast.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 73 | pub struct Proc { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 74 | pub identifier: Identifier, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 75 | pub proc_args: ProcArgs, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 76 | pub block: Block, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Proc` 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 `identifier` and `expr` are never read [INFO] [stdout] --> src/ast.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct Const { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 81 | pub identifier: Identifier, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 82 | pub expr: Expression, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Const` 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 `identifier` and `expr` are never read [INFO] [stdout] --> src/ast.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 86 | pub struct Var { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 87 | pub identifier: Identifier, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 88 | pub expr: Expression, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Var` 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:93:9 [INFO] [stdout] | [INFO] [stdout] 93 | Var(Var), [INFO] [stdout] | --- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Declaration` 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] 93 | Var(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:94:11 [INFO] [stdout] | [INFO] [stdout] 94 | Const(Const), [INFO] [stdout] | ----- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Declaration` 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] 94 | Const(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:95:10 [INFO] [stdout] | [INFO] [stdout] 95 | Proc(Proc), [INFO] [stdout] | ---- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Declaration` 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] 95 | Proc(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:100:16 [INFO] [stdout] | [INFO] [stdout] 100 | Assignment(Assignment), [INFO] [stdout] | ---------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Item` 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] 100 | Assignment(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | Declaration(Declaration), [INFO] [stdout] | ----------- ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Item` 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] 101 | Declaration(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:102:16 [INFO] [stdout] | [INFO] [stdout] 102 | Expression(Expression), [INFO] [stdout] | ---------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Item` 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] 102 | Expression(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `items` is never read [INFO] [stdout] --> src/ast.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 106 | pub struct Program { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 107 | pub items: Vec, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Program` 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: type alias `Address` is never used [INFO] [stdout] --> src/vm.rs:4:6 [INFO] [stdout] | [INFO] [stdout] 4 | type Address = u32; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STDIN` is never used [INFO] [stdout] --> src/vm.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | const STDIN: u32 = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STDOUT` is never used [INFO] [stdout] --> src/vm.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const STDOUT: u32 = 1; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SysCall` is never used [INFO] [stdout] --> src/vm.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum SysCall { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SysCall` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Register` is never used [INFO] [stdout] --> src/vm.rs:24:10 [INFO] [stdout] | [INFO] [stdout] 24 | pub enum Register { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Register` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Instruction` is never used [INFO] [stdout] --> src/vm.rs:32:10 [INFO] [stdout] | [INFO] [stdout] 32 | pub enum Instruction { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Instruction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VM` is never constructed [INFO] [stdout] --> src/vm.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 54 | pub struct VM { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `from_ast`, `next_instruction`, and `run` are never used [INFO] [stdout] --> src/vm.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 66 | impl VM { [INFO] [stdout] | ------- associated items in this implementation [INFO] [stdout] 67 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn from_ast(root: Program) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | pub fn next_instruction(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn run(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_code` is never used [INFO] [stdout] --> src/code_generator.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn generate_code(root: Program) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.16s [INFO] running `Command { std: "docker" "inspect" "c12139280a89c4d0b967397a0d7e3890cafaa812a4e860b8c9a982e06543616e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c12139280a89c4d0b967397a0d7e3890cafaa812a4e860b8c9a982e06543616e", kill_on_drop: false }` [INFO] [stdout] c12139280a89c4d0b967397a0d7e3890cafaa812a4e860b8c9a982e06543616e