[INFO] cloning repository https://github.com/maple8192/two
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/maple8192/two" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmaple8192%2Ftwo", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmaple8192%2Ftwo'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b0800919623360e4f1fd3ca7f3193ad06afc714b
[INFO] testing maple8192/two against master#733b47ea4b1b86216f14ef56e49440c33933f230+rustflags=-Copt-level=3 for pr-138759-retry
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmaple8192%2Ftwo" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/maple8192/two
[INFO] finished tweaking git repo https://github.com/maple8192/two
[INFO] tweaked toml for git repo https://github.com/maple8192/two written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/maple8192/two on toolchain 733b47ea4b1b86216f14ef56e49440c33933f230
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/maple8192/two 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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "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-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a20ab5d1ee8242a5cfc267c50276d10d0214ffc4da320b920cba1dbf51485717
[INFO] running `Command { std: "docker" "start" "-a" "a20ab5d1ee8242a5cfc267c50276d10d0214ffc4da320b920cba1dbf51485717", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a20ab5d1ee8242a5cfc267c50276d10d0214ffc4da320b920cba1dbf51485717", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a20ab5d1ee8242a5cfc267c50276d10d0214ffc4da320b920cba1dbf51485717", kill_on_drop: false }`
[INFO] [stdout] a20ab5d1ee8242a5cfc267c50276d10d0214ffc4da320b920cba1dbf51485717
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 89a6f7959c4d86d860f6aad58b5ed72b27d38505b9334d8c550903f956bb6050
[INFO] running `Command { std: "docker" "start" "-a" "89a6f7959c4d86d860f6aad58b5ed72b27d38505b9334d8c550903f956bb6050", kill_on_drop: false }`
[INFO] [stderr]    Compiling anyhow v1.0.97
[INFO] [stderr]    Compiling two v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `value::Value`
[INFO] [stdout]  --> src/ast/block_stmt.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     value::Value,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vm`
[INFO] [stdout]   --> src/ast/block_stmt.rs:36:24
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn eval(&self, vm: &mut VM) -> anyhow::Result<()> {
[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: `vm`
[INFO] [stdout]   --> src/ast/function.rs:92:24
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn eval(&self, vm: &mut VM, args: &[Value]) -> anyhow::Result<Value> {
[INFO] [stdout]    |                        ^^ help: if this is intentional, prefix it with an underscore: `_vm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lexer`
[INFO] [stdout]  --> src/two.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let lexer = TwoLexer::new(src);
[INFO] [stdout]   |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_lexer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse` is never used
[INFO] [stdout]   --> src/ast.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn parse(
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `consume_rsved` is never used
[INFO] [stdout]  --> src/ast/basic.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn consume_rsved(src: &mut Peekable<impl Iterator<Item = Token>>, expected: Reserved) -> bool {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `consume_num` is never used
[INFO] [stdout]   --> src/ast/basic.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn consume_num(src: &mut Peekable<impl Iterator<Item = Token>>) -> Option<f64> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `consume_str` is never used
[INFO] [stdout]   --> src/ast/basic.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn consume_str(src: &mut Peekable<impl Iterator<Item = Token>>) -> Option<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `consume_ident` is never used
[INFO] [stdout]   --> src/ast/basic.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn consume_ident(src: &mut Peekable<impl Iterator<Item = Token>>) -> Option<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expect_rsved` is never used
[INFO] [stdout]   --> src/ast/basic.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn expect_rsved(
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expect_num` is never used
[INFO] [stdout]   --> src/ast/basic.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn expect_num(
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expect_str` is never used
[INFO] [stdout]   --> src/ast/basic.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub fn expect_str(
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expect_ident` is never used
[INFO] [stdout]   --> src/ast/basic.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn expect_ident(
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parser_err` is never used
[INFO] [stdout]   --> src/ast/basic.rs:97:4
[INFO] [stdout]    |
[INFO] [stdout] 97 | fn parser_err(src: &mut Peekable<impl Iterator<Item = Token>>, expected: &str) -> anyhow::Error {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlockStmt` is never constructed
[INFO] [stdout]   --> src/ast/block_stmt.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct BlockStmt {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `parse`, `statements`, and `eval` are never used
[INFO] [stdout]   --> src/ast/block_stmt.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl BlockStmt {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 20 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn statements(&self) -> &[Statement] {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn eval(&self, vm: &mut VM) -> anyhow::Result<()> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BrStmt` is never constructed
[INFO] [stdout]  --> src/ast/br_stmt.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct BrStmt;
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]   --> src/ast/br_stmt.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl BrStmt {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 11 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContStmt` is never constructed
[INFO] [stdout]  --> src/ast/cont_stmt.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct ContStmt;
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]   --> src/ast/cont_stmt.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl ContStmt {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 11 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExprStmt` is never constructed
[INFO] [stdout]  --> src/ast/expr_stmt.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct ExprStmt {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `parse` and `expression` are never used
[INFO] [stdout]   --> src/ast/expr_stmt.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl ExprStmt {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn expression(&self) -> &Expression {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Expression` is never used
[INFO] [stdout]   --> src/ast/expression.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum Expression {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]   --> src/ast/expression.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | impl Expression {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 85 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `add_expr` is never used
[INFO] [stdout]   --> src/ast/expression/add_expr.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Expression {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 11 |     pub(super) fn add_expr(
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `and_expr` is never used
[INFO] [stdout]   --> src/ast/expression/and_expr.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Expression {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 11 |     pub(super) fn and_expr(
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `asg_expr` is never used
[INFO] [stdout]  --> src/ast/expression/asg_expr.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl Expression {
[INFO] [stdout]   | --------------- associated function in this implementation
[INFO] [stdout] 8 |     pub(super) fn asg_expr(
[INFO] [stdout]   |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `eq_expr` is never used
[INFO] [stdout]   --> src/ast/expression/eq_expr.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Expression {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 11 |     pub(super) fn eq_expr(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `ineq_expr` is never used
[INFO] [stdout]   --> src/ast/expression/ineq_expr.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Expression {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 11 |     pub(super) fn ineq_expr(
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `mul_expr` is never used
[INFO] [stdout]   --> src/ast/expression/mul_expr.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Expression {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 11 |     pub(super) fn mul_expr(
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `or_expr` is never used
[INFO] [stdout]   --> src/ast/expression/or_expr.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Expression {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 11 |     pub(super) fn or_expr(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `prim_expr` is never used
[INFO] [stdout]   --> src/ast/expression/prim_expr.rs:13:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Expression {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 13 |     pub(super) fn prim_expr(
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `ref_expr` is never used
[INFO] [stdout]   --> src/ast/expression/ref_expr.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Expression {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 11 |     pub(super) fn ref_expr(
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `unary_expr` is never used
[INFO] [stdout]   --> src/ast/expression/unary_expr.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Expression {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 11 |     pub(super) fn unary_expr(
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ForStmt` is never constructed
[INFO] [stdout]   --> src/ast/for_stmt.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct ForStmt {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]   --> src/ast/for_stmt.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl ForStmt {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 20 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Function` is never used
[INFO] [stdout]   --> src/ast/function.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum Function {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `eval` is never used
[INFO] [stdout]   --> src/ast/function.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Function {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 24 |     pub fn eval(&self, vm: &mut VM, args: &[Value]) -> anyhow::Result<Value> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserFunc` is never constructed
[INFO] [stdout]   --> src/ast/function.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct UserFunc {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `parse` and `eval` are never used
[INFO] [stdout]   --> src/ast/function.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl UserFunc {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 39 |     pub fn parse(
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn eval(&self, vm: &mut VM, args: &[Value]) -> anyhow::Result<Value> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BuiltinFunc` is never constructed
[INFO] [stdout]   --> src/ast/function.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct BuiltinFunc {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `eval` are never used
[INFO] [stdout]   --> src/ast/function.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | impl BuiltinFunc {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 88 |     pub fn new(arity: usize, body: fn(&mut VM, &[Value]) -> anyhow::Result<Value>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn eval(&self, vm: &mut VM, args: &[Value]) -> anyhow::Result<Value> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IfStmt` is never constructed
[INFO] [stdout]   --> src/ast/if_stmt.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct IfStmt {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FalseCase` is never used
[INFO] [stdout]   --> src/ast/if_stmt.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum FalseCase {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]   --> src/ast/if_stmt.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl IfStmt {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 25 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Program` is never constructed
[INFO] [stdout]   --> src/ast/program.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Program {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `parse`, `function`, and `eval` are never used
[INFO] [stdout]   --> src/ast/program.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Program {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 15 |     pub fn parse(
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn function(&self, name: &str) -> Option<&Function> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn eval(&self, vm: &mut VM) -> anyhow::Result<Value> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RetStmt` is never constructed
[INFO] [stdout]   --> src/ast/ret_stmt.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct RetStmt {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]   --> src/ast/ret_stmt.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl RetStmt {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 16 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Statement` is never used
[INFO] [stdout]   --> src/ast/statement.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum Statement {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]   --> src/ast/statement.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Statement {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 25 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VarStmt` is never constructed
[INFO] [stdout]   --> src/ast/var_stmt.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct VarStmt {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]   --> src/ast/var_stmt.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl VarStmt {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 17 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WhileStmt` is never constructed
[INFO] [stdout]  --> src/ast/while_stmt.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct WhileStmt {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]   --> src/ast/while_stmt.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl WhileStmt {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 14 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `row` and `col` are never read
[INFO] [stdout]  --> src/position.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Position {
[INFO] [stdout]   |            -------- fields in this struct
[INFO] [stdout] 3 |     row: usize,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 4 |     col: usize,
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Position` 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: methods `row` and `col` are never used
[INFO] [stdout]   --> src/position.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 7  | impl Position {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub fn row(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn col(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `kind`, `str`, and `pos` are never read
[INFO] [stdout]  --> src/token.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Token {
[INFO] [stdout]   |            ----- fields in this struct
[INFO] [stdout] 5 |     kind: TokenKind,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 6 |     str: String,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 7 |     pos: Position,
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Token` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `kind`, `str`, and `pos` are never used
[INFO] [stdout]   --> src/token.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Token {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn kind(&self) -> &TokenKind {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn str(&self) -> &str {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn pos(&self) -> Position {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/token.rs:34:14
[INFO] [stdout]    |
[INFO] [stdout] 34 |     Reserved(Reserved),
[INFO] [stdout]    |     -------- ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenKind` has a derived impl for the trait `Debug`, but this is 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 -     Reserved(Reserved),
[INFO] [stdout] 34 +     Reserved(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/token.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     Num(f64),
[INFO] [stdout]    |     --- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenKind` has a derived impl for the trait `Debug`, but this is 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] 35 -     Num(f64),
[INFO] [stdout] 35 +     Num(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/token.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     Str(String),
[INFO] [stdout]    |     --- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenKind` has a derived impl for the trait `Debug`, but this is 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] 36 -     Str(String),
[INFO] [stdout] 36 +     Str(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/token.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 |     Ident(String),
[INFO] [stdout]    |     ----- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenKind` has a derived impl for the trait `Debug`, but this is 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] 37 -     Ident(String),
[INFO] [stdout] 37 +     Ident(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/token.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |     Unknown(char),
[INFO] [stdout]    |     ------- ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenKind` has a derived impl for the trait `Debug`, but this is 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] 38 -     Unknown(char),
[INFO] [stdout] 38 +     Unknown(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Value` is never used
[INFO] [stdout]  --> src/value.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum Value {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VM` is never constructed
[INFO] [stdout]  --> src/vm.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct VM {
[INFO] [stdout]   |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `enter_func`, `exit_func`, `innermost`, and `run` are never used
[INFO] [stdout]   --> src/vm.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl VM {
[INFO] [stdout]    | ------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn enter_func(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn exit_func(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn innermost(&mut self) -> &mut FuncScope {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn run(&mut self, program: &Program) -> anyhow::Result<Value> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FuncScope` is never constructed
[INFO] [stdout]   --> src/vm.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct FuncScope {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `enter_block`, `exit_block`, `innermost`, `get_var`, and `set_var` are never used
[INFO] [stdout]   --> src/vm.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl FuncScope {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 40 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn enter_block(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn exit_block(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn innermost(&mut self) -> &mut Scope {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn get_var(&self, name: &str) -> Option<&Value> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn set_var(&mut self, name: &str, value: Value) -> anyhow::Result<()> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Scope` is never constructed
[INFO] [stdout]   --> src/vm.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct Scope {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `new_var`, `get_var`, and `set_var` are never used
[INFO] [stdout]    --> src/vm.rs:82:12
[INFO] [stdout]     |
[INFO] [stdout] 81  | impl Scope {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 82  |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 88  |     pub fn new_var(&mut self, name: String, value: Value) -> anyhow::Result<()> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96  |     pub fn get_var(&self, name: &str) -> Option<&Value> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn set_var(&mut self, name: &str, value: Value) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.35s
[INFO] running `Command { std: "docker" "inspect" "89a6f7959c4d86d860f6aad58b5ed72b27d38505b9334d8c550903f956bb6050", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "89a6f7959c4d86d860f6aad58b5ed72b27d38505b9334d8c550903f956bb6050", kill_on_drop: false }`
[INFO] [stdout] 89a6f7959c4d86d860f6aad58b5ed72b27d38505b9334d8c550903f956bb6050
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 997cf72cd95a6a4cb56c7c8ecf973994e13b1eb12de2c7ed8d88e5687caa67ce
[INFO] running `Command { std: "docker" "start" "-a" "997cf72cd95a6a4cb56c7c8ecf973994e13b1eb12de2c7ed8d88e5687caa67ce", kill_on_drop: false }`
[INFO] [stderr]    Compiling two v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `value::Value`
[INFO] [stdout]  --> src/ast/block_stmt.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     value::Value,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vm`
[INFO] [stdout]   --> src/ast/block_stmt.rs:36:24
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn eval(&self, vm: &mut VM) -> anyhow::Result<()> {
[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: `vm`
[INFO] [stdout]   --> src/ast/function.rs:92:24
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn eval(&self, vm: &mut VM, args: &[Value]) -> anyhow::Result<Value> {
[INFO] [stdout]    |                        ^^ help: if this is intentional, prefix it with an underscore: `_vm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lexer`
[INFO] [stdout]  --> src/two.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let lexer = TwoLexer::new(src);
[INFO] [stdout]   |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_lexer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse` is never used
[INFO] [stdout]   --> src/ast.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn parse(
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `consume_rsved` is never used
[INFO] [stdout]  --> src/ast/basic.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn consume_rsved(src: &mut Peekable<impl Iterator<Item = Token>>, expected: Reserved) -> bool {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `consume_num` is never used
[INFO] [stdout]   --> src/ast/basic.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn consume_num(src: &mut Peekable<impl Iterator<Item = Token>>) -> Option<f64> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `consume_str` is never used
[INFO] [stdout]   --> src/ast/basic.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn consume_str(src: &mut Peekable<impl Iterator<Item = Token>>) -> Option<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `consume_ident` is never used
[INFO] [stdout]   --> src/ast/basic.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn consume_ident(src: &mut Peekable<impl Iterator<Item = Token>>) -> Option<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expect_rsved` is never used
[INFO] [stdout]   --> src/ast/basic.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn expect_rsved(
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expect_num` is never used
[INFO] [stdout]   --> src/ast/basic.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn expect_num(
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expect_str` is never used
[INFO] [stdout]   --> src/ast/basic.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub fn expect_str(
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expect_ident` is never used
[INFO] [stdout]   --> src/ast/basic.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn expect_ident(
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parser_err` is never used
[INFO] [stdout]   --> src/ast/basic.rs:97:4
[INFO] [stdout]    |
[INFO] [stdout] 97 | fn parser_err(src: &mut Peekable<impl Iterator<Item = Token>>, expected: &str) -> anyhow::Error {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlockStmt` is never constructed
[INFO] [stdout]   --> src/ast/block_stmt.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct BlockStmt {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `parse`, `statements`, and `eval` are never used
[INFO] [stdout]   --> src/ast/block_stmt.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl BlockStmt {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 20 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn statements(&self) -> &[Statement] {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn eval(&self, vm: &mut VM) -> anyhow::Result<()> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BrStmt` is never constructed
[INFO] [stdout]  --> src/ast/br_stmt.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct BrStmt;
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]   --> src/ast/br_stmt.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl BrStmt {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 11 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContStmt` is never constructed
[INFO] [stdout]  --> src/ast/cont_stmt.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct ContStmt;
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]   --> src/ast/cont_stmt.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl ContStmt {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 11 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExprStmt` is never constructed
[INFO] [stdout]  --> src/ast/expr_stmt.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct ExprStmt {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `parse` and `expression` are never used
[INFO] [stdout]   --> src/ast/expr_stmt.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl ExprStmt {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn expression(&self) -> &Expression {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Expression` is never used
[INFO] [stdout]   --> src/ast/expression.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum Expression {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]   --> src/ast/expression.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | impl Expression {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 85 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `add_expr` is never used
[INFO] [stdout]   --> src/ast/expression/add_expr.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Expression {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 11 |     pub(super) fn add_expr(
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `and_expr` is never used
[INFO] [stdout]   --> src/ast/expression/and_expr.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Expression {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 11 |     pub(super) fn and_expr(
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `asg_expr` is never used
[INFO] [stdout]  --> src/ast/expression/asg_expr.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl Expression {
[INFO] [stdout]   | --------------- associated function in this implementation
[INFO] [stdout] 8 |     pub(super) fn asg_expr(
[INFO] [stdout]   |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `eq_expr` is never used
[INFO] [stdout]   --> src/ast/expression/eq_expr.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Expression {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 11 |     pub(super) fn eq_expr(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `ineq_expr` is never used
[INFO] [stdout]   --> src/ast/expression/ineq_expr.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Expression {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 11 |     pub(super) fn ineq_expr(
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `mul_expr` is never used
[INFO] [stdout]   --> src/ast/expression/mul_expr.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Expression {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 11 |     pub(super) fn mul_expr(
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `or_expr` is never used
[INFO] [stdout]   --> src/ast/expression/or_expr.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Expression {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 11 |     pub(super) fn or_expr(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `prim_expr` is never used
[INFO] [stdout]   --> src/ast/expression/prim_expr.rs:13:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Expression {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 13 |     pub(super) fn prim_expr(
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `ref_expr` is never used
[INFO] [stdout]   --> src/ast/expression/ref_expr.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Expression {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 11 |     pub(super) fn ref_expr(
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `unary_expr` is never used
[INFO] [stdout]   --> src/ast/expression/unary_expr.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Expression {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 11 |     pub(super) fn unary_expr(
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ForStmt` is never constructed
[INFO] [stdout]   --> src/ast/for_stmt.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct ForStmt {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]   --> src/ast/for_stmt.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl ForStmt {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 20 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Function` is never used
[INFO] [stdout]   --> src/ast/function.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum Function {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `eval` is never used
[INFO] [stdout]   --> src/ast/function.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Function {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 24 |     pub fn eval(&self, vm: &mut VM, args: &[Value]) -> anyhow::Result<Value> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserFunc` is never constructed
[INFO] [stdout]   --> src/ast/function.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct UserFunc {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `parse` and `eval` are never used
[INFO] [stdout]   --> src/ast/function.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl UserFunc {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 39 |     pub fn parse(
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn eval(&self, vm: &mut VM, args: &[Value]) -> anyhow::Result<Value> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BuiltinFunc` is never constructed
[INFO] [stdout]   --> src/ast/function.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct BuiltinFunc {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `eval` are never used
[INFO] [stdout]   --> src/ast/function.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | impl BuiltinFunc {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 88 |     pub fn new(arity: usize, body: fn(&mut VM, &[Value]) -> anyhow::Result<Value>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn eval(&self, vm: &mut VM, args: &[Value]) -> anyhow::Result<Value> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IfStmt` is never constructed
[INFO] [stdout]   --> src/ast/if_stmt.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct IfStmt {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FalseCase` is never used
[INFO] [stdout]   --> src/ast/if_stmt.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum FalseCase {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]   --> src/ast/if_stmt.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl IfStmt {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 25 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Program` is never constructed
[INFO] [stdout]   --> src/ast/program.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Program {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `parse`, `function`, and `eval` are never used
[INFO] [stdout]   --> src/ast/program.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Program {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 15 |     pub fn parse(
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn function(&self, name: &str) -> Option<&Function> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn eval(&self, vm: &mut VM) -> anyhow::Result<Value> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RetStmt` is never constructed
[INFO] [stdout]   --> src/ast/ret_stmt.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct RetStmt {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]   --> src/ast/ret_stmt.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl RetStmt {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 16 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Statement` is never used
[INFO] [stdout]   --> src/ast/statement.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum Statement {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]   --> src/ast/statement.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Statement {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 25 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VarStmt` is never constructed
[INFO] [stdout]   --> src/ast/var_stmt.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct VarStmt {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]   --> src/ast/var_stmt.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl VarStmt {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 17 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WhileStmt` is never constructed
[INFO] [stdout]  --> src/ast/while_stmt.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct WhileStmt {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]   --> src/ast/while_stmt.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl WhileStmt {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 14 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `row` and `col` are never read
[INFO] [stdout]  --> src/position.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Position {
[INFO] [stdout]   |            -------- fields in this struct
[INFO] [stdout] 3 |     row: usize,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 4 |     col: usize,
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Position` 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: methods `row` and `col` are never used
[INFO] [stdout]   --> src/position.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 7  | impl Position {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub fn row(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn col(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `str` and `pos` are never read
[INFO] [stdout]  --> src/token.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Token {
[INFO] [stdout]   |            ----- fields in this struct
[INFO] [stdout] 5 |     kind: TokenKind,
[INFO] [stdout] 6 |     str: String,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 7 |     pos: Position,
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Token` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `str` and `pos` are never used
[INFO] [stdout]   --> src/token.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Token {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn str(&self) -> &str {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn pos(&self) -> Position {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Value` is never used
[INFO] [stdout]  --> src/value.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum Value {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VM` is never constructed
[INFO] [stdout]  --> src/vm.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct VM {
[INFO] [stdout]   |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `enter_func`, `exit_func`, `innermost`, and `run` are never used
[INFO] [stdout]   --> src/vm.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl VM {
[INFO] [stdout]    | ------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn enter_func(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn exit_func(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn innermost(&mut self) -> &mut FuncScope {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn run(&mut self, program: &Program) -> anyhow::Result<Value> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FuncScope` is never constructed
[INFO] [stdout]   --> src/vm.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct FuncScope {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `enter_block`, `exit_block`, `innermost`, `get_var`, and `set_var` are never used
[INFO] [stdout]   --> src/vm.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl FuncScope {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 40 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn enter_block(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn exit_block(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn innermost(&mut self) -> &mut Scope {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn get_var(&self, name: &str) -> Option<&Value> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn set_var(&mut self, name: &str, value: Value) -> anyhow::Result<()> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Scope` is never constructed
[INFO] [stdout]   --> src/vm.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct Scope {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `new_var`, `get_var`, and `set_var` are never used
[INFO] [stdout]    --> src/vm.rs:82:12
[INFO] [stdout]     |
[INFO] [stdout] 81  | impl Scope {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 82  |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 88  |     pub fn new_var(&mut self, name: String, value: Value) -> anyhow::Result<()> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96  |     pub fn get_var(&self, name: &str) -> Option<&Value> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn set_var(&mut self, name: &str, value: Value) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.02s
[INFO] running `Command { std: "docker" "inspect" "997cf72cd95a6a4cb56c7c8ecf973994e13b1eb12de2c7ed8d88e5687caa67ce", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "997cf72cd95a6a4cb56c7c8ecf973994e13b1eb12de2c7ed8d88e5687caa67ce", kill_on_drop: false }`
[INFO] [stdout] 997cf72cd95a6a4cb56c7c8ecf973994e13b1eb12de2c7ed8d88e5687caa67ce
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 3f1527be68e150730f26d0370ee1f2982e89608deba1488901a5724ef66bafe0
[INFO] running `Command { std: "docker" "start" "-a" "3f1527be68e150730f26d0370ee1f2982e89608deba1488901a5724ef66bafe0", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `value::Value`
[INFO] [stderr]  --> src/ast/block_stmt.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 |     value::Value,
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `vm`
[INFO] [stderr]   --> src/ast/block_stmt.rs:36:24
[INFO] [stderr]    |
[INFO] [stderr] 36 |     pub fn eval(&self, vm: &mut VM) -> anyhow::Result<()> {
[INFO] [stderr]    |                        ^^ help: if this is intentional, prefix it with an underscore: `_vm`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `vm`
[INFO] [stderr]   --> src/ast/function.rs:92:24
[INFO] [stderr]    |
[INFO] [stderr] 92 |     pub fn eval(&self, vm: &mut VM, args: &[Value]) -> anyhow::Result<Value> {
[INFO] [stderr]    |                        ^^ help: if this is intentional, prefix it with an underscore: `_vm`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `lexer`
[INFO] [stderr]  --> src/two.rs:4:9
[INFO] [stderr]   |
[INFO] [stderr] 4 |     let lexer = TwoLexer::new(src);
[INFO] [stderr]   |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_lexer`
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse` is never used
[INFO] [stderr]   --> src/ast.rs:23:8
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub fn parse(
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `consume_rsved` is never used
[INFO] [stderr]  --> src/ast/basic.rs:7:8
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub fn consume_rsved(src: &mut Peekable<impl Iterator<Item = Token>>, expected: Reserved) -> bool {
[INFO] [stderr]   |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `consume_num` is never used
[INFO] [stderr]   --> src/ast/basic.rs:17:8
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub fn consume_num(src: &mut Peekable<impl Iterator<Item = Token>>) -> Option<f64> {
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `consume_str` is never used
[INFO] [stderr]   --> src/ast/basic.rs:28:8
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub fn consume_str(src: &mut Peekable<impl Iterator<Item = Token>>) -> Option<String> {
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `consume_ident` is never used
[INFO] [stderr]   --> src/ast/basic.rs:40:8
[INFO] [stderr]    |
[INFO] [stderr] 40 | pub fn consume_ident(src: &mut Peekable<impl Iterator<Item = Token>>) -> Option<String> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `expect_rsved` is never used
[INFO] [stderr]   --> src/ast/basic.rs:52:8
[INFO] [stderr]    |
[INFO] [stderr] 52 | pub fn expect_rsved(
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `expect_num` is never used
[INFO] [stderr]   --> src/ast/basic.rs:64:8
[INFO] [stderr]    |
[INFO] [stderr] 64 | pub fn expect_num(
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `expect_str` is never used
[INFO] [stderr]   --> src/ast/basic.rs:75:8
[INFO] [stderr]    |
[INFO] [stderr] 75 | pub fn expect_str(
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `expect_ident` is never used
[INFO] [stderr]   --> src/ast/basic.rs:86:8
[INFO] [stderr]    |
[INFO] [stderr] 86 | pub fn expect_ident(
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parser_err` is never used
[INFO] [stderr]   --> src/ast/basic.rs:97:4
[INFO] [stderr]    |
[INFO] [stderr] 97 | fn parser_err(src: &mut Peekable<impl Iterator<Item = Token>>, expected: &str) -> anyhow::Error {
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `BlockStmt` is never constructed
[INFO] [stderr]   --> src/ast/block_stmt.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub struct BlockStmt {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `parse`, `statements`, and `eval` are never used
[INFO] [stderr]   --> src/ast/block_stmt.rs:20:12
[INFO] [stderr]    |
[INFO] [stderr] 19 | impl BlockStmt {
[INFO] [stderr]    | -------------- associated items in this implementation
[INFO] [stderr] 20 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 32 |     pub fn statements(&self) -> &[Statement] {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 36 |     pub fn eval(&self, vm: &mut VM) -> anyhow::Result<()> {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `BrStmt` is never constructed
[INFO] [stderr]  --> src/ast/br_stmt.rs:8:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub struct BrStmt;
[INFO] [stderr]   |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `parse` is never used
[INFO] [stderr]   --> src/ast/br_stmt.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | impl BrStmt {
[INFO] [stderr]    | ----------- associated function in this implementation
[INFO] [stderr] 11 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ContStmt` is never constructed
[INFO] [stderr]  --> src/ast/cont_stmt.rs:8:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub struct ContStmt;
[INFO] [stderr]   |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `parse` is never used
[INFO] [stderr]   --> src/ast/cont_stmt.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | impl ContStmt {
[INFO] [stderr]    | ------------- associated function in this implementation
[INFO] [stderr] 11 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ExprStmt` is never constructed
[INFO] [stderr]  --> src/ast/expr_stmt.rs:8:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub struct ExprStmt {
[INFO] [stderr]   |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `parse` and `expression` are never used
[INFO] [stderr]   --> src/ast/expr_stmt.rs:13:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | impl ExprStmt {
[INFO] [stderr]    | ------------- associated items in this implementation
[INFO] [stderr] 13 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 19 |     pub fn expression(&self) -> &Expression {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Expression` is never used
[INFO] [stderr]   --> src/ast/expression.rs:20:10
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub enum Expression {
[INFO] [stderr]    |          ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `parse` is never used
[INFO] [stderr]   --> src/ast/expression.rs:85:12
[INFO] [stderr]    |
[INFO] [stderr] 84 | impl Expression {
[INFO] [stderr]    | --------------- associated function in this implementation
[INFO] [stderr] 85 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `add_expr` is never used
[INFO] [stderr]   --> src/ast/expression/add_expr.rs:11:19
[INFO] [stderr]    |
[INFO] [stderr] 10 | impl Expression {
[INFO] [stderr]    | --------------- associated function in this implementation
[INFO] [stderr] 11 |     pub(super) fn add_expr(
[INFO] [stderr]    |                   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `and_expr` is never used
[INFO] [stderr]   --> src/ast/expression/and_expr.rs:11:19
[INFO] [stderr]    |
[INFO] [stderr] 10 | impl Expression {
[INFO] [stderr]    | --------------- associated function in this implementation
[INFO] [stderr] 11 |     pub(super) fn and_expr(
[INFO] [stderr]    |                   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `asg_expr` is never used
[INFO] [stderr]  --> src/ast/expression/asg_expr.rs:8:19
[INFO] [stderr]   |
[INFO] [stderr] 7 | impl Expression {
[INFO] [stderr]   | --------------- associated function in this implementation
[INFO] [stderr] 8 |     pub(super) fn asg_expr(
[INFO] [stderr]   |                   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `eq_expr` is never used
[INFO] [stderr]   --> src/ast/expression/eq_expr.rs:11:19
[INFO] [stderr]    |
[INFO] [stderr] 10 | impl Expression {
[INFO] [stderr]    | --------------- associated function in this implementation
[INFO] [stderr] 11 |     pub(super) fn eq_expr(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stderr]    |                   ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `ineq_expr` is never used
[INFO] [stderr]   --> src/ast/expression/ineq_expr.rs:11:19
[INFO] [stderr]    |
[INFO] [stderr] 10 | impl Expression {
[INFO] [stderr]    | --------------- associated function in this implementation
[INFO] [stderr] 11 |     pub(super) fn ineq_expr(
[INFO] [stderr]    |                   ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `mul_expr` is never used
[INFO] [stderr]   --> src/ast/expression/mul_expr.rs:11:19
[INFO] [stderr]    |
[INFO] [stderr] 10 | impl Expression {
[INFO] [stderr]    | --------------- associated function in this implementation
[INFO] [stderr] 11 |     pub(super) fn mul_expr(
[INFO] [stderr]    |                   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `or_expr` is never used
[INFO] [stderr]   --> src/ast/expression/or_expr.rs:11:19
[INFO] [stderr]    |
[INFO] [stderr] 10 | impl Expression {
[INFO] [stderr]    | --------------- associated function in this implementation
[INFO] [stderr] 11 |     pub(super) fn or_expr(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stderr]    |                   ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `prim_expr` is never used
[INFO] [stderr]   --> src/ast/expression/prim_expr.rs:13:19
[INFO] [stderr]    |
[INFO] [stderr] 12 | impl Expression {
[INFO] [stderr]    | --------------- associated function in this implementation
[INFO] [stderr] 13 |     pub(super) fn prim_expr(
[INFO] [stderr]    |                   ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `ref_expr` is never used
[INFO] [stderr]   --> src/ast/expression/ref_expr.rs:11:19
[INFO] [stderr]    |
[INFO] [stderr] 10 | impl Expression {
[INFO] [stderr]    | --------------- associated function in this implementation
[INFO] [stderr] 11 |     pub(super) fn ref_expr(
[INFO] [stderr]    |                   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `unary_expr` is never used
[INFO] [stderr]   --> src/ast/expression/unary_expr.rs:11:19
[INFO] [stderr]    |
[INFO] [stderr] 10 | impl Expression {
[INFO] [stderr]    | --------------- associated function in this implementation
[INFO] [stderr] 11 |     pub(super) fn unary_expr(
[INFO] [stderr]    |                   ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ForStmt` is never constructed
[INFO] [stderr]   --> src/ast/for_stmt.rs:12:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub struct ForStmt {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `parse` is never used
[INFO] [stderr]   --> src/ast/for_stmt.rs:20:12
[INFO] [stderr]    |
[INFO] [stderr] 19 | impl ForStmt {
[INFO] [stderr]    | ------------ associated function in this implementation
[INFO] [stderr] 20 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Function` is never used
[INFO] [stderr]   --> src/ast/function.rs:18:10
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub enum Function {
[INFO] [stderr]    |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `eval` is never used
[INFO] [stderr]   --> src/ast/function.rs:24:12
[INFO] [stderr]    |
[INFO] [stderr] 23 | impl Function {
[INFO] [stderr]    | ------------- method in this implementation
[INFO] [stderr] 24 |     pub fn eval(&self, vm: &mut VM, args: &[Value]) -> anyhow::Result<Value> {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `UserFunc` is never constructed
[INFO] [stderr]   --> src/ast/function.rs:33:12
[INFO] [stderr]    |
[INFO] [stderr] 33 | pub struct UserFunc {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `parse` and `eval` are never used
[INFO] [stderr]   --> src/ast/function.rs:39:12
[INFO] [stderr]    |
[INFO] [stderr] 38 | impl UserFunc {
[INFO] [stderr]    | ------------- associated items in this implementation
[INFO] [stderr] 39 |     pub fn parse(
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 63 |     pub fn eval(&self, vm: &mut VM, args: &[Value]) -> anyhow::Result<Value> {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `BuiltinFunc` is never constructed
[INFO] [stderr]   --> src/ast/function.rs:82:12
[INFO] [stderr]    |
[INFO] [stderr] 82 | pub struct BuiltinFunc {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `eval` are never used
[INFO] [stderr]   --> src/ast/function.rs:88:12
[INFO] [stderr]    |
[INFO] [stderr] 87 | impl BuiltinFunc {
[INFO] [stderr]    | ---------------- associated items in this implementation
[INFO] [stderr] 88 |     pub fn new(arity: usize, body: fn(&mut VM, &[Value]) -> anyhow::Result<Value>) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 92 |     pub fn eval(&self, vm: &mut VM, args: &[Value]) -> anyhow::Result<Value> {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `IfStmt` is never constructed
[INFO] [stderr]   --> src/ast/if_stmt.rs:12:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub struct IfStmt {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `FalseCase` is never used
[INFO] [stderr]   --> src/ast/if_stmt.rs:19:10
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub enum FalseCase {
[INFO] [stderr]    |          ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `parse` is never used
[INFO] [stderr]   --> src/ast/if_stmt.rs:25:12
[INFO] [stderr]    |
[INFO] [stderr] 24 | impl IfStmt {
[INFO] [stderr]    | ----------- associated function in this implementation
[INFO] [stderr] 25 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Program` is never constructed
[INFO] [stderr]   --> src/ast/program.rs:10:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct Program {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `parse`, `function`, and `eval` are never used
[INFO] [stderr]   --> src/ast/program.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | impl Program {
[INFO] [stderr]    | ------------ associated items in this implementation
[INFO] [stderr] 15 |     pub fn parse(
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 33 |     pub fn function(&self, name: &str) -> Option<&Function> {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 37 |     pub fn eval(&self, vm: &mut VM) -> anyhow::Result<Value> {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RetStmt` is never constructed
[INFO] [stderr]   --> src/ast/ret_stmt.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct RetStmt {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `parse` is never used
[INFO] [stderr]   --> src/ast/ret_stmt.rs:16:12
[INFO] [stderr]    |
[INFO] [stderr] 15 | impl RetStmt {
[INFO] [stderr]    | ------------ associated function in this implementation
[INFO] [stderr] 16 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Statement` is never used
[INFO] [stderr]   --> src/ast/statement.rs:12:10
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub enum Statement {
[INFO] [stderr]    |          ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `parse` is never used
[INFO] [stderr]   --> src/ast/statement.rs:25:12
[INFO] [stderr]    |
[INFO] [stderr] 24 | impl Statement {
[INFO] [stderr]    | -------------- associated function in this implementation
[INFO] [stderr] 25 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `VarStmt` is never constructed
[INFO] [stderr]   --> src/ast/var_stmt.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct VarStmt {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `parse` is never used
[INFO] [stderr]   --> src/ast/var_stmt.rs:17:12
[INFO] [stderr]    |
[INFO] [stderr] 16 | impl VarStmt {
[INFO] [stderr]    | ------------ associated function in this implementation
[INFO] [stderr] 17 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `WhileStmt` is never constructed
[INFO] [stderr]  --> src/ast/while_stmt.rs:8:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub struct WhileStmt {
[INFO] [stderr]   |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `parse` is never used
[INFO] [stderr]   --> src/ast/while_stmt.rs:14:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | impl WhileStmt {
[INFO] [stderr]    | -------------- associated function in this implementation
[INFO] [stderr] 14 |     pub fn parse(src: &mut Peekable<impl Iterator<Item = Token>>) -> anyhow::Result<Self> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `row` and `col` are never read
[INFO] [stderr]  --> src/position.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub struct Position {
[INFO] [stderr]   |            -------- fields in this struct
[INFO] [stderr] 3 |     row: usize,
[INFO] [stderr]   |     ^^^
[INFO] [stderr] 4 |     col: usize,
[INFO] [stderr]   |     ^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Position` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `row` and `col` are never used
[INFO] [stderr]   --> src/position.rs:12:12
[INFO] [stderr]    |
[INFO] [stderr] 7  | impl Position {
[INFO] [stderr]    | ------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 12 |     pub fn row(&self) -> usize {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 16 |     pub fn col(&self) -> usize {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `str` and `pos` are never read
[INFO] [stderr]  --> src/token.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct Token {
[INFO] [stderr]   |            ----- fields in this struct
[INFO] [stderr] 5 |     kind: TokenKind,
[INFO] [stderr] 6 |     str: String,
[INFO] [stderr]   |     ^^^
[INFO] [stderr] 7 |     pos: Position,
[INFO] [stderr]   |     ^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Token` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `str` and `pos` are never used
[INFO] [stderr]   --> src/token.rs:23:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | impl Token {
[INFO] [stderr]    | ---------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 23 |     pub fn str(&self) -> &str {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 27 |     pub fn pos(&self) -> Position {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Value` is never used
[INFO] [stderr]  --> src/value.rs:2:10
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub enum Value {
[INFO] [stderr]   |          ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `VM` is never constructed
[INFO] [stderr]  --> src/vm.rs:8:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub struct VM {
[INFO] [stderr]   |            ^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `enter_func`, `exit_func`, `innermost`, and `run` are never used
[INFO] [stderr]   --> src/vm.rs:13:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | impl VM {
[INFO] [stderr]    | ------- associated items in this implementation
[INFO] [stderr] 13 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 17 |     pub fn enter_func(&mut self) {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 21 |     pub fn exit_func(&mut self) {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 25 |     pub fn innermost(&mut self) -> &mut FuncScope {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 29 |     pub fn run(&mut self, program: &Program) -> anyhow::Result<Value> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `FuncScope` is never constructed
[INFO] [stderr]   --> src/vm.rs:35:12
[INFO] [stderr]    |
[INFO] [stderr] 35 | pub struct FuncScope {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `enter_block`, `exit_block`, `innermost`, `get_var`, and `set_var` are never used
[INFO] [stderr]   --> src/vm.rs:40:12
[INFO] [stderr]    |
[INFO] [stderr] 39 | impl FuncScope {
[INFO] [stderr]    | -------------- associated items in this implementation
[INFO] [stderr] 40 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 44 |     pub fn enter_block(&mut self) {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 48 |     pub fn exit_block(&mut self) {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 52 |     pub fn innermost(&mut self) -> &mut Scope {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 56 |     pub fn get_var(&self, name: &str) -> Option<&Value> {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 65 |     pub fn set_var(&mut self, name: &str, value: Value) -> anyhow::Result<()> {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Scope` is never constructed
[INFO] [stderr]   --> src/vm.rs:77:12
[INFO] [stderr]    |
[INFO] [stderr] 77 | pub struct Scope {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `new_var`, `get_var`, and `set_var` are never used
[INFO] [stderr]    --> src/vm.rs:82:12
[INFO] [stderr]     |
[INFO] [stderr] 81  | impl Scope {
[INFO] [stderr]     | ---------- associated items in this implementation
[INFO] [stderr] 82  |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 88  |     pub fn new_var(&mut self, name: String, value: Value) -> anyhow::Result<()> {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 96  |     pub fn get_var(&self, name: &str) -> Option<&Value> {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 100 |     pub fn set_var(&mut self, name: &str, value: Value) {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `two` (bin "two" test) generated 66 warnings (run `cargo fix --bin "two" --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/two-403834d76f6013b0)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test lexer::number::tests::int ... ok
[INFO] [stdout] test lexer::string::tests::lex ... ok
[INFO] [stdout] test lexer::number::tests::zero ... ok
[INFO] [stdout] test lexer::symbol::tests::lex ... ok
[INFO] [stdout] test lexer::whitespace_and_comment::tests::comment ... ok
[INFO] [stdout] test lexer::whitespace_and_comment::tests::whitespace ... ok
[INFO] [stdout] test lexer::word_and_ident::tests::keyword ... ok
[INFO] [stdout] test source::tests::next ... ok
[INFO] [stdout] test source::tests::peek ... ok
[INFO] [stdout] test lexer::unknown::tests::lex ... ok
[INFO] [stdout] test lexer::word_and_ident::tests::ident ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "3f1527be68e150730f26d0370ee1f2982e89608deba1488901a5724ef66bafe0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3f1527be68e150730f26d0370ee1f2982e89608deba1488901a5724ef66bafe0", kill_on_drop: false }`
[INFO] [stdout] 3f1527be68e150730f26d0370ee1f2982e89608deba1488901a5724ef66bafe0
