[INFO] cloning repository https://github.com/cibowang/lox-interpreter
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cibowang/lox-interpreter" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcibowang%2Flox-interpreter", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcibowang%2Flox-interpreter'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 61a9a2929450b4c7fe1df56ee8d6b50afb3edd40
[INFO] checking cibowang/lox-interpreter against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcibowang%2Flox-interpreter" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/cibowang/lox-interpreter
[INFO] finished tweaking git repo https://github.com/cibowang/lox-interpreter
[INFO] tweaked toml for git repo https://github.com/cibowang/lox-interpreter written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/cibowang/lox-interpreter on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/cibowang/lox-interpreter already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "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 supports-unicode v3.0.0
[INFO] [stderr]   Downloaded miette-derive v7.6.0
[INFO] [stderr]   Downloaded supports-color v3.0.2
[INFO] [stderr]   Downloaded supports-hyperlinks v3.1.0
[INFO] [stderr]   Downloaded miette v7.6.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9b5920eae7bfa7cbc4d405e35d24747f4f8daf2c859f29b89cfe81c627709b0b
[INFO] running `Command { std: "docker" "start" "-a" "9b5920eae7bfa7cbc4d405e35d24747f4f8daf2c859f29b89cfe81c627709b0b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9b5920eae7bfa7cbc4d405e35d24747f4f8daf2c859f29b89cfe81c627709b0b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9b5920eae7bfa7cbc4d405e35d24747f4f8daf2c859f29b89cfe81c627709b0b", kill_on_drop: false }`
[INFO] [stdout] 9b5920eae7bfa7cbc4d405e35d24747f4f8daf2c859f29b89cfe81c627709b0b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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 -Dunmustuse_in_always_ok" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9756d44686ecb88fd73919ed35500260374a7f5efcedc2dc1d912404d6e4adb1
[INFO] running `Command { std: "docker" "start" "-a" "9756d44686ecb88fd73919ed35500260374a7f5efcedc2dc1d912404d6e4adb1", kill_on_drop: false }`
[INFO] [stderr]    Compiling object v0.36.7
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]     Checking memchr v2.7.5
[INFO] [stderr]    Compiling rustix v1.0.8
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]     Checking anstyle v1.0.11
[INFO] [stderr]     Checking cfg-if v1.0.3
[INFO] [stderr]     Checking rustc-demangle v0.1.26
[INFO] [stderr]    Compiling owo-colors v4.2.2
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]     Checking is_ci v1.2.0
[INFO] [stderr]     Checking unicode-width v0.2.1
[INFO] [stderr]    Compiling thiserror v2.0.16
[INFO] [stderr]    Compiling anyhow v1.0.99
[INFO] [stderr]     Checking clap_lex v0.7.5
[INFO] [stderr]     Checking supports-unicode v3.0.0
[INFO] [stderr]     Checking supports-hyperlinks v3.1.0
[INFO] [stderr]     Checking fmt v0.1.0
[INFO] [stderr]     Checking supports-color v3.0.2
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking textwrap v0.16.2
[INFO] [stderr]     Checking anstream v0.6.20
[INFO] [stderr]     Checking clap_builder v4.5.46
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]     Checking terminal_size v0.4.3
[INFO] [stderr]     Checking backtrace v0.3.75
[INFO] [stderr]     Checking backtrace-ext v0.2.1
[INFO] [stderr]    Compiling clap_derive v4.5.45
[INFO] [stderr]    Compiling miette-derive v7.6.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.16
[INFO] [stderr]     Checking miette v7.6.0
[INFO] [stderr]     Checking clap v4.5.46
[INFO] [stderr]     Checking codecrafters-interpreter v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0425]: cannot find value `in_bp` in this scope
[INFO] [stdout]    --> src/parse.rs:381:40
[INFO] [stdout]     |
[INFO] [stdout] 381 |                     .parse_expr_within(in_bp)
[INFO] [stdout]     |                                        ^^^^^ help: a local variable with a similar name exists: `min_bp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `in_bp` in this scope
[INFO] [stdout]    --> src/parse.rs:381:40
[INFO] [stdout]     |
[INFO] [stdout] 381 |                     .parse_expr_within(in_bp)
[INFO] [stdout]     |                                        ^^^^^ help: a local variable with a similar name exists: `min_bp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `in_bp` in this scope
[INFO] [stdout]    --> src/parse.rs:387:40
[INFO] [stdout]     |
[INFO] [stdout] 387 |                     .parse_expr_within(in_bp)
[INFO] [stdout]     |                                        ^^^^^ help: a local variable with a similar name exists: `min_bp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `lexer` in this scope
[INFO] [stdout]    --> src/parse.rs:550:17
[INFO] [stdout]     |
[INFO] [stdout] 550 |                 lexer.next();
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to use the available field
[INFO] [stdout]     |
[INFO] [stdout] 550 |                 self.lexer.next();
[INFO] [stdout]     |                 +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `lexer` in this scope
[INFO] [stdout]    --> src/parse.rs:553:32
[INFO] [stdout]     |
[INFO] [stdout] 553 |                     assert_eq!(lexer.next(), Token::Op(']'));
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to use the available field
[INFO] [stdout]     |
[INFO] [stdout] 553 |                     assert_eq!(self.lexer.next(), Token::Op(']'));
[INFO] [stdout]     |                                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `rhs` in this scope
[INFO] [stdout]    --> src/parse.rs:554:45
[INFO] [stdout]     |
[INFO] [stdout] 554 |                     Ast::Cons(op, vec![lhs, rhs])
[INFO] [stdout]     |                                             ^^^ help: a local variable with a similar name exists: `lhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `lexer` in this scope
[INFO] [stdout]    --> src/parse.rs:565:17
[INFO] [stdout]     |
[INFO] [stdout] 565 |                 lexer.next();
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to use the available field
[INFO] [stdout]     |
[INFO] [stdout] 565 |                 self.lexer.next();
[INFO] [stdout]     |                 +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `lexer` in this scope
[INFO] [stdout]    --> src/parse.rs:568:32
[INFO] [stdout]     |
[INFO] [stdout] 568 |                     assert_eq!(lexer.next(), Token::Op(':'));
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to use the available field
[INFO] [stdout]     |
[INFO] [stdout] 568 |                     assert_eq!(self.lexer.next(), Token::Op(':'));
[INFO] [stdout]     |                                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mhs` in this scope
[INFO] [stdout]    --> src/parse.rs:569:45
[INFO] [stdout]     |
[INFO] [stdout] 569 |                     Ast::Cons(op, vec![lhs, mhs, rhs])
[INFO] [stdout]     |                                             ^^^ help: a local variable with a similar name exists: `lhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `rhs` in this scope
[INFO] [stdout]    --> src/parse.rs:569:50
[INFO] [stdout]     |
[INFO] [stdout] 569 |                     Ast::Cons(op, vec![lhs, mhs, rhs])
[INFO] [stdout]     |                                                  ^^^ help: a local variable with a similar name exists: `lhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `rhs` in this scope
[INFO] [stdout]    --> src/parse.rs:571:45
[INFO] [stdout]     |
[INFO] [stdout] 571 |                     Ast::Cons(op, vec![lhs, rhs])
[INFO] [stdout]     |                                             ^^^ help: a local variable with a similar name exists: `lhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `in_bp` in this scope
[INFO] [stdout]    --> src/parse.rs:387:40
[INFO] [stdout]     |
[INFO] [stdout] 387 |                     .parse_expr_within(in_bp)
[INFO] [stdout]     |                                        ^^^^^ help: a local variable with a similar name exists: `min_bp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `lexer` in this scope
[INFO] [stdout]    --> src/parse.rs:550:17
[INFO] [stdout]     |
[INFO] [stdout] 550 |                 lexer.next();
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to use the available field
[INFO] [stdout]     |
[INFO] [stdout] 550 |                 self.lexer.next();
[INFO] [stdout]     |                 +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `lexer` in this scope
[INFO] [stdout]    --> src/parse.rs:553:32
[INFO] [stdout]     |
[INFO] [stdout] 553 |                     assert_eq!(lexer.next(), Token::Op(']'));
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to use the available field
[INFO] [stdout]     |
[INFO] [stdout] 553 |                     assert_eq!(self.lexer.next(), Token::Op(']'));
[INFO] [stdout]     |                                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `rhs` in this scope
[INFO] [stdout]    --> src/parse.rs:554:45
[INFO] [stdout]     |
[INFO] [stdout] 554 |                     Ast::Cons(op, vec![lhs, rhs])
[INFO] [stdout]     |                                             ^^^ help: a local variable with a similar name exists: `lhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `lexer` in this scope
[INFO] [stdout]    --> src/parse.rs:565:17
[INFO] [stdout]     |
[INFO] [stdout] 565 |                 lexer.next();
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to use the available field
[INFO] [stdout]     |
[INFO] [stdout] 565 |                 self.lexer.next();
[INFO] [stdout]     |                 +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `lexer` in this scope
[INFO] [stdout]    --> src/parse.rs:568:32
[INFO] [stdout]     |
[INFO] [stdout] 568 |                     assert_eq!(lexer.next(), Token::Op(':'));
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to use the available field
[INFO] [stdout]     |
[INFO] [stdout] 568 |                     assert_eq!(self.lexer.next(), Token::Op(':'));
[INFO] [stdout]     |                                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mhs` in this scope
[INFO] [stdout]    --> src/parse.rs:569:45
[INFO] [stdout]     |
[INFO] [stdout] 569 |                     Ast::Cons(op, vec![lhs, mhs, rhs])
[INFO] [stdout]     |                                             ^^^ help: a local variable with a similar name exists: `lhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `rhs` in this scope
[INFO] [stdout]    --> src/parse.rs:569:50
[INFO] [stdout]     |
[INFO] [stdout] 569 |                     Ast::Cons(op, vec![lhs, mhs, rhs])
[INFO] [stdout]     |                                                  ^^^ help: a local variable with a similar name exists: `lhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `rhs` in this scope
[INFO] [stdout]    --> src/parse.rs:571:45
[INFO] [stdout]     |
[INFO] [stdout] 571 |                     Ast::Cons(op, vec![lhs, rhs])
[INFO] [stdout]     |                                             ^^^ help: a local variable with a similar name exists: `lhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parse.rs:202:56
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub fn parse_expr_within(&mut self, min_bp: u8) -> Result<Ast<'de>, Error> {
[INFO] [stdout]     |            -----------------                           ^^^^^^^^^^^^^^^^^^^^^^^ expected `Result<Ast<'_>, Report>`, found `()`
[INFO] [stdout]     |            |
[INFO] [stdout]     |            implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<Ast<'de>, ErrReport>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parse.rs:202:56
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub fn parse_expr_within(&mut self, min_bp: u8) -> Result<Ast<'de>, Error> {
[INFO] [stdout]     |            -----------------                           ^^^^^^^^^^^^^^^^^^^^^^^ expected `Result<Ast<'_>, Report>`, found `()`
[INFO] [stdout]     |            |
[INFO] [stdout]     |            implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<Ast<'de>, ErrReport>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: no implementation for `Op | Op`
[INFO] [stdout]    --> src/parse.rs:325:35
[INFO] [stdout]     |
[INFO] [stdout] 325 |                 Ast::Cons(Op::For | Op::While, vec![cond, block])
[INFO] [stdout]     |                           ------- ^ --------- Op
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           Op
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `BitOr` might be missing for `Op`
[INFO] [stdout]    --> src/parse.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub enum Op {
[INFO] [stdout]     | ^^^^^^^^^^^ must implement `BitOr`
[INFO] [stdout] note: the trait `BitOr` must be implemented
[INFO] [stdout]    --> /rustc/4f260f0f20b3133d20cfb50353c0221943af5796/library/core/src/ops/bit.rs:254:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: no implementation for `Op | Op`
[INFO] [stdout]    --> src/parse.rs:325:35
[INFO] [stdout]     |
[INFO] [stdout] 325 |                 Ast::Cons(Op::For | Op::While, vec![cond, block])
[INFO] [stdout]     |                           ------- ^ --------- Op
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           Op
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `BitOr` might be missing for `Op`
[INFO] [stdout]    --> src/parse.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub enum Op {
[INFO] [stdout]     | ^^^^^^^^^^^ must implement `BitOr`
[INFO] [stdout] note: the trait `BitOr` must be implemented
[INFO] [stdout]    --> /rustc/4f260f0f20b3133d20cfb50353c0221943af5796/library/core/src/ops/bit.rs:254:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_err` found for enum `Option<T>` in the current scope
[INFO] [stdout]    --> src/parse.rs:516:19
[INFO] [stdout]     |
[INFO] [stdout] 516 |             if op.is_err() {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the method `is_err` exists on the type `&Result<Token<'_>, ErrReport>`
[INFO] [stdout]    --> /rustc/4f260f0f20b3133d20cfb50353c0221943af5796/library/core/src/result.rs:646:5
[INFO] [stdout] help: consider using `Option::expect` to unwrap the `&Result<Token<'_>, ErrReport>` value, panicking if the value is an `Option::None`
[INFO] [stdout]     |
[INFO] [stdout] 516 |             if op.expect("REASON").is_err() {
[INFO] [stdout]     |                  +++++++++++++++++
[INFO] [stdout] help: there is a method `iter` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 516 -             if op.is_err() {
[INFO] [stdout] 516 +             if op.iter() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_err` found for enum `Option<T>` in the current scope
[INFO] [stdout]    --> src/parse.rs:516:19
[INFO] [stdout]     |
[INFO] [stdout] 516 |             if op.is_err() {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the method `is_err` exists on the type `&Result<Token<'_>, ErrReport>`
[INFO] [stdout]    --> /rustc/4f260f0f20b3133d20cfb50353c0221943af5796/library/core/src/result.rs:646:5
[INFO] [stdout] help: consider using `Option::expect` to unwrap the `&Result<Token<'_>, ErrReport>` value, panicking if the value is an `Option::None`
[INFO] [stdout]     |
[INFO] [stdout] 516 |             if op.expect("REASON").is_err() {
[INFO] [stdout]     |                  +++++++++++++++++
[INFO] [stdout] help: there is a method `iter` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 516 -             if op.is_err() {
[INFO] [stdout] 516 +             if op.iter() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parse.rs:524:25
[INFO] [stdout]     |
[INFO] [stdout] 524 |                 None => break,
[INFO] [stdout]     |                         ^^^^^ expected `Result<Ast<'_>, Report>`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<Ast<'de>, ErrReport>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] help: give the `break` a value of the expected type
[INFO] [stdout]     |
[INFO] [stdout] 524 |                 None => break Ok(/* value */),
[INFO] [stdout]     |                               +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parse.rs:524:25
[INFO] [stdout]     |
[INFO] [stdout] 524 |                 None => break,
[INFO] [stdout]     |                         ^^^^^ expected `Result<Ast<'_>, Report>`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<Ast<'de>, ErrReport>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] help: give the `break` a value of the expected type
[INFO] [stdout]     |
[INFO] [stdout] 524 |                 None => break Ok(/* value */),
[INFO] [stdout]     |                               +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parse.rs:546:61
[INFO] [stdout]     |
[INFO] [stdout] 546 |             if let Some((l_bp, ())) = postfix_binding_power(op) {
[INFO] [stdout]     |                                       --------------------- ^^ expected `Op`, found `Option<&Result<Token<'_>, Report>>`
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Op`
[INFO] [stdout]                found enum `Option<&Result<Token<'_>, ErrReport>>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/parse.rs:600:4
[INFO] [stdout]     |
[INFO] [stdout] 600 | fn postfix_binding_power(op: Op) -> Option<(u8, ())> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^ ------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parse.rs:546:61
[INFO] [stdout]     |
[INFO] [stdout] 546 |             if let Some((l_bp, ())) = postfix_binding_power(op) {
[INFO] [stdout]     |                                       --------------------- ^^ expected `Op`, found `Option<&Result<Token<'_>, Report>>`
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Op`
[INFO] [stdout]                found enum `Option<&Result<Token<'_>, ErrReport>>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/parse.rs:600:4
[INFO] [stdout]     |
[INFO] [stdout] 600 | fn postfix_binding_power(op: Op) -> Option<(u8, ())> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^ ------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Option<&Result<Token<'_>, ErrReport>>`
[INFO] [stdout]    --> src/parse.rs:552:29
[INFO] [stdout]     |
[INFO] [stdout] 552 |                 lhs = if op == '[' {
[INFO] [stdout]     |                          -- ^^ --- char
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          Option<&Result<Token<'_>, ErrReport>>
[INFO] [stdout]     |
[INFO] [stdout] note: `Option<&Result<Token<'_>, ErrReport>>` does not implement `PartialEq<char>`
[INFO] [stdout]    --> /rustc/4f260f0f20b3133d20cfb50353c0221943af5796/library/core/src/option.rs:599:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Option<&Result<Token<'_>, ErrReport>>` is defined in another crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Option<&Result<Token<'_>, ErrReport>>`
[INFO] [stdout]    --> src/parse.rs:552:29
[INFO] [stdout]     |
[INFO] [stdout] 552 |                 lhs = if op == '[' {
[INFO] [stdout]     |                          -- ^^ --- char
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          Option<&Result<Token<'_>, ErrReport>>
[INFO] [stdout]     |
[INFO] [stdout] note: `Option<&Result<Token<'_>, ErrReport>>` does not implement `PartialEq<char>`
[INFO] [stdout]    --> /rustc/4f260f0f20b3133d20cfb50353c0221943af5796/library/core/src/option.rs:599:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Option<&Result<Token<'_>, ErrReport>>` is defined in another crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Op` found for struct `Token<'de>` in the current scope
[INFO] [stdout]    --> src/parse.rs:553:53
[INFO] [stdout]     |
[INFO] [stdout] 553 |                     assert_eq!(lexer.next(), Token::Op(']'));
[INFO] [stdout]     |                                                     ^^ associated item not found in `Token<'_>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lex.rs:45:1
[INFO] [stdout]     |
[INFO] [stdout]  45 | pub struct Token<'de> {
[INFO] [stdout]     | --------------------- associated item `Op` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Op` found for struct `Token<'de>` in the current scope
[INFO] [stdout]    --> src/parse.rs:553:53
[INFO] [stdout]     |
[INFO] [stdout] 553 |                     assert_eq!(lexer.next(), Token::Op(']'));
[INFO] [stdout]     |                                                     ^^ associated item not found in `Token<'_>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lex.rs:45:1
[INFO] [stdout]     |
[INFO] [stdout]  45 | pub struct Token<'de> {
[INFO] [stdout]     | --------------------- associated item `Op` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parse.rs:554:31
[INFO] [stdout]     |
[INFO] [stdout] 554 |                     Ast::Cons(op, vec![lhs, rhs])
[INFO] [stdout]     |                     --------- ^^ expected `Op`, found `Option<&Result<Token<'_>, Report>>`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Op`
[INFO] [stdout]                found enum `Option<&Result<Token<'_>, ErrReport>>`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> src/parse.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     Cons(Op, Vec<Ast<'de>>),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parse.rs:554:31
[INFO] [stdout]     |
[INFO] [stdout] 554 |                     Ast::Cons(op, vec![lhs, rhs])
[INFO] [stdout]     |                     --------- ^^ expected `Op`, found `Option<&Result<Token<'_>, Report>>`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Op`
[INFO] [stdout]                found enum `Option<&Result<Token<'_>, ErrReport>>`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> src/parse.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     Cons(Op, Vec<Ast<'de>>),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parse.rs:556:31
[INFO] [stdout]     |
[INFO] [stdout] 556 |                     Ast::Cons(op, vec![lhs])
[INFO] [stdout]     |                     --------- ^^ expected `Op`, found `Option<&Result<Token<'_>, Report>>`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Op`
[INFO] [stdout]                found enum `Option<&Result<Token<'_>, ErrReport>>`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> src/parse.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     Cons(Op, Vec<Ast<'de>>),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parse.rs:556:31
[INFO] [stdout]     |
[INFO] [stdout] 556 |                     Ast::Cons(op, vec![lhs])
[INFO] [stdout]     |                     --------- ^^ expected `Op`, found `Option<&Result<Token<'_>, Report>>`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Op`
[INFO] [stdout]                found enum `Option<&Result<Token<'_>, ErrReport>>`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> src/parse.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     Cons(Op, Vec<Ast<'de>>),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parse.rs:561:61
[INFO] [stdout]     |
[INFO] [stdout] 561 |             if let Some((l_bp, r_bp)) = infix_binding_power(op) {
[INFO] [stdout]     |                                         ------------------- ^^ expected `Op`, found `Option<&Result<Token<'_>, Report>>`
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Op`
[INFO] [stdout]                found enum `Option<&Result<Token<'_>, ErrReport>>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/parse.rs:588:4
[INFO] [stdout]     |
[INFO] [stdout] 588 | fn infix_binding_power(op: Op) -> Option<(u8, u8)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^ ------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Option<&Result<Token<'_>, ErrReport>>`
[INFO] [stdout]    --> src/parse.rs:567:29
[INFO] [stdout]     |
[INFO] [stdout] 567 |                 lhs = if op == '?' {
[INFO] [stdout]     |                          -- ^^ --- char
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          Option<&Result<Token<'_>, ErrReport>>
[INFO] [stdout]     |
[INFO] [stdout] note: `Option<&Result<Token<'_>, ErrReport>>` does not implement `PartialEq<char>`
[INFO] [stdout]    --> /rustc/4f260f0f20b3133d20cfb50353c0221943af5796/library/core/src/option.rs:599:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Option<&Result<Token<'_>, ErrReport>>` is defined in another crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parse.rs:561:61
[INFO] [stdout]     |
[INFO] [stdout] 561 |             if let Some((l_bp, r_bp)) = infix_binding_power(op) {
[INFO] [stdout]     |                                         ------------------- ^^ expected `Op`, found `Option<&Result<Token<'_>, Report>>`
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Op`
[INFO] [stdout]                found enum `Option<&Result<Token<'_>, ErrReport>>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/parse.rs:588:4
[INFO] [stdout]     |
[INFO] [stdout] 588 | fn infix_binding_power(op: Op) -> Option<(u8, u8)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^ ------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Option<&Result<Token<'_>, ErrReport>>`
[INFO] [stdout]    --> src/parse.rs:567:29
[INFO] [stdout]     |
[INFO] [stdout] 567 |                 lhs = if op == '?' {
[INFO] [stdout]     |                          -- ^^ --- char
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          Option<&Result<Token<'_>, ErrReport>>
[INFO] [stdout]     |
[INFO] [stdout] note: `Option<&Result<Token<'_>, ErrReport>>` does not implement `PartialEq<char>`
[INFO] [stdout]    --> /rustc/4f260f0f20b3133d20cfb50353c0221943af5796/library/core/src/option.rs:599:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Option<&Result<Token<'_>, ErrReport>>` is defined in another crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Op` found for struct `Token<'de>` in the current scope
[INFO] [stdout]    --> src/parse.rs:568:53
[INFO] [stdout]     |
[INFO] [stdout] 568 |                     assert_eq!(lexer.next(), Token::Op(':'));
[INFO] [stdout]     |                                                     ^^ associated item not found in `Token<'_>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lex.rs:45:1
[INFO] [stdout]     |
[INFO] [stdout]  45 | pub struct Token<'de> {
[INFO] [stdout]     | --------------------- associated item `Op` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Op` found for struct `Token<'de>` in the current scope
[INFO] [stdout]    --> src/parse.rs:568:53
[INFO] [stdout]     |
[INFO] [stdout] 568 |                     assert_eq!(lexer.next(), Token::Op(':'));
[INFO] [stdout]     |                                                     ^^ associated item not found in `Token<'_>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lex.rs:45:1
[INFO] [stdout]     |
[INFO] [stdout]  45 | pub struct Token<'de> {
[INFO] [stdout]     | --------------------- associated item `Op` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parse.rs:569:31
[INFO] [stdout]     |
[INFO] [stdout] 569 |                     Ast::Cons(op, vec![lhs, mhs, rhs])
[INFO] [stdout]     |                     --------- ^^ expected `Op`, found `Option<&Result<Token<'_>, Report>>`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Op`
[INFO] [stdout]                found enum `Option<&Result<Token<'_>, ErrReport>>`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> src/parse.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     Cons(Op, Vec<Ast<'de>>),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parse.rs:571:31
[INFO] [stdout]     |
[INFO] [stdout] 571 |                     Ast::Cons(op, vec![lhs, rhs])
[INFO] [stdout]     |                     --------- ^^ expected `Op`, found `Option<&Result<Token<'_>, Report>>`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Op`
[INFO] [stdout]                found enum `Option<&Result<Token<'_>, ErrReport>>`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> src/parse.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     Cons(Op, Vec<Ast<'de>>),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parse.rs:569:31
[INFO] [stdout]     |
[INFO] [stdout] 569 |                     Ast::Cons(op, vec![lhs, mhs, rhs])
[INFO] [stdout]     |                     --------- ^^ expected `Op`, found `Option<&Result<Token<'_>, Report>>`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Op`
[INFO] [stdout]                found enum `Option<&Result<Token<'_>, ErrReport>>`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> src/parse.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     Cons(Op, Vec<Ast<'de>>),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parse.rs:571:31
[INFO] [stdout]     |
[INFO] [stdout] 571 |                     Ast::Cons(op, vec![lhs, rhs])
[INFO] [stdout]     |                     --------- ^^ expected `Op`, found `Option<&Result<Token<'_>, Report>>`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Op`
[INFO] [stdout]                found enum `Option<&Result<Token<'_>, ErrReport>>`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> src/parse.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     Cons(Op, Vec<Ast<'de>>),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `src` is never read
[INFO] [stdout]   --> src/lex.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     src: String,
[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] [stderr] error: could not compile `codecrafters-interpreter` (lib) due to 24 previous errors; 5 warnings emitted
[INFO] [stdout] warning: value assigned to `token` is never read
[INFO] [stdout]   --> src/lex.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub token: char,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: value assigned to `err_span` is never read
[INFO] [stdout]   --> src/lex.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     err_span: SourceSpan,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `src` is never read
[INFO] [stdout]   --> src/lex.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     src: String,
[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 `token` is never read
[INFO] [stdout]   --> src/lex.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub token: char,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `err_span` is never read
[INFO] [stdout]   --> src/lex.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     err_span: SourceSpan,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `src` is never read
[INFO] [stdout]   --> src/lex.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     src: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `err_span` is never read
[INFO] [stdout]   --> src/lex.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     err_span: SourceSpan,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `src` is never read
[INFO] [stdout]   --> src/lex.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     src: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `err_span` is never read
[INFO] [stdout]   --> src/lex.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     err_span: SourceSpan,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0369, E0425, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0369, E0425, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `codecrafters-interpreter` (lib test) due to 24 previous errors; 5 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "9756d44686ecb88fd73919ed35500260374a7f5efcedc2dc1d912404d6e4adb1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9756d44686ecb88fd73919ed35500260374a7f5efcedc2dc1d912404d6e4adb1", kill_on_drop: false }`
[INFO] [stdout] 9756d44686ecb88fd73919ed35500260374a7f5efcedc2dc1d912404d6e4adb1
