[INFO] cloning repository https://github.com/harryhanYuhao/crafting_interpreters
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/harryhanYuhao/crafting_interpreters" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FharryhanYuhao%2Fcrafting_interpreters", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FharryhanYuhao%2Fcrafting_interpreters'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 17a173858510edc3578f96d2fda2523b5a09951e
[INFO] checking harryhanYuhao/crafting_interpreters against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FharryhanYuhao%2Fcrafting_interpreters" "/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/harryhanYuhao/crafting_interpreters
[INFO] finished tweaking git repo https://github.com/harryhanYuhao/crafting_interpreters
[INFO] tweaked toml for git repo https://github.com/harryhanYuhao/crafting_interpreters written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/harryhanYuhao/crafting_interpreters on toolchain a5689b034ad287112f709693384a37f1377eb9cc
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/harryhanYuhao/crafting_interpreters 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" "+a5689b034ad287112f709693384a37f1377eb9cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 9112671e4b5f5acbdb1c677545e6e6cc69fb9033431ffaa05e20be26c6225401
[INFO] running `Command { std: "docker" "start" "9112671e4b5f5acbdb1c677545e6e6cc69fb9033431ffaa05e20be26c6225401", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9112671e4b5f5acbdb1c677545e6e6cc69fb9033431ffaa05e20be26c6225401", 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" "9112671e4b5f5acbdb1c677545e6e6cc69fb9033431ffaa05e20be26c6225401" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9112671e4b5f5acbdb1c677545e6e6cc69fb9033431ffaa05e20be26c6225401", 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" "9112671e4b5f5acbdb1c677545e6e6cc69fb9033431ffaa05e20be26c6225401" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling libc v0.2.154
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking anstyle-parse v0.2.4
[INFO] [stderr]     Checking anstyle v1.0.7
[INFO] [stderr]     Checking anstyle-query v1.1.0
[INFO] [stderr]     Checking colorchoice v1.0.1
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.0
[INFO] [stderr]     Checking regex-syntax v0.8.4
[INFO] [stderr]     Checking log v0.4.22
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking clap_lex v0.7.1
[INFO] [stderr]     Checking anstream v0.6.14
[INFO] [stderr]     Checking clap_builder v4.5.9
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]    Compiling syn v2.0.71
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking regex-automata v0.4.7
[INFO] [stderr]     Checking regex v1.10.5
[INFO] [stderr]     Checking env_filter v0.1.2
[INFO] [stderr]     Checking env_logger v0.11.5
[INFO] [stderr]    Compiling clap_derive v4.5.8
[INFO] [stderr]     Checking colog v1.3.0
[INFO] [stderr]     Checking clap v4.5.9
[INFO] [stderr]     Checking lox-rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/runtime.rs:987:9
[INFO] [stdout]     |
[INFO] [stdout] 987 |     let mut tuple: Arc<Mutex<AST_Node>>;
[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/runtime.rs:987:9
[INFO] [stdout]     |
[INFO] [stdout] 987 |     let mut tuple: Arc<Mutex<AST_Node>>;
[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: associated function `get_lexeme_from_arc` is never used
[INFO] [stdout]    --> src/interpreter/token.rs:264:19
[INFO] [stdout]     |
[INFO] [stdout] 219 | impl Token {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 264 |     pub(crate) fn get_lexeme_from_arc(input: Arc<Mutex<Token>>) -> String {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_post_single` is never used
[INFO] [stdout]    --> src/interpreter/parser.rs:625:4
[INFO] [stdout]     |
[INFO] [stdout] 625 | fn parse_post_single(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `error_handle_check_type_vec_arc` and `new_from_arc_token` are never used
[INFO] [stdout]    --> src/interpreter/AST_Node.rs:132:19
[INFO] [stdout]     |
[INFO] [stdout] 112 | impl AST_Node {
[INFO] [stdout]     | ------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub(crate) fn error_handle_check_type_vec_arc(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 393 |     pub(crate) fn new_from_arc_token(AST_Type: AST_Type, token: Arc<Mutex<Token>>) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_function_input` is never used
[INFO] [stdout]  --> src/runtime/lox_std/io.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) fn check_function_input(input: &LoxVariable, length: usize) -> Result<(), ErrorLox> {
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_content`, `is_function`, `get_function`, and `is_none` are never used
[INFO] [stdout]    --> src/runtime/lox_variable.rs:149:19
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl LoxVariable {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub(crate) fn get_content(&self) -> Option<Arc<Mutex<AST_Node>>> {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub(crate) fn is_function(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub(crate) fn get_function(&self) -> fn(&LoxVariable) -> LoxVariable {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 311 |     pub(crate) fn is_none(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `char`
[INFO] [stdout]    --> src/interpreter/scanner.rs:197:17
[INFO] [stdout]     |
[INFO] [stdout] 197 |                 '='.into(),
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 197 -                 '='.into(),
[INFO] [stdout] 197 +                 '=',
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 197 -                 '='.into(),
[INFO] [stdout] 197 +                 <char as Into<_>>::into('='),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `char`
[INFO] [stdout]    --> src/interpreter/scanner.rs:209:17
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 '='.into(),
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 209 -                 '='.into(),
[INFO] [stdout] 209 +                 '=',
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 209 -                 '='.into(),
[INFO] [stdout] 209 +                 <char as Into<_>>::into('='),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `char`
[INFO] [stdout]    --> src/interpreter/scanner.rs:221:17
[INFO] [stdout]     |
[INFO] [stdout] 221 |                 '='.into(),
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 221 -                 '='.into(),
[INFO] [stdout] 221 +                 '=',
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 221 -                 '='.into(),
[INFO] [stdout] 221 +                 <char as Into<_>>::into('='),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `char`
[INFO] [stdout]    --> src/interpreter/scanner.rs:233:17
[INFO] [stdout]     |
[INFO] [stdout] 233 |                 '='.into(),
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 233 -                 '='.into(),
[INFO] [stdout] 233 +                 '=',
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 233 -                 '='.into(),
[INFO] [stdout] 233 +                 <char as Into<_>>::into('='),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `char`
[INFO] [stdout]    --> src/interpreter/scanner.rs:245:17
[INFO] [stdout]     |
[INFO] [stdout] 245 |                 '='.into(),
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 245 -                 '='.into(),
[INFO] [stdout] 245 +                 '=',
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 245 -                 '='.into(),
[INFO] [stdout] 245 +                 <char as Into<_>>::into('='),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `char`
[INFO] [stdout]    --> src/interpreter/scanner.rs:257:17
[INFO] [stdout]     |
[INFO] [stdout] 257 |                 '='.into(),
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 257 -                 '='.into(),
[INFO] [stdout] 257 +                 '=',
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 257 -                 '='.into(),
[INFO] [stdout] 257 +                 <char as Into<_>>::into('='),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `char`
[INFO] [stdout]    --> src/interpreter/scanner.rs:269:17
[INFO] [stdout]     |
[INFO] [stdout] 269 |                 '='.into(),
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 269 -                 '='.into(),
[INFO] [stdout] 269 +                 '=',
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 269 -                 '='.into(),
[INFO] [stdout] 269 +                 <char as Into<_>>::into('='),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `char`
[INFO] [stdout]    --> src/interpreter/scanner.rs:281:17
[INFO] [stdout]     |
[INFO] [stdout] 281 |                 '='.into(),
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 281 -                 '='.into(),
[INFO] [stdout] 281 +                 '=',
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 281 -                 '='.into(),
[INFO] [stdout] 281 +                 <char as Into<_>>::into('='),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `char`
[INFO] [stdout]    --> src/interpreter/scanner.rs:391:21
[INFO] [stdout]     |
[INFO] [stdout] 391 |                     '='.into(),
[INFO] [stdout]     |                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 391 -                     '='.into(),
[INFO] [stdout] 391 +                     '=',
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 391 -                     '='.into(),
[INFO] [stdout] 391 +                     <char as Into<_>>::into('='),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `get_lexeme_from_arc` is never used
[INFO] [stdout]    --> src/interpreter/token.rs:264:19
[INFO] [stdout]     |
[INFO] [stdout] 219 | impl Token {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 264 |     pub(crate) fn get_lexeme_from_arc(input: Arc<Mutex<Token>>) -> String {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_post_single` is never used
[INFO] [stdout]    --> src/interpreter/parser.rs:625:4
[INFO] [stdout]     |
[INFO] [stdout] 625 | fn parse_post_single(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `error_handle_check_type_vec_arc` and `new_from_arc_token` are never used
[INFO] [stdout]    --> src/interpreter/AST_Node.rs:132:19
[INFO] [stdout]     |
[INFO] [stdout] 112 | impl AST_Node {
[INFO] [stdout]     | ------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub(crate) fn error_handle_check_type_vec_arc(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 393 |     pub(crate) fn new_from_arc_token(AST_Type: AST_Type, token: Arc<Mutex<Token>>) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_function_input` is never used
[INFO] [stdout]  --> src/runtime/lox_std/io.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) fn check_function_input(input: &LoxVariable, length: usize) -> Result<(), ErrorLox> {
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_content`, `is_function`, `get_function`, and `is_none` are never used
[INFO] [stdout]    --> src/runtime/lox_variable.rs:149:19
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl LoxVariable {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub(crate) fn get_content(&self) -> Option<Arc<Mutex<AST_Node>>> {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub(crate) fn is_function(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub(crate) fn get_function(&self) -> fn(&LoxVariable) -> LoxVariable {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 311 |     pub(crate) fn is_none(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `char`
[INFO] [stdout]    --> src/interpreter/scanner.rs:197:17
[INFO] [stdout]     |
[INFO] [stdout] 197 |                 '='.into(),
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 197 -                 '='.into(),
[INFO] [stdout] 197 +                 '=',
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 197 -                 '='.into(),
[INFO] [stdout] 197 +                 <char as Into<_>>::into('='),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `char`
[INFO] [stdout]    --> src/interpreter/scanner.rs:209:17
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 '='.into(),
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 209 -                 '='.into(),
[INFO] [stdout] 209 +                 '=',
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 209 -                 '='.into(),
[INFO] [stdout] 209 +                 <char as Into<_>>::into('='),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `char`
[INFO] [stdout]    --> src/interpreter/scanner.rs:221:17
[INFO] [stdout]     |
[INFO] [stdout] 221 |                 '='.into(),
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 221 -                 '='.into(),
[INFO] [stdout] 221 +                 '=',
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 221 -                 '='.into(),
[INFO] [stdout] 221 +                 <char as Into<_>>::into('='),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `char`
[INFO] [stdout]    --> src/interpreter/scanner.rs:233:17
[INFO] [stdout]     |
[INFO] [stdout] 233 |                 '='.into(),
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 233 -                 '='.into(),
[INFO] [stdout] 233 +                 '=',
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 233 -                 '='.into(),
[INFO] [stdout] 233 +                 <char as Into<_>>::into('='),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `char`
[INFO] [stdout]    --> src/interpreter/scanner.rs:245:17
[INFO] [stdout]     |
[INFO] [stdout] 245 |                 '='.into(),
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 245 -                 '='.into(),
[INFO] [stdout] 245 +                 '=',
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 245 -                 '='.into(),
[INFO] [stdout] 245 +                 <char as Into<_>>::into('='),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `char`
[INFO] [stdout]    --> src/interpreter/scanner.rs:257:17
[INFO] [stdout]     |
[INFO] [stdout] 257 |                 '='.into(),
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 257 -                 '='.into(),
[INFO] [stdout] 257 +                 '=',
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 257 -                 '='.into(),
[INFO] [stdout] 257 +                 <char as Into<_>>::into('='),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `char`
[INFO] [stdout]    --> src/interpreter/scanner.rs:269:17
[INFO] [stdout]     |
[INFO] [stdout] 269 |                 '='.into(),
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 269 -                 '='.into(),
[INFO] [stdout] 269 +                 '=',
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 269 -                 '='.into(),
[INFO] [stdout] 269 +                 <char as Into<_>>::into('='),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `char`
[INFO] [stdout]    --> src/interpreter/scanner.rs:281:17
[INFO] [stdout]     |
[INFO] [stdout] 281 |                 '='.into(),
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 281 -                 '='.into(),
[INFO] [stdout] 281 +                 '=',
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 281 -                 '='.into(),
[INFO] [stdout] 281 +                 <char as Into<_>>::into('='),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `char`
[INFO] [stdout]    --> src/interpreter/scanner.rs:391:21
[INFO] [stdout]     |
[INFO] [stdout] 391 |                     '='.into(),
[INFO] [stdout]     |                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 391 -                     '='.into(),
[INFO] [stdout] 391 +                     '=',
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 391 -                     '='.into(),
[INFO] [stdout] 391 +                     <char as Into<_>>::into('='),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Arc<std::sync::Mutex<Token>>`
[INFO] [stdout]    --> src/interpreter/AST_Node.rs:396:20
[INFO] [stdout]     |
[INFO] [stdout] 396 |             token: token.into(),
[INFO] [stdout]     |                    ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 396 -             token: token.into(),
[INFO] [stdout] 396 +             token: token,
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 396 -             token: token.into(),
[INFO] [stdout] 396 +             token: <Arc<std::sync::Mutex<Token>> as Into<_>>::into(token),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Arc<std::sync::Mutex<Token>>`
[INFO] [stdout]    --> src/interpreter/AST_Node.rs:396:20
[INFO] [stdout]     |
[INFO] [stdout] 396 |             token: token.into(),
[INFO] [stdout]     |                    ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 396 -             token: token.into(),
[INFO] [stdout] 396 +             token: token,
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 396 -             token: token.into(),
[INFO] [stdout] 396 +             token: <Arc<std::sync::Mutex<Token>> as Into<_>>::into(token),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lox-rust` (lib) due to 10 previous errors; 6 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `lox-rust` (lib test) due to 10 previous errors; 6 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "9112671e4b5f5acbdb1c677545e6e6cc69fb9033431ffaa05e20be26c6225401", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9112671e4b5f5acbdb1c677545e6e6cc69fb9033431ffaa05e20be26c6225401", kill_on_drop: false }`
[INFO] [stdout] 9112671e4b5f5acbdb1c677545e6e6cc69fb9033431ffaa05e20be26c6225401
