[INFO] cloning repository https://github.com/JoshuaK-PoI/lithanium
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/JoshuaK-PoI/lithanium" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJoshuaK-PoI%2Flithanium", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJoshuaK-PoI%2Flithanium'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2b96364a671d0f4707d26df05de4f796cc58b2ba
[INFO] checking JoshuaK-PoI/lithanium against f4dd856795debe636f2ba39a900f162f5abeb7e8 for pr-160904
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJoshuaK-PoI%2Flithanium" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/JoshuaK-PoI/lithanium
[INFO] finished tweaking git repo https://github.com/JoshuaK-PoI/lithanium
[INFO] tweaked toml for git repo https://github.com/JoshuaK-PoI/lithanium written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/JoshuaK-PoI/lithanium on toolchain f4dd856795debe636f2ba39a900f162f5abeb7e8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f4dd856795debe636f2ba39a900f162f5abeb7e8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/JoshuaK-PoI/lithanium 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" "+f4dd856795debe636f2ba39a900f162f5abeb7e8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking JoshuaK-PoI/lithanium against f4dd856795debe636f2ba39a900f162f5abeb7e8 for pr-160904
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJoshuaK-PoI%2Flithanium" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/JoshuaK-PoI/lithanium
[INFO] finished tweaking git repo https://github.com/JoshuaK-PoI/lithanium
[INFO] tweaked toml for git repo https://github.com/JoshuaK-PoI/lithanium written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/JoshuaK-PoI/lithanium on toolchain f4dd856795debe636f2ba39a900f162f5abeb7e8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f4dd856795debe636f2ba39a900f162f5abeb7e8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/JoshuaK-PoI/lithanium 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" "+f4dd856795debe636f2ba39a900f162f5abeb7e8" "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] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ariadne v0.4.0
[INFO] [stderr]   Downloaded serde_json v1.0.111
[INFO] [stderr]   Downloaded libc v0.2.152
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 3fd763c271afd2cebb73b8ef49404e215d3c6a57106aef1251ca6e7199fa0582
[INFO] running `Command { std: "docker" "start" "3fd763c271afd2cebb73b8ef49404e215d3c6a57106aef1251ca6e7199fa0582", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3fd763c271afd2cebb73b8ef49404e215d3c6a57106aef1251ca6e7199fa0582", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3fd763c271afd2cebb73b8ef49404e215d3c6a57106aef1251ca6e7199fa0582" "/opt/rustwide/cargo-home/bin/cargo" "+f4dd856795debe636f2ba39a900f162f5abeb7e8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3fd763c271afd2cebb73b8ef49404e215d3c6a57106aef1251ca6e7199fa0582", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3fd763c271afd2cebb73b8ef49404e215d3c6a57106aef1251ca6e7199fa0582" "/opt/rustwide/cargo-home/bin/cargo" "+f4dd856795debe636f2ba39a900f162f5abeb7e8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.76
[INFO] [stderr]     Checking memchr v2.7.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rustix v0.38.28
[INFO] [stderr]    Compiling siphasher v0.3.11
[INFO] [stderr]     Checking utf8parse v0.2.1
[INFO] [stderr]     Checking bitflags v2.4.1
[INFO] [stderr]     Checking linux-raw-sys v0.4.12
[INFO] [stderr]     Checking anstyle-parse v0.2.3
[INFO] [stderr]    Compiling phf_shared v0.11.2
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling serde v1.0.195
[INFO] [stderr]     Checking regex-syntax v0.8.2
[INFO] [stderr]     Checking anstyle v1.0.4
[INFO] [stderr]     Checking anstyle-query v1.0.2
[INFO] [stderr]     Checking colorchoice v1.0.0
[INFO] [stderr]     Checking clap_lex v0.6.0
[INFO] [stderr]    Compiling serde_json v1.0.111
[INFO] [stderr]     Checking anstream v0.6.5
[INFO] [stderr]     Checking aho-corasick v1.1.2
[INFO] [stderr]     Checking clap_builder v4.4.14
[INFO] [stderr]     Checking unicode-width v0.1.11
[INFO] [stderr]     Checking yansi v0.5.1
[INFO] [stderr]     Checking ryu v1.0.16
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling phf_generator v0.11.2
[INFO] [stderr]    Compiling syn v2.0.48
[INFO] [stderr]     Checking is-terminal v0.4.10
[INFO] [stderr]     Checking log v0.4.20
[INFO] [stderr]     Checking itoa v1.0.10
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking ariadne v0.4.0
[INFO] [stderr]     Checking regex-automata v0.4.3
[INFO] [stderr]     Checking regex v1.10.2
[INFO] [stderr]     Checking env_logger v0.10.1
[INFO] [stderr]    Compiling serde_derive v1.0.195
[INFO] [stderr]    Compiling phf_macros v0.11.2
[INFO] [stderr]    Compiling clap_derive v4.4.7
[INFO] [stderr]     Checking phf v0.11.2
[INFO] [stderr]     Checking clap v4.4.14
[INFO] [stderr]     Checking lithanium v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/lang/compiler/expression.rs:152:37
[INFO] [stdout]     |
[INFO] [stdout] 152 |         if tokens.next_matches_any(&[todo!()]) {
[INFO] [stdout]     |                                     ^-------^
[INFO] [stdout]     |                                     ||
[INFO] [stdout]     |                                     |any code following this expression is unreachable
[INFO] [stdout]     |                                     unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/lang/compiler/expression.rs:196:37
[INFO] [stdout]     |
[INFO] [stdout] 196 |         if tokens.next_matches_any(&[todo!()]) {
[INFO] [stdout]     |                                     ^-------^
[INFO] [stdout]     |                                     ||
[INFO] [stdout]     |                                     |any code following this expression is unreachable
[INFO] [stdout]     |                                     unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/lang/compiler/expression.rs:152:37
[INFO] [stdout]     |
[INFO] [stdout] 152 |         if tokens.next_matches_any(&[todo!()]) {
[INFO] [stdout]     |                                     ^-------^
[INFO] [stdout]     |                                     ||
[INFO] [stdout]     |                                     |any code following this expression is unreachable
[INFO] [stdout]     |                                     unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/lang/compiler/expression.rs:196:37
[INFO] [stdout]     |
[INFO] [stdout] 196 |         if tokens.next_matches_any(&[todo!()]) {
[INFO] [stdout]     |                                     ^-------^
[INFO] [stdout]     |                                     ||
[INFO] [stdout]     |                                     |any code following this expression is unreachable
[INFO] [stdout]     |                                     unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lang/compiler/expression.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut expr = Expression::or(tokens)?;
[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: variable does not need to be mutable
[INFO] [stdout]   --> src/lang/compiler/expression.rs:73:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let mut expr = Expression::and(tokens)?;
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lang/compiler/expression.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let mut expr = Expression::equality(tokens)?;
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lang/compiler/expression.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let mut expr = Expression::comparison(tokens)?;
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lang/compiler/expression.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let mut expr = Expression::term(tokens)?;
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lang/compiler/expression.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let mut expr = Expression::factor(tokens)?;
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lang/compiler/expression.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut expr = Expression::or(tokens)?;
[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: variable does not need to be mutable
[INFO] [stdout]   --> src/lang/compiler/expression.rs:73:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let mut expr = Expression::and(tokens)?;
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lang/compiler/expression.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let mut expr = Expression::equality(tokens)?;
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lang/compiler/expression.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let mut expr = Expression::comparison(tokens)?;
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lang/compiler/expression.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let mut expr = Expression::term(tokens)?;
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lang/compiler/expression.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let mut expr = Expression::factor(tokens)?;
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `initializer` is assigned to, but never used
[INFO] [stdout]    --> src/lang/compiler/statement.rs:246:13
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let mut initializer = None;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_initializer` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `condition` is assigned to, but never used
[INFO] [stdout]    --> src/lang/compiler/statement.rs:247:13
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let mut condition = None;
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_condition` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `increment` is assigned to, but never used
[INFO] [stdout]    --> src/lang/compiler/statement.rs:248:13
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let mut increment = None;
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_increment` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `initializer` is never read
[INFO] [stdout]    --> src/lang/compiler/statement.rs:256:13
[INFO] [stdout]     |
[INFO] [stdout] 256 |             initializer = Some(Expression::parse(tokens)?);
[INFO] [stdout]     |             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `condition` is never read
[INFO] [stdout]    --> src/lang/compiler/statement.rs:262:13
[INFO] [stdout]     |
[INFO] [stdout] 262 |             condition = Some(Expression::parse(tokens)?);
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `increment` is never read
[INFO] [stdout]    --> src/lang/compiler/statement.rs:268:13
[INFO] [stdout]     |
[INFO] [stdout] 268 |             increment = Some(Expression::parse(tokens)?);
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `condition`
[INFO] [stdout]    --> src/lang/compiler/statement.rs:322:13
[INFO] [stdout]     |
[INFO] [stdout] 322 |         let condition = Expression::parse(tokens)?;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_condition`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `initializer` is assigned to, but never used
[INFO] [stdout]    --> src/lang/compiler/statement.rs:246:13
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let mut initializer = None;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_initializer` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `condition` is assigned to, but never used
[INFO] [stdout]    --> src/lang/compiler/statement.rs:247:13
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let mut condition = None;
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_condition` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `increment` is assigned to, but never used
[INFO] [stdout]    --> src/lang/compiler/statement.rs:248:13
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let mut increment = None;
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_increment` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `initializer` is never read
[INFO] [stdout]    --> src/lang/compiler/statement.rs:256:13
[INFO] [stdout]     |
[INFO] [stdout] 256 |             initializer = Some(Expression::parse(tokens)?);
[INFO] [stdout]     |             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `condition` is never read
[INFO] [stdout]    --> src/lang/compiler/statement.rs:262:13
[INFO] [stdout]     |
[INFO] [stdout] 262 |             condition = Some(Expression::parse(tokens)?);
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `increment` is never read
[INFO] [stdout]    --> src/lang/compiler/statement.rs:268:13
[INFO] [stdout]     |
[INFO] [stdout] 268 |             increment = Some(Expression::parse(tokens)?);
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `condition`
[INFO] [stdout]    --> src/lang/compiler/statement.rs:322:13
[INFO] [stdout]     |
[INFO] [stdout] 322 |         let condition = Expression::parse(tokens)?;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_condition`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `filename` is never read
[INFO] [stdout]   --> src/lang/compiler/mod.rs:52:16
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub(crate) struct Compiler<'a> {
[INFO] [stdout]    |                   -------- field in this struct
[INFO] [stdout] 51 |     pub(crate) input: &'a str,
[INFO] [stdout] 52 |     pub(crate) filename: &'a str,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Compiler` has a derived impl for the trait `Clone`, but this is 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: associated functions `unary` and `primary` are never used
[INFO] [stdout]    --> src/lang/compiler/expression.rs:151:8
[INFO] [stdout]     |
[INFO] [stdout]  57 | impl Expression {
[INFO] [stdout]     | --------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 151 |     fn unary(tokens: &mut TokenStream) -> CompilerResult<Expression> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     fn primary(tokens: &mut TokenStream) -> CompilerResult<Expression> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unshift_if` is never used
[INFO] [stdout]   --> src/lang/util/vec.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub(crate) trait UnshiftExpect<T, K, E> {
[INFO] [stdout]    |                  ------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 38 |     fn unshift_if(&mut self, expected: K) -> Option<&mut T>;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lang/compiler/lexer.rs:164:39
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub(crate) fn get_tokens_peekable(&mut self) -> TokenStream {
[INFO] [stdout]     |                                       ^^^^^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub(crate) fn get_tokens_peekable(&mut self) -> TokenStream<'_> {
[INFO] [stdout]     |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `filename` is never read
[INFO] [stdout]   --> src/lang/compiler/mod.rs:52:16
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub(crate) struct Compiler<'a> {
[INFO] [stdout]    |                   -------- field in this struct
[INFO] [stdout] 51 |     pub(crate) input: &'a str,
[INFO] [stdout] 52 |     pub(crate) filename: &'a str,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Compiler` has a derived impl for the trait `Clone`, but this is 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: associated functions `unary` and `primary` are never used
[INFO] [stdout]    --> src/lang/compiler/expression.rs:151:8
[INFO] [stdout]     |
[INFO] [stdout]  57 | impl Expression {
[INFO] [stdout]     | --------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 151 |     fn unary(tokens: &mut TokenStream) -> CompilerResult<Expression> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     fn primary(tokens: &mut TokenStream) -> CompilerResult<Expression> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unshift_if` is never used
[INFO] [stdout]   --> src/lang/util/vec.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub(crate) trait UnshiftExpect<T, K, E> {
[INFO] [stdout]    |                  ------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 38 |     fn unshift_if(&mut self, expected: K) -> Option<&mut T>;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lang/compiler/lexer.rs:164:39
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub(crate) fn get_tokens_peekable(&mut self) -> TokenStream {
[INFO] [stdout]     |                                       ^^^^^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub(crate) fn get_tokens_peekable(&mut self) -> TokenStream<'_> {
[INFO] [stdout]     |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.71s
[INFO] running `Command { std: "docker" "inspect" "3fd763c271afd2cebb73b8ef49404e215d3c6a57106aef1251ca6e7199fa0582", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3fd763c271afd2cebb73b8ef49404e215d3c6a57106aef1251ca6e7199fa0582", kill_on_drop: false }`
[INFO] [stdout] 3fd763c271afd2cebb73b8ef49404e215d3c6a57106aef1251ca6e7199fa0582
