[INFO] cloning repository https://github.com/mihirium/compilerProject [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mihirium/compilerProject" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmihirium%2FcompilerProject", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmihirium%2FcompilerProject'... [INFO] [stderr] /workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmihirium%2FcompilerProject/branches/: No space left on device [WARN] Retrying crate fetch in 3 seconds (attempt 1) [INFO] cloning repository https://github.com/mihirium/compilerProject [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mihirium/compilerProject" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmihirium%2FcompilerProject", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmihirium%2FcompilerProject'... [INFO] [stderr] fatal: write error: No space left on device [INFO] [stderr] fatal: fetch-pack: invalid index-pack output [WARN] Retrying crate fetch in 3 seconds (attempt 2) [INFO] cloning repository https://github.com/mihirium/compilerProject [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mihirium/compilerProject" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmihirium%2FcompilerProject", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmihirium%2FcompilerProject'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b67c2831e5121d1c0e10583850e349fd228ad548 [INFO] building mihirium/compilerProject against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmihirium%2FcompilerProject" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/mihirium/compilerProject on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/mihirium/compilerProject [INFO] finished tweaking git repo https://github.com/mihirium/compilerProject [INFO] tweaked toml for git repo https://github.com/mihirium/compilerProject written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/mihirium/compilerProject 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" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0d5525362baeb6e15cfc809966e4fcdc624226bc8b4a7cb0378346d468155fa6 [INFO] running `Command { std: "docker" "start" "-a" "0d5525362baeb6e15cfc809966e4fcdc624226bc8b4a7cb0378346d468155fa6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0d5525362baeb6e15cfc809966e4fcdc624226bc8b4a7cb0378346d468155fa6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0d5525362baeb6e15cfc809966e4fcdc624226bc8b4a7cb0378346d468155fa6", kill_on_drop: false }` [INFO] [stdout] 0d5525362baeb6e15cfc809966e4fcdc624226bc8b4a7cb0378346d468155fa6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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 -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8c17bf1a64078eeb34bf995c17f45d036d682546a9c04045279c00e8d08943be [INFO] running `Command { std: "docker" "start" "-a" "8c17bf1a64078eeb34bf995c17f45d036d682546a9c04045279c00e8d08943be", kill_on_drop: false }` [INFO] [stderr] Compiling compilerProject v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: variant `LEFT_PAREN` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:16:3 [INFO] [stdout] | [INFO] [stdout] 16 | LEFT_PAREN, RIGHT_PAREN, LEFT_BRACE, RIGHT_BRACE, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftParen` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `RIGHT_PAREN` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:16:15 [INFO] [stdout] | [INFO] [stdout] 16 | LEFT_PAREN, RIGHT_PAREN, LEFT_BRACE, RIGHT_BRACE, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightParen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `LEFT_BRACE` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:16:28 [INFO] [stdout] | [INFO] [stdout] 16 | LEFT_PAREN, RIGHT_PAREN, LEFT_BRACE, RIGHT_BRACE, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftBrace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `RIGHT_BRACE` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:16:40 [INFO] [stdout] | [INFO] [stdout] 16 | LEFT_PAREN, RIGHT_PAREN, LEFT_BRACE, RIGHT_BRACE, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightBrace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `BANG_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | BANG, BANG_EQUAL, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `BangEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `EQUAL_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:21:10 [INFO] [stdout] | [INFO] [stdout] 21 | EQUAL, EQUAL_EQUAL, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EqualEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GREATER_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | GREATER, GREATER_EQUAL, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GreaterEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `LESS_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | LESS, LESS_EQUAL, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `LessEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::print_token` [INFO] [stdout] --> src/parser.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::print_token; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::TokenType` [INFO] [stdout] --> src/parser.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::TokenType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parser::*` [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use parser::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contents` [INFO] [stdout] --> src/main.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | let contents = fs::read_to_string(file_path) [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contents` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `test` [INFO] [stdout] --> src/main.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | let test = Box::new(Expr::Literal { value: LiteralValue::Number(45.67) }); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_test` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `token_type`, `literal`, and `line` are never read [INFO] [stdout] --> src/scanner.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct Token { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 3 | pub token_type: TokenType, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 4 | pub lexeme: String, [INFO] [stdout] 5 | pub literal: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 6 | pub line: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Token` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_token` is never used [INFO] [stdout] --> src/scanner.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn print_token(my_token: &Token) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/scanner.rs:16:3 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum TokenType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 15 | // Single-character tokens. [INFO] [stdout] 16 | LEFT_PAREN, RIGHT_PAREN, LEFT_BRACE, RIGHT_BRACE, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 17 | COMMA, DOT, MINUS, PLUS, SEMICOLON, SLASH, STAR, [INFO] [stdout] | ^^^^^ ^^^ ^^^^ ^^^^^^^^^ ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | BANG, BANG_EQUAL, [INFO] [stdout] | ^^^^ ^^^^^^^^^^ [INFO] [stdout] 21 | EQUAL, EQUAL_EQUAL, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 22 | GREATER, GREATER_EQUAL, [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] 23 | LESS, LESS_EQUAL, [INFO] [stdout] | ^^^^ ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | IDENTIFIER, STRING, NUMBER, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^ ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | AND, CLASS, ELSE, FALSE, FUN, FOR, IF, NIL, OR, [INFO] [stdout] | ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ ^^^ ^^ ^^^ ^^ [INFO] [stdout] 30 | PRINT, RETURN, SUPER, THIS, TRUE, VAR, WHILE, [INFO] [stdout] | ^^^^^ ^^^^^^ ^^^^^ ^^^^ ^^^^ ^^^ ^^^^^ [INFO] [stdout] 31 | [INFO] [stdout] 32 | EOF, [INFO] [stdout] | ^^^ [INFO] [stdout] 33 | UNKNOWN [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Scanner` is never constructed [INFO] [stdout] --> src/scanner.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | struct Scanner { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/scanner.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 44 | impl Scanner { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 45 | pub fn new(source: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn scan_tokens(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | fn peek(&self) -> char { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | fn scan_token(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | fn match_char(&mut self, expected: char) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | fn advance(&mut self) -> char { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | fn add_token(&mut self, token_type: TokenType, literal: Option) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | fn is_at_end(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 183 | fn string(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | fn number(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 222 | fn identifier(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 244 | fn keyword_type(&self, text: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `scanner_main` is never used [INFO] [stdout] --> src/scanner.rs:267:8 [INFO] [stdout] | [INFO] [stdout] 267 | pub fn scanner_main(source: &str) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Parser` is never constructed [INFO] [stdout] --> src/parser.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Parser { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Node` is never constructed [INFO] [stdout] --> src/parser.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Node { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `StringValue`, `True`, `False`, and `Nil` are never constructed [INFO] [stdout] --> src/expr.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum LiteralValue { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] 10 | Number(f32), [INFO] [stdout] 11 | StringValue(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 12 | True, [INFO] [stdout] | ^^^^ [INFO] [stdout] 13 | False, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 14 | Nil [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.14s [INFO] running `Command { std: "docker" "inspect" "8c17bf1a64078eeb34bf995c17f45d036d682546a9c04045279c00e8d08943be", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8c17bf1a64078eeb34bf995c17f45d036d682546a9c04045279c00e8d08943be", kill_on_drop: false }` [INFO] [stdout] 8c17bf1a64078eeb34bf995c17f45d036d682546a9c04045279c00e8d08943be [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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 -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a330d5d022eb05f5167dc06c744f126f574d93e7bbcffeb2ab5d8ff63465204b [INFO] running `Command { std: "docker" "start" "-a" "a330d5d022eb05f5167dc06c744f126f574d93e7bbcffeb2ab5d8ff63465204b", kill_on_drop: false }` [INFO] [stderr] Compiling compilerProject v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: variant `LEFT_PAREN` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:16:3 [INFO] [stdout] | [INFO] [stdout] 16 | LEFT_PAREN, RIGHT_PAREN, LEFT_BRACE, RIGHT_BRACE, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftParen` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `RIGHT_PAREN` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:16:15 [INFO] [stdout] | [INFO] [stdout] 16 | LEFT_PAREN, RIGHT_PAREN, LEFT_BRACE, RIGHT_BRACE, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightParen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `LEFT_BRACE` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:16:28 [INFO] [stdout] | [INFO] [stdout] 16 | LEFT_PAREN, RIGHT_PAREN, LEFT_BRACE, RIGHT_BRACE, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftBrace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `RIGHT_BRACE` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:16:40 [INFO] [stdout] | [INFO] [stdout] 16 | LEFT_PAREN, RIGHT_PAREN, LEFT_BRACE, RIGHT_BRACE, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightBrace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `BANG_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | BANG, BANG_EQUAL, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `BangEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `EQUAL_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:21:10 [INFO] [stdout] | [INFO] [stdout] 21 | EQUAL, EQUAL_EQUAL, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EqualEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GREATER_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | GREATER, GREATER_EQUAL, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GreaterEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `LESS_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | LESS, LESS_EQUAL, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `LessEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::print_token` [INFO] [stdout] --> src/parser.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::print_token; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::TokenType` [INFO] [stdout] --> src/parser.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::TokenType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parser::*` [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use parser::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contents` [INFO] [stdout] --> src/main.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | let contents = fs::read_to_string(file_path) [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contents` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `test` [INFO] [stdout] --> src/main.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | let test = Box::new(Expr::Literal { value: LiteralValue::Number(45.67) }); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_test` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `token_type`, `literal`, and `line` are never read [INFO] [stdout] --> src/scanner.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct Token { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 3 | pub token_type: TokenType, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 4 | pub lexeme: String, [INFO] [stdout] 5 | pub literal: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 6 | pub line: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Token` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_token` is never used [INFO] [stdout] --> src/scanner.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn print_token(my_token: &Token) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/scanner.rs:16:3 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum TokenType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 15 | // Single-character tokens. [INFO] [stdout] 16 | LEFT_PAREN, RIGHT_PAREN, LEFT_BRACE, RIGHT_BRACE, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 17 | COMMA, DOT, MINUS, PLUS, SEMICOLON, SLASH, STAR, [INFO] [stdout] | ^^^^^ ^^^ ^^^^ ^^^^^^^^^ ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | BANG, BANG_EQUAL, [INFO] [stdout] | ^^^^ ^^^^^^^^^^ [INFO] [stdout] 21 | EQUAL, EQUAL_EQUAL, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 22 | GREATER, GREATER_EQUAL, [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] 23 | LESS, LESS_EQUAL, [INFO] [stdout] | ^^^^ ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | IDENTIFIER, STRING, NUMBER, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^ ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | AND, CLASS, ELSE, FALSE, FUN, FOR, IF, NIL, OR, [INFO] [stdout] | ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ ^^^ ^^ ^^^ ^^ [INFO] [stdout] 30 | PRINT, RETURN, SUPER, THIS, TRUE, VAR, WHILE, [INFO] [stdout] | ^^^^^ ^^^^^^ ^^^^^ ^^^^ ^^^^ ^^^ ^^^^^ [INFO] [stdout] 31 | [INFO] [stdout] 32 | EOF, [INFO] [stdout] | ^^^ [INFO] [stdout] 33 | UNKNOWN [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Scanner` is never constructed [INFO] [stdout] --> src/scanner.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | struct Scanner { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/scanner.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 44 | impl Scanner { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 45 | pub fn new(source: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn scan_tokens(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | fn peek(&self) -> char { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | fn scan_token(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | fn match_char(&mut self, expected: char) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | fn advance(&mut self) -> char { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | fn add_token(&mut self, token_type: TokenType, literal: Option) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | fn is_at_end(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 183 | fn string(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | fn number(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 222 | fn identifier(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 244 | fn keyword_type(&self, text: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `scanner_main` is never used [INFO] [stdout] --> src/scanner.rs:267:8 [INFO] [stdout] | [INFO] [stdout] 267 | pub fn scanner_main(source: &str) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Parser` is never constructed [INFO] [stdout] --> src/parser.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Parser { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Node` is never constructed [INFO] [stdout] --> src/parser.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Node { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `StringValue`, `True`, `False`, and `Nil` are never constructed [INFO] [stdout] --> src/expr.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum LiteralValue { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] 10 | Number(f32), [INFO] [stdout] 11 | StringValue(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 12 | True, [INFO] [stdout] | ^^^^ [INFO] [stdout] 13 | False, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 14 | Nil [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.18s [INFO] running `Command { std: "docker" "inspect" "a330d5d022eb05f5167dc06c744f126f574d93e7bbcffeb2ab5d8ff63465204b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a330d5d022eb05f5167dc06c744f126f574d93e7bbcffeb2ab5d8ff63465204b", kill_on_drop: false }` [INFO] [stdout] a330d5d022eb05f5167dc06c744f126f574d93e7bbcffeb2ab5d8ff63465204b