[INFO] cloning repository https://github.com/mazuschlag/blox2 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mazuschlag/blox2" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmazuschlag%2Fblox2", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmazuschlag%2Fblox2'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 77b91044653fe13036cc9e48f7adf829a9f14164 [INFO] checking mazuschlag/blox2 against master#4ecd70ddd1039a3954056c1071e40278048476fa for pr-137633 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmazuschlag%2Fblox2" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/mazuschlag/blox2 on toolchain 4ecd70ddd1039a3954056c1071e40278048476fa [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4ecd70ddd1039a3954056c1071e40278048476fa" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-4-tc1/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/mazuschlag/blox2 [INFO] finished tweaking git repo https://github.com/mazuschlag/blox2 [INFO] tweaked toml for git repo https://github.com/mazuschlag/blox2 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/mazuschlag/blox2 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" "+4ecd70ddd1039a3954056c1071e40278048476fa" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+4ecd70ddd1039a3954056c1071e40278048476fa" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 72c65814c1058e9e149058dfc3c94868081c1407d755f7ffe5ce8a980c2f1719 [INFO] running `Command { std: "docker" "start" "-a" "72c65814c1058e9e149058dfc3c94868081c1407d755f7ffe5ce8a980c2f1719", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "72c65814c1058e9e149058dfc3c94868081c1407d755f7ffe5ce8a980c2f1719", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "72c65814c1058e9e149058dfc3c94868081c1407d755f7ffe5ce8a980c2f1719", kill_on_drop: false }` [INFO] [stdout] 72c65814c1058e9e149058dfc3c94868081c1407d755f7ffe5ce8a980c2f1719 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+4ecd70ddd1039a3954056c1071e40278048476fa" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3ffbeef2421de726dcd1522dc4f2b5171a63f304b7f0b8722164648090455178 [INFO] running `Command { std: "docker" "start" "-a" "3ffbeef2421de726dcd1522dc4f2b5171a63f304b7f0b8722164648090455178", kill_on_drop: false }` [INFO] [stderr] Checking blox2 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/vm.rs:113:25 [INFO] [stdout] | [INFO] [stdout] 112 | Value::Number(n) => self.stack.push(Value::Number(-n)), [INFO] [stdout] | ---------------- matches all the relevant values [INFO] [stdout] 113 | _ => return InterpretResult::RuntimeError(String::from("Cannot negate a non-number")) [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/vm.rs:113:25 [INFO] [stdout] | [INFO] [stdout] 112 | Value::Number(n) => self.stack.push(Value::Number(-n)), [INFO] [stdout] | ---------------- matches all the relevant values [INFO] [stdout] 113 | _ => return InterpretResult::RuntimeError(String::from("Cannot negate a non-number")) [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/vm.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 131 | (Value::Number(b), Value::Number(a)) => { [INFO] [stdout] | ------------------------------------ matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 135 | _ => Err(String::from("Operand must be a number")), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/vm.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 131 | (Value::Number(b), Value::Number(a)) => { [INFO] [stdout] | ------------------------------------ matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 135 | _ => Err(String::from("Operand must be a number")), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/chunk.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum OpCode { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 7 | Constant(usize), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 8 | Add, [INFO] [stdout] | ^^^ [INFO] [stdout] 9 | Subtract, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 10 | Multiply, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 11 | Divide, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 12 | Negate, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 13 | Return, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OpCode` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `write` and `add_constant` are never used [INFO] [stdout] --> src/chunk.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl Chunk { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn write(&mut self, byte: OpCode, line: usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn add_constant(&mut self, constant: Value) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `scanner` is never read [INFO] [stdout] --> src/compiler.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Compiler { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 7 | scanner: Scanner, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `source`, `start`, `current`, and `line` are never read [INFO] [stdout] --> src/scanner.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Scanner { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 5 | source: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 6 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 7 | current: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 8 | line: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Scanner` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/chunk.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum OpCode { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 7 | Constant(usize), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 8 | Add, [INFO] [stdout] | ^^^ [INFO] [stdout] 9 | Subtract, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 10 | Multiply, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 11 | Divide, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 12 | Negate, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 13 | Return, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OpCode` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `write` and `add_constant` are never used [INFO] [stdout] --> src/chunk.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl Chunk { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn write(&mut self, byte: OpCode, line: usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn add_constant(&mut self, constant: Value) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/scanner.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Scanner { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn scan_token(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn lexeme(&self, start: usize, length: usize) -> String { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn lexeme_at(&self, start: usize, length: usize) -> &[char] { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | fn skip_whitespace_and_comments(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | fn skip_comments(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | fn identifier_token(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | fn number_token(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | fn string_token(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | fn error_token(&self, message: &str) -> Token { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | fn make_token(&self, typ: TokenType) -> Token { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | fn advance(&mut self) -> char { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | fn check(&mut self, expected: char) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 202 | fn check_comment(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 219 | fn peek(&self) -> char { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | fn peek_next(&self) -> char { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | fn is_at_end(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 234 | fn identifier_type(&self) -> TokenType { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 312 | fn check_keyword(&self, rest: &str, typ: TokenType) -> TokenType { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `scanner` is never read [INFO] [stdout] --> src/compiler.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Compiler { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 7 | scanner: Scanner, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Token` is never constructed [INFO] [stdout] --> src/token.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Token { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `source`, `start`, `current`, and `line` are never read [INFO] [stdout] --> src/scanner.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Scanner { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 5 | source: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 6 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 7 | current: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 8 | line: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Scanner` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `empty` are never used [INFO] [stdout] --> src/token.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Token { [INFO] [stdout] | ---------- associated functions in this implementation [INFO] [stdout] 13 | pub fn new(typ: TokenType, start: usize, length: usize, line: usize, message: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn empty() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/scanner.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Scanner { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn scan_token(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn lexeme(&self, start: usize, length: usize) -> String { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn lexeme_at(&self, start: usize, length: usize) -> &[char] { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | fn skip_whitespace_and_comments(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | fn skip_comments(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | fn identifier_token(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | fn number_token(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | fn string_token(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | fn error_token(&self, message: &str) -> Token { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | fn make_token(&self, typ: TokenType) -> Token { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | fn advance(&mut self) -> char { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | fn check(&mut self, expected: char) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 202 | fn check_comment(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 219 | fn peek(&self) -> char { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | fn peek_next(&self) -> char { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | fn is_at_end(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 234 | fn identifier_type(&self) -> TokenType { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 312 | fn check_keyword(&self, rest: &str, typ: TokenType) -> TokenType { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Token` is never constructed [INFO] [stdout] --> src/token.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Token { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `empty` are never used [INFO] [stdout] --> src/token.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Token { [INFO] [stdout] | ---------- associated functions in this implementation [INFO] [stdout] 13 | pub fn new(typ: TokenType, start: usize, length: usize, line: usize, message: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn empty() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/token.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub enum TokenType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 30 | // Single character tokens [INFO] [stdout] 31 | LeftParen, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 32 | RightParen, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 33 | LeftBrace, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 34 | RightBrace, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 35 | Comma, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 36 | Dot, [INFO] [stdout] | ^^^ [INFO] [stdout] 37 | Minus, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 38 | Plus, [INFO] [stdout] | ^^^^ [INFO] [stdout] 39 | SemiColon, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 40 | Colon, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 41 | Slash, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 42 | Star, [INFO] [stdout] | ^^^^ [INFO] [stdout] 43 | // One or two character tokens [INFO] [stdout] 44 | Bang, [INFO] [stdout] | ^^^^ [INFO] [stdout] 45 | BangEqual, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 46 | Equal, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 47 | EqualEqual, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 48 | Greater, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 49 | GreaterEqual, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 50 | Less, [INFO] [stdout] | ^^^^ [INFO] [stdout] 51 | LessEqual, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 52 | // Literals [INFO] [stdout] 53 | Identifier, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 54 | Str, [INFO] [stdout] | ^^^ [INFO] [stdout] 55 | Number, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 56 | // Keywords [INFO] [stdout] 57 | And, [INFO] [stdout] | ^^^ [INFO] [stdout] 58 | Class, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 59 | Else, [INFO] [stdout] | ^^^^ [INFO] [stdout] 60 | False, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 61 | Fun, [INFO] [stdout] | ^^^ [INFO] [stdout] 62 | For, [INFO] [stdout] | ^^^ [INFO] [stdout] 63 | If, [INFO] [stdout] | ^^ [INFO] [stdout] 64 | Nil, [INFO] [stdout] | ^^^ [INFO] [stdout] 65 | Or, [INFO] [stdout] | ^^ [INFO] [stdout] 66 | Print, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 67 | Return, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 68 | Super, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 69 | This, [INFO] [stdout] | ^^^^ [INFO] [stdout] 70 | True, [INFO] [stdout] | ^^^^ [INFO] [stdout] 71 | Var, [INFO] [stdout] | ^^^ [INFO] [stdout] 72 | Val, [INFO] [stdout] | ^^^ [INFO] [stdout] 73 | Switch, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 74 | Case, [INFO] [stdout] | ^^^^ [INFO] [stdout] 75 | Default, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 76 | While, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 77 | Error, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 78 | Eof, [INFO] [stdout] | ^^^ [INFO] [stdout] 79 | None, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/token.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub enum TokenType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 30 | // Single character tokens [INFO] [stdout] 31 | LeftParen, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 32 | RightParen, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 33 | LeftBrace, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 34 | RightBrace, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 35 | Comma, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 36 | Dot, [INFO] [stdout] | ^^^ [INFO] [stdout] 37 | Minus, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 38 | Plus, [INFO] [stdout] | ^^^^ [INFO] [stdout] 39 | SemiColon, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 40 | Colon, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 41 | Slash, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 42 | Star, [INFO] [stdout] | ^^^^ [INFO] [stdout] 43 | // One or two character tokens [INFO] [stdout] 44 | Bang, [INFO] [stdout] | ^^^^ [INFO] [stdout] 45 | BangEqual, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 46 | Equal, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 47 | EqualEqual, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 48 | Greater, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 49 | GreaterEqual, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 50 | Less, [INFO] [stdout] | ^^^^ [INFO] [stdout] 51 | LessEqual, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 52 | // Literals [INFO] [stdout] 53 | Identifier, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 54 | Str, [INFO] [stdout] | ^^^ [INFO] [stdout] 55 | Number, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 56 | // Keywords [INFO] [stdout] 57 | And, [INFO] [stdout] | ^^^ [INFO] [stdout] 58 | Class, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 59 | Else, [INFO] [stdout] | ^^^^ [INFO] [stdout] 60 | False, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 61 | Fun, [INFO] [stdout] | ^^^ [INFO] [stdout] 62 | For, [INFO] [stdout] | ^^^ [INFO] [stdout] 63 | If, [INFO] [stdout] | ^^ [INFO] [stdout] 64 | Nil, [INFO] [stdout] | ^^^ [INFO] [stdout] 65 | Or, [INFO] [stdout] | ^^ [INFO] [stdout] 66 | Print, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 67 | Return, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 68 | Super, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 69 | This, [INFO] [stdout] | ^^^^ [INFO] [stdout] 70 | True, [INFO] [stdout] | ^^^^ [INFO] [stdout] 71 | Var, [INFO] [stdout] | ^^^ [INFO] [stdout] 72 | Val, [INFO] [stdout] | ^^^ [INFO] [stdout] 73 | Switch, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 74 | Case, [INFO] [stdout] | ^^^^ [INFO] [stdout] 75 | Default, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 76 | While, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 77 | Error, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 78 | Eof, [INFO] [stdout] | ^^^ [INFO] [stdout] 79 | None, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.16s [INFO] running `Command { std: "docker" "inspect" "3ffbeef2421de726dcd1522dc4f2b5171a63f304b7f0b8722164648090455178", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3ffbeef2421de726dcd1522dc4f2b5171a63f304b7f0b8722164648090455178", kill_on_drop: false }` [INFO] [stdout] 3ffbeef2421de726dcd1522dc4f2b5171a63f304b7f0b8722164648090455178