[INFO] cloning repository https://github.com/Thewbi/rust_chumsky_javascript
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Thewbi/rust_chumsky_javascript" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThewbi%2Frust_chumsky_javascript", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThewbi%2Frust_chumsky_javascript'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bce0c6f5ff88e6cb5986b9b36f6098c27fa66862
[INFO] checking Thewbi/rust_chumsky_javascript against master#57f772f25c5ce2bd870d6f8c3ab318eaee5a3326 for pr-133502-22
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThewbi%2Frust_chumsky_javascript" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Thewbi/rust_chumsky_javascript
[INFO] finished tweaking git repo https://github.com/Thewbi/rust_chumsky_javascript
[INFO] tweaked toml for git repo https://github.com/Thewbi/rust_chumsky_javascript written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Thewbi/rust_chumsky_javascript on toolchain 57f772f25c5ce2bd870d6f8c3ab318eaee5a3326
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+57f772f25c5ce2bd870d6f8c3ab318eaee5a3326" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Thewbi/rust_chumsky_javascript 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" "+57f772f25c5ce2bd870d6f8c3ab318eaee5a3326" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded psm v0.1.30
[INFO] [stderr]   Downloaded ar_archive_writer v0.5.1
[INFO] [stderr]   Downloaded stacker v0.1.23
[INFO] [stderr]   Downloaded ariadne v0.6.0
[INFO] [stderr]   Downloaded chumsky v0.12.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+57f772f25c5ce2bd870d6f8c3ab318eaee5a3326" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2374ac37700f31a22756887bdeab36f3fb649f73e27537c7edad0deb03dc6256
[INFO] running `Command { std: "docker" "start" "-a" "2374ac37700f31a22756887bdeab36f3fb649f73e27537c7edad0deb03dc6256", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2374ac37700f31a22756887bdeab36f3fb649f73e27537c7edad0deb03dc6256", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2374ac37700f31a22756887bdeab36f3fb649f73e27537c7edad0deb03dc6256", kill_on_drop: false }`
[INFO] [stdout] 2374ac37700f31a22756887bdeab36f3fb649f73e27537c7edad0deb03dc6256
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+57f772f25c5ce2bd870d6f8c3ab318eaee5a3326" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c4e5530d8c5f00f30600000ed817e9f6364e85570c86aff024815b0dde53a6ab
[INFO] running `Command { std: "docker" "start" "-a" "c4e5530d8c5f00f30600000ed817e9f6364e85570c86aff024815b0dde53a6ab", kill_on_drop: false }`
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking unicode-ident v1.0.24
[INFO] [stderr]     Checking unicode-width v0.2.2
[INFO] [stderr]     Checking yansi v1.0.1
[INFO] [stderr]    Compiling stacker v0.1.23
[INFO] [stderr]     Checking ariadne v0.6.0
[INFO] [stderr]    Compiling ar_archive_writer v0.5.1
[INFO] [stderr]    Compiling psm v0.1.30
[INFO] [stderr]     Checking chumsky v0.12.0
[INFO] [stderr]     Checking chumsky_test v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Color`, `Label`, `ReportKind`, `Report`, and `sources`
[INFO] [stdout]  --> src/main.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ariadne::{sources, Color, Label, Report, ReportKind};
[INFO] [stdout]   |               ^^^^^^^  ^^^^^  ^^^^^  ^^^^^^  ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `env`
[INFO] [stdout]  --> src/main.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{collections::HashMap, env, fmt, fs};
[INFO] [stdout]   |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Label`, `ReportKind`, `Report`, and `sources`
[INFO] [stdout]  --> src/main.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ariadne::{sources, Color, Label, Report, ReportKind};
[INFO] [stdout]   |               ^^^^^^^  ^^^^^  ^^^^^  ^^^^^^  ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `env`
[INFO] [stdout]  --> src/main.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{collections::HashMap, env, fmt, fs};
[INFO] [stdout]   |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `items`
[INFO] [stdout]    --> src/main.rs:217:24
[INFO] [stdout]     |
[INFO] [stdout] 217 |             Expr::List(items) => {
[INFO] [stdout]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_items`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/main.rs:232:25
[INFO] [stdout]     |
[INFO] [stdout] 232 |             Expr::Local(name) => {
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/main.rs:246:24
[INFO] [stdout]     |
[INFO] [stdout] 246 |             Expr::Then(a, b) => {
[INFO] [stdout]     |                        ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/main.rs:246:27
[INFO] [stdout]     |
[INFO] [stdout] 246 |             Expr::Then(a, b) => {
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/main.rs:266:26
[INFO] [stdout]     |
[INFO] [stdout] 266 |             Expr::Binary(a, BinaryOp::Sub, b) => {
[INFO] [stdout]     |                          ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/main.rs:266:44
[INFO] [stdout]     |
[INFO] [stdout] 266 |             Expr::Binary(a, BinaryOp::Sub, b) => {
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/main.rs:284:26
[INFO] [stdout]     |
[INFO] [stdout] 284 |             Expr::Binary(a, BinaryOp::Div, b) => {
[INFO] [stdout]     |                          ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/main.rs:284:44
[INFO] [stdout]     |
[INFO] [stdout] 284 |             Expr::Binary(a, BinaryOp::Div, b) => {
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/main.rs:288:26
[INFO] [stdout]     |
[INFO] [stdout] 288 |             Expr::Binary(a, BinaryOp::Eq, b) => {
[INFO] [stdout]     |                          ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/main.rs:288:43
[INFO] [stdout]     |
[INFO] [stdout] 288 |             Expr::Binary(a, BinaryOp::Eq, b) => {
[INFO] [stdout]     |                                           ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/main.rs:292:26
[INFO] [stdout]     |
[INFO] [stdout] 292 |             Expr::Binary(a, BinaryOp::NotEq, b) => {
[INFO] [stdout]     |                          ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/main.rs:292:46
[INFO] [stdout]     |
[INFO] [stdout] 292 |             Expr::Binary(a, BinaryOp::NotEq, b) => {
[INFO] [stdout]     |                                              ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func`
[INFO] [stdout]    --> src/main.rs:296:24
[INFO] [stdout]     |
[INFO] [stdout] 296 |             Expr::Call(func, args) => {
[INFO] [stdout]     |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_func`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/main.rs:296:30
[INFO] [stdout]     |
[INFO] [stdout] 296 |             Expr::Call(func, args) => {
[INFO] [stdout]     |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cond`
[INFO] [stdout]    --> src/main.rs:324:22
[INFO] [stdout]     |
[INFO] [stdout] 324 |             Expr::If(cond, a, b) => {
[INFO] [stdout]     |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_cond`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/main.rs:324:28
[INFO] [stdout]     |
[INFO] [stdout] 324 |             Expr::If(cond, a, b) => {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/main.rs:324:31
[INFO] [stdout]     |
[INFO] [stdout] 324 |             Expr::If(cond, a, b) => {
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/main.rs:338:25
[INFO] [stdout]     |
[INFO] [stdout] 338 |             Expr::Print(a) => {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `items`
[INFO] [stdout]    --> src/main.rs:845:25
[INFO] [stdout]     |
[INFO] [stdout] 845 |         Expr::IdentList(items) => todo!(),
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:864:18
[INFO] [stdout]     |
[INFO] [stdout] 864 |     let (tokens, mut errs) = lexer().parse(src.as_str()).into_output_errors();
[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: `errs`
[INFO] [stdout]    --> src/main.rs:864:18
[INFO] [stdout]     |
[INFO] [stdout] 864 |     let (tokens, mut errs) = lexer().parse(src.as_str()).into_output_errors();
[INFO] [stdout]     |                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_errs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parse_errs`
[INFO] [stdout]    --> src/main.rs:872:9
[INFO] [stdout]     |
[INFO] [stdout] 872 |     let parse_errs = if let Some(tokens) = &tokens {
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parse_errs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/main.rs:892:21
[INFO] [stdout]     |
[INFO] [stdout] 892 |         let (funcs, span) = ast.unwrap();
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/main.rs:899:24
[INFO] [stdout]     |
[INFO] [stdout] 899 |             let (expr, span) = value.body;
[INFO] [stdout]     |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `List` and `Func` are never constructed
[INFO] [stdout]    --> src/main.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 116 | enum Value<'src> {
[INFO] [stdout]     |      ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 121 |     List(Vec<Self>),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 122 |     Func(&'src str),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Value` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `num` is never used
[INFO] [stdout]    --> src/main.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 125 | impl Value<'_> {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] 126 |     fn num(self, span: Span) -> Result<f64, Error> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `IdentList` is never constructed
[INFO] [stdout]    --> src/main.rs:175:5
[INFO] [stdout]     |
[INFO] [stdout] 171 | enum Expr<'src> {
[INFO] [stdout]     |      ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 175 |     IdentList(Vec<Spanned<Self>>),
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `args` and `span` are never read
[INFO] [stdout]    --> src/main.rs:390:5
[INFO] [stdout]     |
[INFO] [stdout] 389 | struct Func<'src> {
[INFO] [stdout]     |        ---- fields in this struct
[INFO] [stdout] 390 |     args: Vec<&'src str>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 391 |     span: Span,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Func` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Error` is never constructed
[INFO] [stdout]    --> src/main.rs:746:8
[INFO] [stdout]     |
[INFO] [stdout] 746 | struct Error {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_expr` is never used
[INFO] [stdout]    --> src/main.rs:751:4
[INFO] [stdout]     |
[INFO] [stdout] 751 | fn eval_expr<'src>(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `items`
[INFO] [stdout]    --> src/main.rs:217:24
[INFO] [stdout]     |
[INFO] [stdout] 217 |             Expr::List(items) => {
[INFO] [stdout]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_items`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/main.rs:232:25
[INFO] [stdout]     |
[INFO] [stdout] 232 |             Expr::Local(name) => {
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/main.rs:246:24
[INFO] [stdout]     |
[INFO] [stdout] 246 |             Expr::Then(a, b) => {
[INFO] [stdout]     |                        ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/main.rs:246:27
[INFO] [stdout]     |
[INFO] [stdout] 246 |             Expr::Then(a, b) => {
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/main.rs:266:26
[INFO] [stdout]     |
[INFO] [stdout] 266 |             Expr::Binary(a, BinaryOp::Sub, b) => {
[INFO] [stdout]     |                          ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/main.rs:266:44
[INFO] [stdout]     |
[INFO] [stdout] 266 |             Expr::Binary(a, BinaryOp::Sub, b) => {
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/main.rs:284:26
[INFO] [stdout]     |
[INFO] [stdout] 284 |             Expr::Binary(a, BinaryOp::Div, b) => {
[INFO] [stdout]     |                          ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/main.rs:284:44
[INFO] [stdout]     |
[INFO] [stdout] 284 |             Expr::Binary(a, BinaryOp::Div, b) => {
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/main.rs:288:26
[INFO] [stdout]     |
[INFO] [stdout] 288 |             Expr::Binary(a, BinaryOp::Eq, b) => {
[INFO] [stdout]     |                          ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/main.rs:288:43
[INFO] [stdout]     |
[INFO] [stdout] 288 |             Expr::Binary(a, BinaryOp::Eq, b) => {
[INFO] [stdout]     |                                           ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/main.rs:292:26
[INFO] [stdout]     |
[INFO] [stdout] 292 |             Expr::Binary(a, BinaryOp::NotEq, b) => {
[INFO] [stdout]     |                          ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/main.rs:292:46
[INFO] [stdout]     |
[INFO] [stdout] 292 |             Expr::Binary(a, BinaryOp::NotEq, b) => {
[INFO] [stdout]     |                                              ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func`
[INFO] [stdout]    --> src/main.rs:296:24
[INFO] [stdout]     |
[INFO] [stdout] 296 |             Expr::Call(func, args) => {
[INFO] [stdout]     |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_func`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/main.rs:296:30
[INFO] [stdout]     |
[INFO] [stdout] 296 |             Expr::Call(func, args) => {
[INFO] [stdout]     |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cond`
[INFO] [stdout]    --> src/main.rs:324:22
[INFO] [stdout]     |
[INFO] [stdout] 324 |             Expr::If(cond, a, b) => {
[INFO] [stdout]     |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_cond`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/main.rs:324:28
[INFO] [stdout]     |
[INFO] [stdout] 324 |             Expr::If(cond, a, b) => {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/main.rs:324:31
[INFO] [stdout]     |
[INFO] [stdout] 324 |             Expr::If(cond, a, b) => {
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/main.rs:338:25
[INFO] [stdout]     |
[INFO] [stdout] 338 |             Expr::Print(a) => {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `items`
[INFO] [stdout]    --> src/main.rs:845:25
[INFO] [stdout]     |
[INFO] [stdout] 845 |         Expr::IdentList(items) => todo!(),
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:864:18
[INFO] [stdout]     |
[INFO] [stdout] 864 |     let (tokens, mut errs) = lexer().parse(src.as_str()).into_output_errors();
[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: `errs`
[INFO] [stdout]    --> src/main.rs:864:18
[INFO] [stdout]     |
[INFO] [stdout] 864 |     let (tokens, mut errs) = lexer().parse(src.as_str()).into_output_errors();
[INFO] [stdout]     |                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_errs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parse_errs`
[INFO] [stdout]    --> src/main.rs:872:9
[INFO] [stdout]     |
[INFO] [stdout] 872 |     let parse_errs = if let Some(tokens) = &tokens {
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parse_errs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/main.rs:892:21
[INFO] [stdout]     |
[INFO] [stdout] 892 |         let (funcs, span) = ast.unwrap();
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/main.rs:899:24
[INFO] [stdout]     |
[INFO] [stdout] 899 |             let (expr, span) = value.body;
[INFO] [stdout]     |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `List` and `Func` are never constructed
[INFO] [stdout]    --> src/main.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 116 | enum Value<'src> {
[INFO] [stdout]     |      ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 121 |     List(Vec<Self>),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 122 |     Func(&'src str),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Value` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `num` is never used
[INFO] [stdout]    --> src/main.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 125 | impl Value<'_> {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] 126 |     fn num(self, span: Span) -> Result<f64, Error> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `IdentList` is never constructed
[INFO] [stdout]    --> src/main.rs:175:5
[INFO] [stdout]     |
[INFO] [stdout] 171 | enum Expr<'src> {
[INFO] [stdout]     |      ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 175 |     IdentList(Vec<Spanned<Self>>),
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `args` and `span` are never read
[INFO] [stdout]    --> src/main.rs:390:5
[INFO] [stdout]     |
[INFO] [stdout] 389 | struct Func<'src> {
[INFO] [stdout]     |        ---- fields in this struct
[INFO] [stdout] 390 |     args: Vec<&'src str>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 391 |     span: Span,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Func` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Error` is never constructed
[INFO] [stdout]    --> src/main.rs:746:8
[INFO] [stdout]     |
[INFO] [stdout] 746 | struct Error {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_expr` is never used
[INFO] [stdout]    --> src/main.rs:751:4
[INFO] [stdout]     |
[INFO] [stdout] 751 | fn eval_expr<'src>(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.61s
[INFO] running `Command { std: "docker" "inspect" "c4e5530d8c5f00f30600000ed817e9f6364e85570c86aff024815b0dde53a6ab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c4e5530d8c5f00f30600000ed817e9f6364e85570c86aff024815b0dde53a6ab", kill_on_drop: false }`
[INFO] [stdout] c4e5530d8c5f00f30600000ed817e9f6364e85570c86aff024815b0dde53a6ab
