[INFO] cloning repository https://github.com/rodrigobaraglia/iridii [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rodrigobaraglia/iridii" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frodrigobaraglia%2Firidii", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frodrigobaraglia%2Firidii'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c7bf556bfbdbbd69fc5c884b0a604875a90cd507 [INFO] checking rodrigobaraglia/iridii against try#29194e8f603400afdb2f86c9418e9fccb1628ea0 for pr-135331-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frodrigobaraglia%2Firidii" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/rodrigobaraglia/iridii [INFO] finished tweaking git repo https://github.com/rodrigobaraglia/iridii [INFO] tweaked toml for git repo https://github.com/rodrigobaraglia/iridii written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/rodrigobaraglia/iridii on toolchain 29194e8f603400afdb2f86c9418e9fccb1628ea0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+29194e8f603400afdb2f86c9418e9fccb1628ea0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/rodrigobaraglia/iridii 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" "+29194e8f603400afdb2f86c9418e9fccb1628ea0" "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 [ERROR] error running command: no output for 300 seconds [INFO] checking rodrigobaraglia/iridii against try#29194e8f603400afdb2f86c9418e9fccb1628ea0 for pr-135331-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frodrigobaraglia%2Firidii" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/rodrigobaraglia/iridii [INFO] finished tweaking git repo https://github.com/rodrigobaraglia/iridii [INFO] tweaked toml for git repo https://github.com/rodrigobaraglia/iridii written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/rodrigobaraglia/iridii on toolchain 29194e8f603400afdb2f86c9418e9fccb1628ea0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+29194e8f603400afdb2f86c9418e9fccb1628ea0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/rodrigobaraglia/iridii 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" "+29194e8f603400afdb2f86c9418e9fccb1628ea0" "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-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+29194e8f603400afdb2f86c9418e9fccb1628ea0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 034e6535ef353029b596fbf50e9a943d3174ba07f5436bbcd7c13dba2dd217ea [INFO] running `Command { std: "docker" "start" "-a" "034e6535ef353029b596fbf50e9a943d3174ba07f5436bbcd7c13dba2dd217ea", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "034e6535ef353029b596fbf50e9a943d3174ba07f5436bbcd7c13dba2dd217ea", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "034e6535ef353029b596fbf50e9a943d3174ba07f5436bbcd7c13dba2dd217ea", kill_on_drop: false }` [INFO] [stdout] 034e6535ef353029b596fbf50e9a943d3174ba07f5436bbcd7c13dba2dd217ea [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+29194e8f603400afdb2f86c9418e9fccb1628ea0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1e1578fe6cc31620e1ee16bfcdf1fe79e467e9c2e5720ca0c4c005c0d2520088 [INFO] running `Command { std: "docker" "start" "-a" "1e1578fe6cc31620e1ee16bfcdf1fe79e467e9c2e5720ca0c4c005c0d2520088", kill_on_drop: false }` [INFO] [stderr] Checking iridium v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: type alias `Op` is never used [INFO] [stdout] --> src/assembler/lex.rs:4:6 [INFO] [stdout] | [INFO] [stdout] 4 | type Op = Opcode; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Tok` is never used [INFO] [stdout] --> src/assembler/lex.rs:5:6 [INFO] [stdout] | [INFO] [stdout] 5 | type Tok = Token; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Instruction` is never constructed [INFO] [stdout] --> src/assembler/lex.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Instruction { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Operands` is never constructed [INFO] [stdout] --> src/assembler/lex.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | struct Operands([Option; 3]); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `read_instruction` is never used [INFO] [stdout] --> src/assembler/lex.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 25 | impl Lexer<'_> { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 26 | fn read_instruction(&mut self) -> Instruction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Program` is never constructed [INFO] [stdout] --> src/assembler/lex.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct Program(Vec); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_integer` is never used [INFO] [stdout] --> src/assembler/lex.rs:41:4 [INFO] [stdout] | [INFO] [stdout] 41 | fn parse_integer(i: i32) -> (u8, u8) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parse_operand` is never used [INFO] [stdout] --> src/assembler/lex.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 47 | impl Token { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 48 | fn parse_operand(self, operands: &mut Vec) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_bytes` is never used [INFO] [stdout] --> src/assembler/lex.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 62 | impl Instruction { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] 63 | pub fn to_bytes(&self) -> Result, &'static str> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Token` is never used [INFO] [stdout] --> src/assembler/token.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum Token { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_letter` is never used [INFO] [stdout] --> src/assembler/token.rs:68:4 [INFO] [stdout] | [INFO] [stdout] 68 | fn is_letter(ch: char) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_digit` is never used [INFO] [stdout] --> src/assembler/token.rs:72:4 [INFO] [stdout] | [INFO] [stdout] 72 | fn is_digit(ch: char) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_whitespace` is never used [INFO] [stdout] --> src/assembler/token.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn is_whitespace(ch: char) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cursor` is never constructed [INFO] [stdout] --> src/assembler/token.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | struct Cursor<'a>(Chars<'a>); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lexer` is never constructed [INFO] [stdout] --> src/assembler/token.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 83 | pub struct Lexer<'a> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/assembler/token.rs:95:12 [INFO] [stdout] | [INFO] [stdout] 94 | impl Lexer<'_> { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 95 | pub fn new(input: &String) -> Lexer { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | fn read_char(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | fn read_while(&mut self, predicate: impl Fn(char) -> bool) -> (usize, usize, usize, usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | fn read_identifier(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | fn read_integer(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | fn read_register(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | fn skip_whitespace(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn next_token(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ILGL` is never used [INFO] [stdout] --> src/assembler/token.rs:60:15 [INFO] [stdout] | [INFO] [stdout] 60 | pub const ILGL: &'static str = "ilgl"; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REGISTER` is never used [INFO] [stdout] --> src/assembler/token.rs:64:15 [INFO] [stdout] | [INFO] [stdout] 64 | pub const REGISTER: char = '$'; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VALUE` is never used [INFO] [stdout] --> src/assembler/token.rs:65:15 [INFO] [stdout] | [INFO] [stdout] 65 | pub const VALUE: char = '#'; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_integer` is never used [INFO] [stdout] --> src/assembler/parser.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn parse_integer(i: i32) -> (u8, u8) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Parser` is never constructed [INFO] [stdout] --> src/assembler/parser.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | struct Parser<'a> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/assembler/parser.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl<'a> Parser<'a> { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 33 | pub fn new(input: &'a String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | fn register(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | fn integer(&mut self) -> Result<(u8, u8), &'static str> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | fn integer_op(&mut self, op: Opcode) -> Result<[u8; 4], &'static str> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | fn nullary_op(&mut self, op: Opcode) -> Result<[u8; 4], &'static str> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | fn binary_op(&mut self, op: Opcode) -> Result<[u8; 4], &'static str> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | fn next_instruction(&mut self) -> Result<[u8; 4], &'static str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `integer_for_register` is never used [INFO] [stdout] --> src/assembler/parser.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | pub const integer_for_register: &'static str = "syntax error: expected register, found integer"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `operator_for_register` is never used [INFO] [stdout] --> src/assembler/parser.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | pub const operator_for_register: &'static str = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `register_for_integer` is never used [INFO] [stdout] --> src/assembler/parser.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | pub const register_for_integer: &'static str = "syntax error: expected integer, found register"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `operator_for_integer` is never used [INFO] [stdout] --> src/assembler/parser.rs:9:15 [INFO] [stdout] | [INFO] [stdout] 9 | pub const operator_for_integer: &'static str = "syntax error: expected integer, found operator"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `heap` is never read [INFO] [stdout] --> src/vm.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct VM { [INFO] [stdout] | -- field in this struct [INFO] [stdout] ... [INFO] [stdout] 9 | heap: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `alloc` is never used [INFO] [stdout] --> src/vm.rs:163:8 [INFO] [stdout] | [INFO] [stdout] 16 | impl VM { [INFO] [stdout] | ------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 163 | fn alloc(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/assembler/token.rs:95:23 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn new(input: &String) -> Lexer { [INFO] [stdout] | ^^^^^^^ ----- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 95 | pub fn new(input: &String) -> Lexer<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `integer_for_register` should have an upper case name [INFO] [stdout] --> src/assembler/parser.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | pub const integer_for_register: &'static str = "syntax error: expected register, found integer"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] help: convert the identifier to upper case [INFO] [stdout] | [INFO] [stdout] 5 - pub const integer_for_register: &'static str = "syntax error: expected register, found integer"; [INFO] [stdout] 5 + pub const INTEGER_FOR_REGISTER: &'static str = "syntax error: expected register, found integer"; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `operator_for_register` should have an upper case name [INFO] [stdout] --> src/assembler/parser.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | pub const operator_for_register: &'static str = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: convert the identifier to upper case [INFO] [stdout] | [INFO] [stdout] 6 - pub const operator_for_register: &'static str = [INFO] [stdout] 6 + pub const OPERATOR_FOR_REGISTER: &'static str = [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `register_for_integer` should have an upper case name [INFO] [stdout] --> src/assembler/parser.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | pub const register_for_integer: &'static str = "syntax error: expected integer, found register"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: convert the identifier to upper case [INFO] [stdout] | [INFO] [stdout] 8 - pub const register_for_integer: &'static str = "syntax error: expected integer, found register"; [INFO] [stdout] 8 + pub const REGISTER_FOR_INTEGER: &'static str = "syntax error: expected integer, found register"; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `operator_for_integer` should have an upper case name [INFO] [stdout] --> src/assembler/parser.rs:9:15 [INFO] [stdout] | [INFO] [stdout] 9 | pub const operator_for_integer: &'static str = "syntax error: expected integer, found operator"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: convert the identifier to upper case [INFO] [stdout] | [INFO] [stdout] 9 - pub const operator_for_integer: &'static str = "syntax error: expected integer, found operator"; [INFO] [stdout] 9 + pub const OPERATOR_FOR_INTEGER: &'static str = "syntax error: expected integer, found operator"; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/vm.rs:223:20 [INFO] [stdout] | [INFO] [stdout] 223 | pub fn program(&self) -> Iter { [INFO] [stdout] | ^^^^^ -------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 223 | pub fn program(&self) -> Iter<'_, u8> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/vm.rs:227:22 [INFO] [stdout] | [INFO] [stdout] 227 | pub fn registers(&self) -> Iter { [INFO] [stdout] | ^^^^^ --------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 227 | pub fn registers(&self) -> Iter<'_, i32> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Op` is never used [INFO] [stdout] --> src/assembler/lex.rs:4:6 [INFO] [stdout] | [INFO] [stdout] 4 | type Op = Opcode; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Tok` is never used [INFO] [stdout] --> src/assembler/lex.rs:5:6 [INFO] [stdout] | [INFO] [stdout] 5 | type Tok = Token; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Instruction` is never constructed [INFO] [stdout] --> src/assembler/lex.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Instruction { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Operands` is never constructed [INFO] [stdout] --> src/assembler/lex.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | struct Operands([Option; 3]); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `read_instruction` is never used [INFO] [stdout] --> src/assembler/lex.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 25 | impl Lexer<'_> { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 26 | fn read_instruction(&mut self) -> Instruction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Program` is never constructed [INFO] [stdout] --> src/assembler/lex.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct Program(Vec); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_integer` is never used [INFO] [stdout] --> src/assembler/lex.rs:41:4 [INFO] [stdout] | [INFO] [stdout] 41 | fn parse_integer(i: i32) -> (u8, u8) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parse_operand` is never used [INFO] [stdout] --> src/assembler/lex.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 47 | impl Token { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 48 | fn parse_operand(self, operands: &mut Vec) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_bytes` is never used [INFO] [stdout] --> src/assembler/lex.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 62 | impl Instruction { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] 63 | pub fn to_bytes(&self) -> Result, &'static str> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Token` is never used [INFO] [stdout] --> src/assembler/token.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum Token { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_letter` is never used [INFO] [stdout] --> src/assembler/token.rs:68:4 [INFO] [stdout] | [INFO] [stdout] 68 | fn is_letter(ch: char) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_digit` is never used [INFO] [stdout] --> src/assembler/token.rs:72:4 [INFO] [stdout] | [INFO] [stdout] 72 | fn is_digit(ch: char) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_whitespace` is never used [INFO] [stdout] --> src/assembler/token.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn is_whitespace(ch: char) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cursor` is never constructed [INFO] [stdout] --> src/assembler/token.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | struct Cursor<'a>(Chars<'a>); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lexer` is never constructed [INFO] [stdout] --> src/assembler/token.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 83 | pub struct Lexer<'a> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/assembler/token.rs:95:12 [INFO] [stdout] | [INFO] [stdout] 94 | impl Lexer<'_> { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 95 | pub fn new(input: &String) -> Lexer { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | fn read_char(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | fn read_while(&mut self, predicate: impl Fn(char) -> bool) -> (usize, usize, usize, usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | fn read_identifier(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | fn read_integer(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | fn read_register(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | fn skip_whitespace(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn next_token(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ILGL` is never used [INFO] [stdout] --> src/assembler/token.rs:60:15 [INFO] [stdout] | [INFO] [stdout] 60 | pub const ILGL: &'static str = "ilgl"; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REGISTER` is never used [INFO] [stdout] --> src/assembler/token.rs:64:15 [INFO] [stdout] | [INFO] [stdout] 64 | pub const REGISTER: char = '$'; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VALUE` is never used [INFO] [stdout] --> src/assembler/token.rs:65:15 [INFO] [stdout] | [INFO] [stdout] 65 | pub const VALUE: char = '#'; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_integer` is never used [INFO] [stdout] --> src/assembler/parser.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn parse_integer(i: i32) -> (u8, u8) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Parser` is never constructed [INFO] [stdout] --> src/assembler/parser.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | struct Parser<'a> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/assembler/parser.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl<'a> Parser<'a> { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 33 | pub fn new(input: &'a String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | fn register(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | fn integer(&mut self) -> Result<(u8, u8), &'static str> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | fn integer_op(&mut self, op: Opcode) -> Result<[u8; 4], &'static str> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | fn nullary_op(&mut self, op: Opcode) -> Result<[u8; 4], &'static str> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | fn binary_op(&mut self, op: Opcode) -> Result<[u8; 4], &'static str> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | fn next_instruction(&mut self) -> Result<[u8; 4], &'static str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `integer_for_register` is never used [INFO] [stdout] --> src/assembler/parser.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | pub const integer_for_register: &'static str = "syntax error: expected register, found integer"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `operator_for_register` is never used [INFO] [stdout] --> src/assembler/parser.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | pub const operator_for_register: &'static str = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `register_for_integer` is never used [INFO] [stdout] --> src/assembler/parser.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | pub const register_for_integer: &'static str = "syntax error: expected integer, found register"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `operator_for_integer` is never used [INFO] [stdout] --> src/assembler/parser.rs:9:15 [INFO] [stdout] | [INFO] [stdout] 9 | pub const operator_for_integer: &'static str = "syntax error: expected integer, found operator"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `heap` is never read [INFO] [stdout] --> src/vm.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct VM { [INFO] [stdout] | -- field in this struct [INFO] [stdout] ... [INFO] [stdout] 9 | heap: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `alloc` is never used [INFO] [stdout] --> src/vm.rs:163:8 [INFO] [stdout] | [INFO] [stdout] 16 | impl VM { [INFO] [stdout] | ------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 163 | fn alloc(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/assembler/token.rs:95:23 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn new(input: &String) -> Lexer { [INFO] [stdout] | ^^^^^^^ ----- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 95 | pub fn new(input: &String) -> Lexer<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `integer_for_register` should have an upper case name [INFO] [stdout] --> src/assembler/parser.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | pub const integer_for_register: &'static str = "syntax error: expected register, found integer"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] help: convert the identifier to upper case [INFO] [stdout] | [INFO] [stdout] 5 - pub const integer_for_register: &'static str = "syntax error: expected register, found integer"; [INFO] [stdout] 5 + pub const INTEGER_FOR_REGISTER: &'static str = "syntax error: expected register, found integer"; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `operator_for_register` should have an upper case name [INFO] [stdout] --> src/assembler/parser.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | pub const operator_for_register: &'static str = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: convert the identifier to upper case [INFO] [stdout] | [INFO] [stdout] 6 - pub const operator_for_register: &'static str = [INFO] [stdout] 6 + pub const OPERATOR_FOR_REGISTER: &'static str = [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `register_for_integer` should have an upper case name [INFO] [stdout] --> src/assembler/parser.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | pub const register_for_integer: &'static str = "syntax error: expected integer, found register"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: convert the identifier to upper case [INFO] [stdout] | [INFO] [stdout] 8 - pub const register_for_integer: &'static str = "syntax error: expected integer, found register"; [INFO] [stdout] 8 + pub const REGISTER_FOR_INTEGER: &'static str = "syntax error: expected integer, found register"; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `operator_for_integer` should have an upper case name [INFO] [stdout] --> src/assembler/parser.rs:9:15 [INFO] [stdout] | [INFO] [stdout] 9 | pub const operator_for_integer: &'static str = "syntax error: expected integer, found operator"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: convert the identifier to upper case [INFO] [stdout] | [INFO] [stdout] 9 - pub const operator_for_integer: &'static str = "syntax error: expected integer, found operator"; [INFO] [stdout] 9 + pub const OPERATOR_FOR_INTEGER: &'static str = "syntax error: expected integer, found operator"; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/vm.rs:223:20 [INFO] [stdout] | [INFO] [stdout] 223 | pub fn program(&self) -> Iter { [INFO] [stdout] | ^^^^^ -------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 223 | pub fn program(&self) -> Iter<'_, u8> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/vm.rs:227:22 [INFO] [stdout] | [INFO] [stdout] 227 | pub fn registers(&self) -> Iter { [INFO] [stdout] | ^^^^^ --------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 227 | pub fn registers(&self) -> Iter<'_, i32> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.32s [INFO] running `Command { std: "docker" "inspect" "1e1578fe6cc31620e1ee16bfcdf1fe79e467e9c2e5720ca0c4c005c0d2520088", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1e1578fe6cc31620e1ee16bfcdf1fe79e467e9c2e5720ca0c4c005c0d2520088", kill_on_drop: false }` [INFO] [stdout] 1e1578fe6cc31620e1ee16bfcdf1fe79e467e9c2e5720ca0c4c005c0d2520088