[INFO] cloning repository https://github.com/tu6ge/rlox [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tu6ge/rlox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftu6ge%2Frlox", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftu6ge%2Frlox'... [INFO] [stderr] /workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftu6ge%2Frlox: No space left on device [WARN] Retrying crate fetch in 3 seconds (attempt 1) [INFO] cloning repository https://github.com/tu6ge/rlox [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tu6ge/rlox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftu6ge%2Frlox", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftu6ge%2Frlox'... [INFO] [stderr] /workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftu6ge%2Frlox/info/: No space left on device [WARN] Retrying crate fetch in 3 seconds (attempt 2) [INFO] cloning repository https://github.com/tu6ge/rlox [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tu6ge/rlox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftu6ge%2Frlox", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftu6ge%2Frlox'... [INFO] [stderr] /workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftu6ge%2Frlox/refs/heads: No space left on device [WARN] Retrying crate fetch in 3 seconds (attempt 3) [INFO] cloning repository https://github.com/tu6ge/rlox [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tu6ge/rlox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftu6ge%2Frlox", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftu6ge%2Frlox'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 11132e7d0d225a162d9420063020d17c74ae4868 [INFO] checking tu6ge/rlox against try#e784c10fc2dd34bf2bb7b1e51117e35d3f9c5837 for pr-143619 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftu6ge%2Frlox" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/tu6ge/rlox [INFO] finished tweaking git repo https://github.com/tu6ge/rlox [INFO] tweaked toml for git repo https://github.com/tu6ge/rlox written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/tu6ge/rlox on toolchain e784c10fc2dd34bf2bb7b1e51117e35d3f9c5837 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e784c10fc2dd34bf2bb7b1e51117e35d3f9c5837" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/tu6ge/rlox 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" "+e784c10fc2dd34bf2bb7b1e51117e35d3f9c5837" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+e784c10fc2dd34bf2bb7b1e51117e35d3f9c5837" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b47d7411d374acb7290889babcaf4b3dd3771dc668f66ca13e77e6d4062cabe7 [INFO] running `Command { std: "docker" "start" "-a" "b47d7411d374acb7290889babcaf4b3dd3771dc668f66ca13e77e6d4062cabe7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b47d7411d374acb7290889babcaf4b3dd3771dc668f66ca13e77e6d4062cabe7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b47d7411d374acb7290889babcaf4b3dd3771dc668f66ca13e77e6d4062cabe7", kill_on_drop: false }` [INFO] [stdout] b47d7411d374acb7290889babcaf4b3dd3771dc668f66ca13e77e6d4062cabe7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+e784c10fc2dd34bf2bb7b1e51117e35d3f9c5837" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7b878d2ee4a69f08858ec038e1e2b3f493e12998dcddff208f38cf6374b8b537 [INFO] running `Command { std: "docker" "start" "-a" "7b878d2ee4a69f08858ec038e1e2b3f493e12998dcddff208f38cf6374b8b537", kill_on_drop: false }` [INFO] [stderr] Checking rlox v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused macro definition: `error_message` [INFO] [stdout] --> src/parser/mod.rs:23:14 [INFO] [stdout] | [INFO] [stdout] 23 | macro_rules! error_message { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `error_message` [INFO] [stdout] --> src/parser/mod.rs:23:14 [INFO] [stdout] | [INFO] [stdout] 23 | macro_rules! error_message { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser/mod.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | let mut initializer; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser/mod.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | let mut initializer; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `RuntimeError` is more private than the item `inter::Interpreter::interpret` [INFO] [stdout] --> src/parser/inter.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn interpret(&mut self, stmt: &[Stmt]) -> Result<(), RuntimeError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `inter::Interpreter::interpret` is reachable at visibility `pub(in crate::parser)` [INFO] [stdout] | [INFO] [stdout] note: but type `RuntimeError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/parser/inter.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | enum RuntimeError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/mod.rs:416:12 [INFO] [stdout] | [INFO] [stdout] 416 | String(String), [INFO] [stdout] | ------ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Error` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 416 - String(String), [INFO] [stdout] 416 + String(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/inter.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | String(std::string::String), [INFO] [stdout] | ------ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `RuntimeError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 18 - String(std::string::String), [INFO] [stdout] 18 + String(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `RuntimeError` is more private than the item `Interpreter::interpret` [INFO] [stdout] --> src/parser/inter.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn interpret(&mut self, stmt: &[Stmt]) -> Result<(), RuntimeError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `Interpreter::interpret` is reachable at visibility `pub(in crate::parser)` [INFO] [stdout] | [INFO] [stdout] note: but type `RuntimeError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/parser/inter.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | enum RuntimeError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/parser/inter.rs:302:9 [INFO] [stdout] | [INFO] [stdout] 302 | inter.interpret(&stmt); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 302 | let _ = inter.interpret(&stmt); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/parser/inter.rs:314:9 [INFO] [stdout] | [INFO] [stdout] 314 | inter.interpret(&stmt); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 314 | let _ = inter.interpret(&stmt); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/parser/inter.rs:326:9 [INFO] [stdout] | [INFO] [stdout] 326 | inter.interpret(&stmt); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 326 | let _ = inter.interpret(&stmt); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/parser/inter.rs:355:9 [INFO] [stdout] | [INFO] [stdout] 355 | inter.interpret(&stmt); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 355 | let _ = inter.interpret(&stmt); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/parser/inter.rs:365:9 [INFO] [stdout] | [INFO] [stdout] 365 | inter.interpret(&stmt); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 365 | let _ = inter.interpret(&stmt); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/parser/inter.rs:383:9 [INFO] [stdout] | [INFO] [stdout] 383 | inter.interpret(&stmt); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 383 | let _ = inter.interpret(&stmt); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lexer` is never constructed [INFO] [stdout] --> src/lexer/mod.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Lexer { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/lexer/mod.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Lexer { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 14 | pub fn new(source: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn scan_tokens(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | fn scan_token(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | fn is_at_end(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | fn advance(&mut self) -> u8 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | fn add_token(&mut self, ttype: TokenType, literal: LiteralTypes) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | fn is_next_expected(&mut self, expected: u8) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | fn peek(&self) -> u8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | fn peek_next(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | fn string(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | fn number(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | fn identifier(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 225 | fn is_alpha(&self, c: u8) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | fn get_keyword(&self, word: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Parser` is never constructed [INFO] [stdout] --> src/parser/mod.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | struct Parser { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/parser/mod.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl Parser { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 38 | pub fn new(source: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn parse(&mut self) -> Result, Error> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | fn declaration(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | fn var_declaration(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | fn statement(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | fn for_statement(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | fn while_statement(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | fn if_statement(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | fn block(&mut self) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 187 | fn print_statement(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | fn expression_statement(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn expression(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | fn assignment(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 224 | fn or(&mut self) -> Result { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 238 | fn and(&mut self) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | fn equality(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 271 | fn comparison(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | fn term(&mut self) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 306 | fn factor(&mut self) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 322 | fn unary(&mut self) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 335 | fn primary(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 363 | fn consume(&mut self, expect: &TokenType, message: &str) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 371 | fn error(&self, message: &str) -> Error { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 374 | fn token_error(&self, token: &Token, message: &str) -> Error { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 382 | fn is_match(&mut self, tokens: &[TokenType]) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 391 | fn check(&self, ttype: &TokenType) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 398 | fn advance(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 403 | fn is_at_end(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 406 | fn peek(&self) -> &Token { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 409 | fn previous(&self) -> Token { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Error` is never used [INFO] [stdout] --> src/parser/mod.rs:415:6 [INFO] [stdout] | [INFO] [stdout] 415 | enum Error { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Expr` is never used [INFO] [stdout] --> src/parser/ast.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum Expr { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Unary` is never constructed [INFO] [stdout] --> src/parser/ast.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Unary { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Binary` is never constructed [INFO] [stdout] --> src/parser/ast.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct Binary { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Comparison` is never constructed [INFO] [stdout] --> src/parser/ast.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct Comparison { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Grouping` is never constructed [INFO] [stdout] --> src/parser/ast.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Grouping { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Variable` is never constructed [INFO] [stdout] --> src/parser/ast.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub struct Variable { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Assign` is never constructed [INFO] [stdout] --> src/parser/ast.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | pub struct Assign { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Logical` is never constructed [INFO] [stdout] --> src/parser/ast.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct Logical { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Visitor` is never used [INFO] [stdout] --> src/parser/ast.rs:58:11 [INFO] [stdout] | [INFO] [stdout] 58 | pub trait Visitor { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `accept` is never used [INFO] [stdout] --> src/parser/ast.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 69 | impl Expr { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] 70 | pub fn accept(&self, visitor: &mut dyn Visitor) -> T { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Environment` is never constructed [INFO] [stdout] --> src/parser/env.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Environment { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `new_with_enclosing`, `define`, `get`, and `assign` are never used [INFO] [stdout] --> src/parser/env.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Environment { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 12 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn new_with_enclosing(enclosing: Rc>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn define(&mut self, key: String, value: LiteralTypes) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn get(&self, token: &Token) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn assign(&mut self, name: &Token, value: LiteralTypes) -> Result<(), ()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Interpreter` is never constructed [INFO] [stdout] --> src/parser/inter.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Interpreter { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `RuntimeError` is never used [INFO] [stdout] --> src/parser/inter.rs:17:6 [INFO] [stdout] | [INFO] [stdout] 17 | enum RuntimeError { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `interpret`, `execute_block`, `execute`, `evaluate`, and `error` are never used [INFO] [stdout] --> src/parser/inter.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Interpreter { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 22 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn interpret(&mut self, stmt: &[Stmt]) -> Result<(), RuntimeError> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | fn execute_block(&mut self, stmt: &[Stmt], env: Environment) -> Result<(), RuntimeError> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | fn execute(&mut self, stmt: &Stmt) -> Result<(), RuntimeError> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | fn evaluate(&mut self, ast: &Expr) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | fn error(&self, token: &Token, message: &str) -> RuntimeError { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Stmt` is never used [INFO] [stdout] --> src/parser/stmt.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum Stmt { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Expression` is never constructed [INFO] [stdout] --> src/parser/stmt.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct Expression { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Print` is never constructed [INFO] [stdout] --> src/parser/stmt.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Print { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Var` is never constructed [INFO] [stdout] --> src/parser/stmt.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct Var { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Block` is never constructed [INFO] [stdout] --> src/parser/stmt.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct Block { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `If` is never constructed [INFO] [stdout] --> src/parser/stmt.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct If { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `While` is never constructed [INFO] [stdout] --> src/parser/stmt.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub struct While { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Visitor` is never used [INFO] [stdout] --> src/parser/stmt.rs:46:11 [INFO] [stdout] | [INFO] [stdout] 46 | pub trait Visitor { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `accept` is never used [INFO] [stdout] --> src/parser/stmt.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 55 | impl Stmt { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] 56 | pub fn accept(&self, visitor: &mut dyn Visitor) -> T { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.15s [INFO] running `Command { std: "docker" "inspect" "7b878d2ee4a69f08858ec038e1e2b3f493e12998dcddff208f38cf6374b8b537", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7b878d2ee4a69f08858ec038e1e2b3f493e12998dcddff208f38cf6374b8b537", kill_on_drop: false }` [INFO] [stdout] 7b878d2ee4a69f08858ec038e1e2b3f493e12998dcddff208f38cf6374b8b537