[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#0269aeccce4fd29ce9ad0ebd47a62e584d7e25ef for pr-147859
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkhalidbelhadj%2Ffirst_interpreter" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[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-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/khalidbelhadj/first_interpreter on toolchain 0269aeccce4fd29ce9ad0ebd47a62e584d7e25ef
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0269aeccce4fd29ce9ad0ebd47a62e584d7e25ef" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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" "+0269aeccce4fd29ce9ad0ebd47a62e584d7e25ef" "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
[ERROR] error running command: no output for 300 seconds
[INFO] checking khalidbelhadj/first_interpreter against try#0269aeccce4fd29ce9ad0ebd47a62e584d7e25ef for pr-147859
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkhalidbelhadj%2Ffirst_interpreter" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[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-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/khalidbelhadj/first_interpreter on toolchain 0269aeccce4fd29ce9ad0ebd47a62e584d7e25ef
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0269aeccce4fd29ce9ad0ebd47a62e584d7e25ef" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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" "+0269aeccce4fd29ce9ad0ebd47a62e584d7e25ef" "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-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+0269aeccce4fd29ce9ad0ebd47a62e584d7e25ef" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d5ace7c98a21f7b9fbc60d0303815148c20f8e813c843132ece40f64f7cc523d
[INFO] running `Command { std: "docker" "start" "-a" "d5ace7c98a21f7b9fbc60d0303815148c20f8e813c843132ece40f64f7cc523d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d5ace7c98a21f7b9fbc60d0303815148c20f8e813c843132ece40f64f7cc523d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d5ace7c98a21f7b9fbc60d0303815148c20f8e813c843132ece40f64f7cc523d", kill_on_drop: false }`
[INFO] [stdout] d5ace7c98a21f7b9fbc60d0303815148c20f8e813c843132ece40f64f7cc523d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+0269aeccce4fd29ce9ad0ebd47a62e584d7e25ef" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bb43f3bf76b671175ef1219aafb549558e9e5c9d4c9cd2c7d7938230a75874fd
[INFO] running `Command { std: "docker" "start" "-a" "bb43f3bf76b671175ef1219aafb549558e9e5c9d4c9cd2c7d7938230a75874fd", kill_on_drop: false }`
[INFO] [stderr]     Checking rust_interpreter v0.1.0 (/opt/rustwide/workdir)
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vm`
[INFO] [stdout]   --> src/vm.rs:83:13
[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)]` (part of `#[warn(unused)]`) 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: 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)]` (part of `#[warn(unused)]`) 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(f64),
[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(i64),
[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(String),
[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(Identifier),
[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<Expression>),
[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(Box<Expression>),
[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<Expression>),
[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(Box<Expression>),
[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(Primary),
[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(Call),
[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<Unary>,
[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<Expression>,
[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(Unary),
[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(Binary),
[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(Var),
[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(Const),
[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(Proc),
[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(Assignment),
[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(Declaration),
[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(Expression),
[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<Item>,
[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] 
[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] 
[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] 
[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<Instruction> {
[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: 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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vm`
[INFO] [stdout]   --> src/vm.rs:83:13
[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)]` (part of `#[warn(unused)]`) 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: 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)]` (part of `#[warn(unused)]`) 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(f64),
[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(i64),
[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(String),
[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(Identifier),
[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<Expression>),
[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(Box<Expression>),
[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<Expression>),
[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(Box<Expression>),
[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(Primary),
[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(Call),
[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<Unary>,
[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<Expression>,
[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(Unary),
[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(Binary),
[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(Var),
[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(Const),
[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(Proc),
[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(Assignment),
[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(Declaration),
[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(Expression),
[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<Item>,
[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] 
[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] 
[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] 
[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<Instruction> {
[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.12s
[INFO] running `Command { std: "docker" "inspect" "bb43f3bf76b671175ef1219aafb549558e9e5c9d4c9cd2c7d7938230a75874fd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bb43f3bf76b671175ef1219aafb549558e9e5c9d4c9cd2c7d7938230a75874fd", kill_on_drop: false }`
[INFO] [stdout] bb43f3bf76b671175ef1219aafb549558e9e5c9d4c9cd2c7d7938230a75874fd
