[INFO] cloning repository https://github.com/lisery454/lox-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lisery454/lox-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flisery454%2Flox-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flisery454%2Flox-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7b6e873f612a4c2dd40102ebe9cee1658ce537bf
[INFO] checking lisery454/lox-rs against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flisery454%2Flox-rs" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/lisery454/lox-rs
[INFO] finished tweaking git repo https://github.com/lisery454/lox-rs
[INFO] tweaked toml for git repo https://github.com/lisery454/lox-rs written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/lisery454/lox-rs 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/lisery454/lox-rs 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] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] bb4a7b903ace77ee7db89515071d7739f85dfca65502d4ba6ca75d34d4550e1a
[INFO] running `Command { std: "docker" "start" "bb4a7b903ace77ee7db89515071d7739f85dfca65502d4ba6ca75d34d4550e1a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bb4a7b903ace77ee7db89515071d7739f85dfca65502d4ba6ca75d34d4550e1a", 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" "bb4a7b903ace77ee7db89515071d7739f85dfca65502d4ba6ca75d34d4550e1a" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bb4a7b903ace77ee7db89515071d7739f85dfca65502d4ba6ca75d34d4550e1a", 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" "bb4a7b903ace77ee7db89515071d7739f85dfca65502d4ba6ca75d34d4550e1a" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling winnow v1.0.4
[INFO] [stderr]     Checking colored v3.1.1
[INFO] [stderr]     Checking bytecount v0.6.9
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling indexmap v2.14.2
[INFO] [stderr]     Checking testing_table v0.3.0
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling tabled_derive v0.12.0
[INFO] [stderr]     Checking papergrid v0.18.0
[INFO] [stderr]     Checking ordered-float v5.3.0
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking tabled v0.22.0
[INFO] [stderr]    Compiling toml_parser v1.1.3+spec-1.1.0
[INFO] [stderr]     Checking strum v0.28.0
[INFO] [stderr]    Compiling toml_edit v0.25.13+spec-1.1.0
[INFO] [stderr]     Checking lox-interpreter v0.1.0 (/opt/rustwide/workdir/crates/lox-interpreter)
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 |                   Err(LoxError::InterpretError {
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 128 | |                     message: format!(
[INFO] [stdout] 129 | |                         "can't assign to undefined variable. line: {}. lexeme: {}",
[INFO] [stdout] 130 | |                         data.name.line, data.name.lexeme
[INFO] [stdout] ...   |
[INFO] [stdout] 133 | |                 .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] 132 -                 }
[INFO] [stdout] 133 -                 .into())
[INFO] [stdout] 132 +                 })
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 127 ~                 Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 128 |                     message: format!(
[INFO] [stdout] ...
[INFO] [stdout] 131 |                     ),
[INFO] [stdout] 132 ~                 }))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:250:17
[INFO] [stdout]     |
[INFO] [stdout] 250 |               Err(LoxError::InterpretError {
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 251 | |                 message: format!(
[INFO] [stdout] 252 | |                     "calc binary expr fail. line: {}. lexeme: {}",
[INFO] [stdout] 253 | |                     data.operator.line, data.operator.lexeme
[INFO] [stdout] ...   |
[INFO] [stdout] 256 | |             .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] 255 -             }
[INFO] [stdout] 256 -             .into())
[INFO] [stdout] 255 +             })
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 250 ~             Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 251 |                 message: format!(
[INFO] [stdout] ...
[INFO] [stdout] 254 |                 ),
[INFO] [stdout] 255 ~             }))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:267:32
[INFO] [stdout]     |
[INFO] [stdout] 267 |                       return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 268 | |                         message: format!(
[INFO] [stdout] 269 | |                             "Expected {} arguments but got {}. line: {}. lexeme: {}",
[INFO] [stdout] 270 | |                             func.arg_size,
[INFO] [stdout] ...   |
[INFO] [stdout] 276 | |                     .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] 275 -                     }
[INFO] [stdout] 276 -                     .into());
[INFO] [stdout] 275 +                     });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 267 ~                     return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 268 |                         message: format!(
[INFO] [stdout] ...
[INFO] [stdout] 274 |                         ),
[INFO] [stdout] 275 ~                     }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:283:32
[INFO] [stdout]     |
[INFO] [stdout] 283 |                       return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 284 | |                         message: format!(
[INFO] [stdout] 285 | |                             "Expected {} arguments but got {}. line: {}. lexeme: {}",
[INFO] [stdout] 286 | |                             size,
[INFO] [stdout] ...   |
[INFO] [stdout] 292 | |                     .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] 291 -                     }
[INFO] [stdout] 292 -                     .into());
[INFO] [stdout] 291 +                     });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 283 ~                     return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 284 |                         message: format!(
[INFO] [stdout] ...
[INFO] [stdout] 290 |                         ),
[INFO] [stdout] 291 ~                     }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:304:28
[INFO] [stdout]     |
[INFO] [stdout] 304 |                   return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 305 | |                     message: format!(
[INFO] [stdout] 306 | |                         "invalid function callable. line: {}. lexeme: {}. callable: {}",
[INFO] [stdout] 307 | |                         data.operator.line, data.operator.lexeme, callable
[INFO] [stdout] ...   |
[INFO] [stdout] 310 | |                 .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] 309 -                 }
[INFO] [stdout] 310 -                 .into());
[INFO] [stdout] 309 +                 });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 304 ~                 return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 305 |                     message: format!(
[INFO] [stdout] ...
[INFO] [stdout] 308 |                     ),
[INFO] [stdout] 309 ~                 }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:318:28
[INFO] [stdout]     |
[INFO] [stdout] 318 |                   return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 319 | |                     message: format!(
[INFO] [stdout] 320 | |                         "Only instances have properties. line: {}. lexeme: {}",
[INFO] [stdout] 321 | |                         data.name.line, data.name.lexeme
[INFO] [stdout] ...   |
[INFO] [stdout] 324 | |                 .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] 323 -                 }
[INFO] [stdout] 324 -                 .into());
[INFO] [stdout] 323 +                 });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 318 ~                 return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 319 |                     message: format!(
[INFO] [stdout] ...
[INFO] [stdout] 322 |                     ),
[INFO] [stdout] 323 ~                 }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:343:32
[INFO] [stdout]     |
[INFO] [stdout] 343 |                       return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 344 | |                         message: format!(
[INFO] [stdout] 345 | |                             "invalid logical op. line: {}. lexeme: {}",
[INFO] [stdout] 346 | |                             data.operator.line, data.operator.lexeme
[INFO] [stdout] ...   |
[INFO] [stdout] 349 | |                     .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] 348 -                     }
[INFO] [stdout] 349 -                     .into());
[INFO] [stdout] 348 +                     });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 343 ~                     return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 344 |                         message: format!(
[INFO] [stdout] ...
[INFO] [stdout] 347 |                         ),
[INFO] [stdout] 348 ~                     }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:363:28
[INFO] [stdout]     |
[INFO] [stdout] 363 |                   return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 364 | |                     message: format!(
[INFO] [stdout] 365 | |                         "Only instances have fields. line: {}. lexeme: {}",
[INFO] [stdout] 366 | |                         data.name.line, data.name.lexeme
[INFO] [stdout] ...   |
[INFO] [stdout] 369 | |                 .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] 368 -                 }
[INFO] [stdout] 369 -                 .into());
[INFO] [stdout] 368 +                 });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 363 ~                 return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 364 |                     message: format!(
[INFO] [stdout] ...
[INFO] [stdout] 367 |                     ),
[INFO] [stdout] 368 ~                 }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:404:32
[INFO] [stdout]     |
[INFO] [stdout] 404 |                       return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 405 | |                         message: format!(
[INFO] [stdout] 406 | |                             "Undefined property. line: {}. lexeme: {}",
[INFO] [stdout] 407 | |                             data.method.line, data.method.lexeme
[INFO] [stdout] ...   |
[INFO] [stdout] 410 | |                     .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] 409 -                     }
[INFO] [stdout] 410 -                     .into());
[INFO] [stdout] 409 +                     });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 404 ~                     return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 405 |                         message: format!(
[INFO] [stdout] ...
[INFO] [stdout] 408 |                         ),
[INFO] [stdout] 409 ~                     }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:441:17
[INFO] [stdout]     |
[INFO] [stdout] 441 |               Err(LoxError::InterpretError {
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 442 | |                 message: format!(
[INFO] [stdout] 443 | |                     "calc unary expr fail. line: {}. lexeme: {}",
[INFO] [stdout] 444 | |                     data.operator.line, data.operator.lexeme
[INFO] [stdout] ...   |
[INFO] [stdout] 447 | |             .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] 446 -             }
[INFO] [stdout] 447 -             .into())
[INFO] [stdout] 446 +             })
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 441 ~             Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 442 |                 message: format!(
[INFO] [stdout] ...
[INFO] [stdout] 445 |                 ),
[INFO] [stdout] 446 ~             }))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:479:32
[INFO] [stdout]     |
[INFO] [stdout] 479 |                       return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 480 | |                         message: "Superclass must be a class.".into(),
[INFO] [stdout] 481 | |                     }
[INFO] [stdout] 482 | |                     .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] 481 -                     }
[INFO] [stdout] 482 -                     .into());
[INFO] [stdout] 481 +                     });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 479 ~                     return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 480 |                         message: "Superclass must be a class.".into(),
[INFO] [stdout] 481 ~                     }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:636:36
[INFO] [stdout]     |
[INFO] [stdout] 636 |                           return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ____________________________________^
[INFO] [stdout] 637 | |                             message: "A class can't inherit from itself.".into(),
[INFO] [stdout] 638 | |                         }
[INFO] [stdout] 639 | |                         .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] 638 -                         }
[INFO] [stdout] 639 -                         .into());
[INFO] [stdout] 638 +                         });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 636 ~                         return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 637 |                             message: "A class can't inherit from itself.".into(),
[INFO] [stdout] 638 ~                         }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:694:32
[INFO] [stdout]     |
[INFO] [stdout] 694 |                       return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 695 | |                         message: "Can't return from top-level code.".into(),
[INFO] [stdout] 696 | |                     }
[INFO] [stdout] 697 | |                     .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] 696 -                     }
[INFO] [stdout] 697 -                     .into());
[INFO] [stdout] 696 +                     });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 694 ~                     return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 695 |                         message: "Can't return from top-level code.".into(),
[INFO] [stdout] 696 ~                     }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:762:32
[INFO] [stdout]     |
[INFO] [stdout] 762 |                       return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 763 | |                         message: "Can't use 'super' outside of a class.".into(),
[INFO] [stdout] 764 | |                     }
[INFO] [stdout] 765 | |                     .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] 764 -                     }
[INFO] [stdout] 765 -                     .into());
[INFO] [stdout] 764 +                     });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 762 ~                     return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 763 |                         message: "Can't use 'super' outside of a class.".into(),
[INFO] [stdout] 764 ~                     }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:767:32
[INFO] [stdout]     |
[INFO] [stdout] 767 |                       return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 768 | |                         message: "Can't use 'super' in a class with no superclass.".into(),
[INFO] [stdout] 769 | |                     }
[INFO] [stdout] 770 | |                     .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] 769 -                     }
[INFO] [stdout] 770 -                     .into());
[INFO] [stdout] 769 +                     });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 767 ~                     return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 768 |                         message: "Can't use 'super' in a class with no superclass.".into(),
[INFO] [stdout] 769 ~                     }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:778:32
[INFO] [stdout]     |
[INFO] [stdout] 778 |                       return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 779 | |                         message: "Can't use 'this' outside of a class.".into(),
[INFO] [stdout] 780 | |                     }
[INFO] [stdout] 781 | |                     .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] 780 -                     }
[INFO] [stdout] 781 -                     .into());
[INFO] [stdout] 780 +                     });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 778 ~                     return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 779 |                         message: "Can't use 'this' outside of a class.".into(),
[INFO] [stdout] 780 ~                     }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:798:32
[INFO] [stdout]     |
[INFO] [stdout] 798 |                       return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 799 | |                         message: "Can't read local variable in its own initializer.".into(),
[INFO] [stdout] 800 | |                     }
[INFO] [stdout] 801 | |                     .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] 800 -                     }
[INFO] [stdout] 801 -                     .into());
[INFO] [stdout] 800 +                     });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 798 ~                     return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 799 |                         message: "Can't read local variable in its own initializer.".into(),
[INFO] [stdout] 800 ~                     }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:855:28
[INFO] [stdout]     |
[INFO] [stdout] 855 |                   return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 856 | |                     message: format!(
[INFO] [stdout] 857 | |                         "Already a variable with this name <{}> in this scope.",
[INFO] [stdout] 858 | |                         name
[INFO] [stdout] ...   |
[INFO] [stdout] 861 | |                 .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] 860 -                 }
[INFO] [stdout] 861 -                 .into());
[INFO] [stdout] 860 +                 });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 855 ~                 return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 856 |                     message: format!(
[INFO] [stdout] ...
[INFO] [stdout] 859 |                     ),
[INFO] [stdout] 860 ~                 }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/parser.rs:113:32
[INFO] [stdout]     |
[INFO] [stdout] 113 |                       return Err(LoxError::ParseError {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 114 | |                         message: "Can't have more than 255 parameters.".to_string(),
[INFO] [stdout] 115 | |                     }
[INFO] [stdout] 116 | |                     .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] 115 -                     }
[INFO] [stdout] 116 -                     .into());
[INFO] [stdout] 115 +                     });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 113 ~                     return Err(<LoxError as Into<_>>::into(LoxError::ParseError {
[INFO] [stdout] 114 |                         message: "Can't have more than 255 parameters.".to_string(),
[INFO] [stdout] 115 ~                     }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/parser.rs:353:24
[INFO] [stdout]     |
[INFO] [stdout] 353 |               return Err(LoxError::ParseError {
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 354 | |                 message: format!("Invalid assignment target. at {:?}", prev_token),
[INFO] [stdout] 355 | |             }
[INFO] [stdout] 356 | |             .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] 355 -             }
[INFO] [stdout] 356 -             .into());
[INFO] [stdout] 355 +             });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 353 ~             return Err(<LoxError as Into<_>>::into(LoxError::ParseError {
[INFO] [stdout] 354 |                 message: format!("Invalid assignment target. at {:?}", prev_token),
[INFO] [stdout] 355 ~             }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/parser.rs:479:32
[INFO] [stdout]     |
[INFO] [stdout] 479 |                       return Err(LoxError::ParseError {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 480 | |                         message: format!(
[INFO] [stdout] 481 | |                             "Can't have more than 255 arguments. at line {}",
[INFO] [stdout] 482 | |                             paren.line
[INFO] [stdout] ...   |
[INFO] [stdout] 485 | |                     .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] 484 -                     }
[INFO] [stdout] 485 -                     .into());
[INFO] [stdout] 484 +                     });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 479 ~                     return Err(<LoxError as Into<_>>::into(LoxError::ParseError {
[INFO] [stdout] 480 |                         message: format!(
[INFO] [stdout] ...
[INFO] [stdout] 483 |                         ),
[INFO] [stdout] 484 ~                     }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/parser.rs:561:20
[INFO] [stdout]     |
[INFO] [stdout] 561 |           return Err(LoxError::ParseError {
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 562 | |             message: format!("Expect expression. at {:?}", self.previous()),
[INFO] [stdout] 563 | |         }
[INFO] [stdout] 564 | |         .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] 563 -         }
[INFO] [stdout] 564 -         .into());
[INFO] [stdout] 563 +         });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 561 ~         return Err(<LoxError as Into<_>>::into(LoxError::ParseError {
[INFO] [stdout] 562 |             message: format!("Expect expression. at {:?}", self.previous()),
[INFO] [stdout] 563 ~         }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/parser.rs:613:20
[INFO] [stdout]     |
[INFO] [stdout] 613 |         return Err(LoxError::ParseError { message }.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] 613 -         return Err(LoxError::ParseError { message }.into());
[INFO] [stdout] 613 +         return Err(LoxError::ParseError { message });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 613 -         return Err(LoxError::ParseError { message }.into());
[INFO] [stdout] 613 +         return Err(<LoxError as Into<_>>::into(LoxError::ParseError { message }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/scanner.rs:111:40
[INFO] [stdout]     |
[INFO] [stdout] 111 |   ...                   return Err(LoxError::ScanError {
[INFO] [stdout]     |  __________________________________^
[INFO] [stdout] 112 | | ...                       message: format!("unterminated string, line: {}", self.line),
[INFO] [stdout] 113 | | ...                   }
[INFO] [stdout] 114 | | ...                   .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] 113 -                             }
[INFO] [stdout] 114 -                             .into());
[INFO] [stdout] 113 +                             });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 111 ~                             return Err(<LoxError as Into<_>>::into(LoxError::ScanError {
[INFO] [stdout] 112 |                                 message: format!("unterminated string, line: {}", self.line),
[INFO] [stdout] 113 ~                             }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/scanner.rs:177:36
[INFO] [stdout]     |
[INFO] [stdout] 177 |                           return Err(LoxError::ScanError {
[INFO] [stdout]     |  ____________________________________^
[INFO] [stdout] 178 | |                             message: format!("unexpected character, line: {}", self.line),
[INFO] [stdout] 179 | |                         }
[INFO] [stdout] 180 | |                         .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] 179 -                         }
[INFO] [stdout] 180 -                         .into());
[INFO] [stdout] 179 +                         });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 177 ~                         return Err(<LoxError as Into<_>>::into(LoxError::ScanError {
[INFO] [stdout] 178 |                             message: format!("unexpected character, line: {}", self.line),
[INFO] [stdout] 179 ~                         }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/scanner.rs:185:25
[INFO] [stdout]     |
[INFO] [stdout] 185 |               None => Err(LoxError::ScanError {
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 186 | |                 message: "not found char".into(),
[INFO] [stdout] 187 | |             }
[INFO] [stdout] 188 | |             .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] 187 -             }
[INFO] [stdout] 188 -             .into()),
[INFO] [stdout] 187 +             }),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 185 ~             None => Err(<LoxError as Into<_>>::into(LoxError::ScanError {
[INFO] [stdout] 186 |                 message: "not found char".into(),
[INFO] [stdout] 187 ~             })),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lox-interpreter` (bin "lox-interpreter") due to 26 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 |                   Err(LoxError::InterpretError {
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 128 | |                     message: format!(
[INFO] [stdout] 129 | |                         "can't assign to undefined variable. line: {}. lexeme: {}",
[INFO] [stdout] 130 | |                         data.name.line, data.name.lexeme
[INFO] [stdout] ...   |
[INFO] [stdout] 133 | |                 .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] 132 -                 }
[INFO] [stdout] 133 -                 .into())
[INFO] [stdout] 132 +                 })
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 127 ~                 Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 128 |                     message: format!(
[INFO] [stdout] ...
[INFO] [stdout] 131 |                     ),
[INFO] [stdout] 132 ~                 }))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:250:17
[INFO] [stdout]     |
[INFO] [stdout] 250 |               Err(LoxError::InterpretError {
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 251 | |                 message: format!(
[INFO] [stdout] 252 | |                     "calc binary expr fail. line: {}. lexeme: {}",
[INFO] [stdout] 253 | |                     data.operator.line, data.operator.lexeme
[INFO] [stdout] ...   |
[INFO] [stdout] 256 | |             .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] 255 -             }
[INFO] [stdout] 256 -             .into())
[INFO] [stdout] 255 +             })
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 250 ~             Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 251 |                 message: format!(
[INFO] [stdout] ...
[INFO] [stdout] 254 |                 ),
[INFO] [stdout] 255 ~             }))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:267:32
[INFO] [stdout]     |
[INFO] [stdout] 267 |                       return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 268 | |                         message: format!(
[INFO] [stdout] 269 | |                             "Expected {} arguments but got {}. line: {}. lexeme: {}",
[INFO] [stdout] 270 | |                             func.arg_size,
[INFO] [stdout] ...   |
[INFO] [stdout] 276 | |                     .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] 275 -                     }
[INFO] [stdout] 276 -                     .into());
[INFO] [stdout] 275 +                     });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 267 ~                     return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 268 |                         message: format!(
[INFO] [stdout] ...
[INFO] [stdout] 274 |                         ),
[INFO] [stdout] 275 ~                     }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:283:32
[INFO] [stdout]     |
[INFO] [stdout] 283 |                       return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 284 | |                         message: format!(
[INFO] [stdout] 285 | |                             "Expected {} arguments but got {}. line: {}. lexeme: {}",
[INFO] [stdout] 286 | |                             size,
[INFO] [stdout] ...   |
[INFO] [stdout] 292 | |                     .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] 291 -                     }
[INFO] [stdout] 292 -                     .into());
[INFO] [stdout] 291 +                     });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 283 ~                     return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 284 |                         message: format!(
[INFO] [stdout] ...
[INFO] [stdout] 290 |                         ),
[INFO] [stdout] 291 ~                     }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:304:28
[INFO] [stdout]     |
[INFO] [stdout] 304 |                   return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 305 | |                     message: format!(
[INFO] [stdout] 306 | |                         "invalid function callable. line: {}. lexeme: {}. callable: {}",
[INFO] [stdout] 307 | |                         data.operator.line, data.operator.lexeme, callable
[INFO] [stdout] ...   |
[INFO] [stdout] 310 | |                 .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] 309 -                 }
[INFO] [stdout] 310 -                 .into());
[INFO] [stdout] 309 +                 });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 304 ~                 return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 305 |                     message: format!(
[INFO] [stdout] ...
[INFO] [stdout] 308 |                     ),
[INFO] [stdout] 309 ~                 }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:318:28
[INFO] [stdout]     |
[INFO] [stdout] 318 |                   return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 319 | |                     message: format!(
[INFO] [stdout] 320 | |                         "Only instances have properties. line: {}. lexeme: {}",
[INFO] [stdout] 321 | |                         data.name.line, data.name.lexeme
[INFO] [stdout] ...   |
[INFO] [stdout] 324 | |                 .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] 323 -                 }
[INFO] [stdout] 324 -                 .into());
[INFO] [stdout] 323 +                 });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 318 ~                 return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 319 |                     message: format!(
[INFO] [stdout] ...
[INFO] [stdout] 322 |                     ),
[INFO] [stdout] 323 ~                 }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:343:32
[INFO] [stdout]     |
[INFO] [stdout] 343 |                       return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 344 | |                         message: format!(
[INFO] [stdout] 345 | |                             "invalid logical op. line: {}. lexeme: {}",
[INFO] [stdout] 346 | |                             data.operator.line, data.operator.lexeme
[INFO] [stdout] ...   |
[INFO] [stdout] 349 | |                     .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] 348 -                     }
[INFO] [stdout] 349 -                     .into());
[INFO] [stdout] 348 +                     });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 343 ~                     return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 344 |                         message: format!(
[INFO] [stdout] ...
[INFO] [stdout] 347 |                         ),
[INFO] [stdout] 348 ~                     }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:363:28
[INFO] [stdout]     |
[INFO] [stdout] 363 |                   return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 364 | |                     message: format!(
[INFO] [stdout] 365 | |                         "Only instances have fields. line: {}. lexeme: {}",
[INFO] [stdout] 366 | |                         data.name.line, data.name.lexeme
[INFO] [stdout] ...   |
[INFO] [stdout] 369 | |                 .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] 368 -                 }
[INFO] [stdout] 369 -                 .into());
[INFO] [stdout] 368 +                 });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 363 ~                 return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 364 |                     message: format!(
[INFO] [stdout] ...
[INFO] [stdout] 367 |                     ),
[INFO] [stdout] 368 ~                 }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:404:32
[INFO] [stdout]     |
[INFO] [stdout] 404 |                       return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 405 | |                         message: format!(
[INFO] [stdout] 406 | |                             "Undefined property. line: {}. lexeme: {}",
[INFO] [stdout] 407 | |                             data.method.line, data.method.lexeme
[INFO] [stdout] ...   |
[INFO] [stdout] 410 | |                     .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] 409 -                     }
[INFO] [stdout] 410 -                     .into());
[INFO] [stdout] 409 +                     });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 404 ~                     return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 405 |                         message: format!(
[INFO] [stdout] ...
[INFO] [stdout] 408 |                         ),
[INFO] [stdout] 409 ~                     }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:441:17
[INFO] [stdout]     |
[INFO] [stdout] 441 |               Err(LoxError::InterpretError {
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 442 | |                 message: format!(
[INFO] [stdout] 443 | |                     "calc unary expr fail. line: {}. lexeme: {}",
[INFO] [stdout] 444 | |                     data.operator.line, data.operator.lexeme
[INFO] [stdout] ...   |
[INFO] [stdout] 447 | |             .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] 446 -             }
[INFO] [stdout] 447 -             .into())
[INFO] [stdout] 446 +             })
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 441 ~             Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 442 |                 message: format!(
[INFO] [stdout] ...
[INFO] [stdout] 445 |                 ),
[INFO] [stdout] 446 ~             }))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:479:32
[INFO] [stdout]     |
[INFO] [stdout] 479 |                       return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 480 | |                         message: "Superclass must be a class.".into(),
[INFO] [stdout] 481 | |                     }
[INFO] [stdout] 482 | |                     .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] 481 -                     }
[INFO] [stdout] 482 -                     .into());
[INFO] [stdout] 481 +                     });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 479 ~                     return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 480 |                         message: "Superclass must be a class.".into(),
[INFO] [stdout] 481 ~                     }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:636:36
[INFO] [stdout]     |
[INFO] [stdout] 636 |                           return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ____________________________________^
[INFO] [stdout] 637 | |                             message: "A class can't inherit from itself.".into(),
[INFO] [stdout] 638 | |                         }
[INFO] [stdout] 639 | |                         .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] 638 -                         }
[INFO] [stdout] 639 -                         .into());
[INFO] [stdout] 638 +                         });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 636 ~                         return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 637 |                             message: "A class can't inherit from itself.".into(),
[INFO] [stdout] 638 ~                         }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:694:32
[INFO] [stdout]     |
[INFO] [stdout] 694 |                       return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 695 | |                         message: "Can't return from top-level code.".into(),
[INFO] [stdout] 696 | |                     }
[INFO] [stdout] 697 | |                     .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] 696 -                     }
[INFO] [stdout] 697 -                     .into());
[INFO] [stdout] 696 +                     });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 694 ~                     return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 695 |                         message: "Can't return from top-level code.".into(),
[INFO] [stdout] 696 ~                     }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:762:32
[INFO] [stdout]     |
[INFO] [stdout] 762 |                       return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 763 | |                         message: "Can't use 'super' outside of a class.".into(),
[INFO] [stdout] 764 | |                     }
[INFO] [stdout] 765 | |                     .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] 764 -                     }
[INFO] [stdout] 765 -                     .into());
[INFO] [stdout] 764 +                     });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 762 ~                     return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 763 |                         message: "Can't use 'super' outside of a class.".into(),
[INFO] [stdout] 764 ~                     }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:767:32
[INFO] [stdout]     |
[INFO] [stdout] 767 |                       return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 768 | |                         message: "Can't use 'super' in a class with no superclass.".into(),
[INFO] [stdout] 769 | |                     }
[INFO] [stdout] 770 | |                     .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] 769 -                     }
[INFO] [stdout] 770 -                     .into());
[INFO] [stdout] 769 +                     });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 767 ~                     return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 768 |                         message: "Can't use 'super' in a class with no superclass.".into(),
[INFO] [stdout] 769 ~                     }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:778:32
[INFO] [stdout]     |
[INFO] [stdout] 778 |                       return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 779 | |                         message: "Can't use 'this' outside of a class.".into(),
[INFO] [stdout] 780 | |                     }
[INFO] [stdout] 781 | |                     .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] 780 -                     }
[INFO] [stdout] 781 -                     .into());
[INFO] [stdout] 780 +                     });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 778 ~                     return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 779 |                         message: "Can't use 'this' outside of a class.".into(),
[INFO] [stdout] 780 ~                     }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:798:32
[INFO] [stdout]     |
[INFO] [stdout] 798 |                       return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 799 | |                         message: "Can't read local variable in its own initializer.".into(),
[INFO] [stdout] 800 | |                     }
[INFO] [stdout] 801 | |                     .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] 800 -                     }
[INFO] [stdout] 801 -                     .into());
[INFO] [stdout] 800 +                     });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 798 ~                     return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 799 |                         message: "Can't read local variable in its own initializer.".into(),
[INFO] [stdout] 800 ~                     }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/interpreter.rs:855:28
[INFO] [stdout]     |
[INFO] [stdout] 855 |                   return Err(LoxError::InterpretError {
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 856 | |                     message: format!(
[INFO] [stdout] 857 | |                         "Already a variable with this name <{}> in this scope.",
[INFO] [stdout] 858 | |                         name
[INFO] [stdout] ...   |
[INFO] [stdout] 861 | |                 .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] 860 -                 }
[INFO] [stdout] 861 -                 .into());
[INFO] [stdout] 860 +                 });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 855 ~                 return Err(<LoxError as Into<_>>::into(LoxError::InterpretError {
[INFO] [stdout] 856 |                     message: format!(
[INFO] [stdout] ...
[INFO] [stdout] 859 |                     ),
[INFO] [stdout] 860 ~                 }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/parser.rs:113:32
[INFO] [stdout]     |
[INFO] [stdout] 113 |                       return Err(LoxError::ParseError {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 114 | |                         message: "Can't have more than 255 parameters.".to_string(),
[INFO] [stdout] 115 | |                     }
[INFO] [stdout] 116 | |                     .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] 115 -                     }
[INFO] [stdout] 116 -                     .into());
[INFO] [stdout] 115 +                     });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 113 ~                     return Err(<LoxError as Into<_>>::into(LoxError::ParseError {
[INFO] [stdout] 114 |                         message: "Can't have more than 255 parameters.".to_string(),
[INFO] [stdout] 115 ~                     }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/parser.rs:353:24
[INFO] [stdout]     |
[INFO] [stdout] 353 |               return Err(LoxError::ParseError {
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 354 | |                 message: format!("Invalid assignment target. at {:?}", prev_token),
[INFO] [stdout] 355 | |             }
[INFO] [stdout] 356 | |             .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] 355 -             }
[INFO] [stdout] 356 -             .into());
[INFO] [stdout] 355 +             });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 353 ~             return Err(<LoxError as Into<_>>::into(LoxError::ParseError {
[INFO] [stdout] 354 |                 message: format!("Invalid assignment target. at {:?}", prev_token),
[INFO] [stdout] 355 ~             }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/parser.rs:479:32
[INFO] [stdout]     |
[INFO] [stdout] 479 |                       return Err(LoxError::ParseError {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 480 | |                         message: format!(
[INFO] [stdout] 481 | |                             "Can't have more than 255 arguments. at line {}",
[INFO] [stdout] 482 | |                             paren.line
[INFO] [stdout] ...   |
[INFO] [stdout] 485 | |                     .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] 484 -                     }
[INFO] [stdout] 485 -                     .into());
[INFO] [stdout] 484 +                     });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 479 ~                     return Err(<LoxError as Into<_>>::into(LoxError::ParseError {
[INFO] [stdout] 480 |                         message: format!(
[INFO] [stdout] ...
[INFO] [stdout] 483 |                         ),
[INFO] [stdout] 484 ~                     }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/parser.rs:561:20
[INFO] [stdout]     |
[INFO] [stdout] 561 |           return Err(LoxError::ParseError {
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 562 | |             message: format!("Expect expression. at {:?}", self.previous()),
[INFO] [stdout] 563 | |         }
[INFO] [stdout] 564 | |         .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] 563 -         }
[INFO] [stdout] 564 -         .into());
[INFO] [stdout] 563 +         });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 561 ~         return Err(<LoxError as Into<_>>::into(LoxError::ParseError {
[INFO] [stdout] 562 |             message: format!("Expect expression. at {:?}", self.previous()),
[INFO] [stdout] 563 ~         }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/parser.rs:613:20
[INFO] [stdout]     |
[INFO] [stdout] 613 |         return Err(LoxError::ParseError { message }.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] 613 -         return Err(LoxError::ParseError { message }.into());
[INFO] [stdout] 613 +         return Err(LoxError::ParseError { message });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 613 -         return Err(LoxError::ParseError { message }.into());
[INFO] [stdout] 613 +         return Err(<LoxError as Into<_>>::into(LoxError::ParseError { message }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/scanner.rs:111:40
[INFO] [stdout]     |
[INFO] [stdout] 111 |   ...                   return Err(LoxError::ScanError {
[INFO] [stdout]     |  __________________________________^
[INFO] [stdout] 112 | | ...                       message: format!("unterminated string, line: {}", self.line),
[INFO] [stdout] 113 | | ...                   }
[INFO] [stdout] 114 | | ...                   .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] 113 -                             }
[INFO] [stdout] 114 -                             .into());
[INFO] [stdout] 113 +                             });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 111 ~                             return Err(<LoxError as Into<_>>::into(LoxError::ScanError {
[INFO] [stdout] 112 |                                 message: format!("unterminated string, line: {}", self.line),
[INFO] [stdout] 113 ~                             }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/scanner.rs:177:36
[INFO] [stdout]     |
[INFO] [stdout] 177 |                           return Err(LoxError::ScanError {
[INFO] [stdout]     |  ____________________________________^
[INFO] [stdout] 178 | |                             message: format!("unexpected character, line: {}", self.line),
[INFO] [stdout] 179 | |                         }
[INFO] [stdout] 180 | |                         .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] 179 -                         }
[INFO] [stdout] 180 -                         .into());
[INFO] [stdout] 179 +                         });
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 177 ~                         return Err(<LoxError as Into<_>>::into(LoxError::ScanError {
[INFO] [stdout] 178 |                             message: format!("unexpected character, line: {}", self.line),
[INFO] [stdout] 179 ~                         }));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LoxError`
[INFO] [stdout]    --> crates/lox-interpreter/src/scanner.rs:185:25
[INFO] [stdout]     |
[INFO] [stdout] 185 |               None => Err(LoxError::ScanError {
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 186 | |                 message: "not found char".into(),
[INFO] [stdout] 187 | |             }
[INFO] [stdout] 188 | |             .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] 187 -             }
[INFO] [stdout] 188 -             .into()),
[INFO] [stdout] 187 +             }),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 185 ~             None => Err(<LoxError as Into<_>>::into(LoxError::ScanError {
[INFO] [stdout] 186 |                 message: "not found char".into(),
[INFO] [stdout] 187 ~             })),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lox-interpreter` (bin "lox-interpreter" test) due to 26 previous errors
[INFO] running `Command { std: "docker" "inspect" "bb4a7b903ace77ee7db89515071d7739f85dfca65502d4ba6ca75d34d4550e1a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bb4a7b903ace77ee7db89515071d7739f85dfca65502d4ba6ca75d34d4550e1a", kill_on_drop: false }`
[INFO] [stdout] bb4a7b903ace77ee7db89515071d7739f85dfca65502d4ba6ca75d34d4550e1a
