[INFO] cloning repository https://github.com/VengeQ/Aho_compliers_exercises [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/VengeQ/Aho_compliers_exercises" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVengeQ%2FAho_compliers_exercises", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVengeQ%2FAho_compliers_exercises'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2ade23bb0f3fdc1d61c5155f218277987741d3cb [INFO] checking VengeQ/Aho_compliers_exercises/2ade23bb0f3fdc1d61c5155f218277987741d3cb against master#ab869e094a907cc5d19b4080f22eccaf347f1f95 for pr-129604 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVengeQ%2FAho_compliers_exercises" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/VengeQ/Aho_compliers_exercises on toolchain ab869e094a907cc5d19b4080f22eccaf347f1f95 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/VengeQ/Aho_compliers_exercises [INFO] finished tweaking git repo https://github.com/VengeQ/Aho_compliers_exercises [INFO] tweaked toml for git repo https://github.com/VengeQ/Aho_compliers_exercises written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/VengeQ/Aho_compliers_exercises 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" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b50614c32abadb9eb9e84501af2d9f14f0b30e4a69953607cf86da85ee849c6a [INFO] running `Command { std: "docker" "start" "-a" "b50614c32abadb9eb9e84501af2d9f14f0b30e4a69953607cf86da85ee849c6a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b50614c32abadb9eb9e84501af2d9f14f0b30e4a69953607cf86da85ee849c6a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b50614c32abadb9eb9e84501af2d9f14f0b30e4a69953607cf86da85ee849c6a", kill_on_drop: false }` [INFO] [stdout] b50614c32abadb9eb9e84501af2d9f14f0b30e4a69953607cf86da85ee849c6a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2db4389b3708f6a807c1090d908c940d4ed3fbf9e7c87f731cc1afe05bb1b2c7 [INFO] running `Command { std: "docker" "start" "-a" "2db4389b3708f6a807c1090d908c940d4ed3fbf9e7c87f731cc1afe05bb1b2c7", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v2.2.1 [INFO] [stderr] Checking lazy_static v1.3.0 [INFO] [stderr] Checking regex-syntax v0.6.11 [INFO] [stderr] Checking thread_local v0.3.6 [INFO] [stderr] Checking aho-corasick v0.7.6 [INFO] [stderr] Checking regex v1.2.1 [INFO] [stderr] Checking aho_compilers v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> src/part2/lexer.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/part2/lexer.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | (self.num.to_string()) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 69 - (self.num.to_string()) [INFO] [stdout] 69 + self.num.to_string() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::DerefMut` [INFO] [stdout] --> src/part2/symbols_table.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::ops::DerefMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::Chars` [INFO] [stdout] --> src/part3/extended_lexer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::str::Chars; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::min` [INFO] [stdout] --> src/part3/extended_lexer.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::min; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/part2/lexer.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | (self.num.to_string()) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 69 - (self.num.to_string()) [INFO] [stdout] 69 + self.num.to_string() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/part2/lexer.rs:344:13 [INFO] [stdout] | [INFO] [stdout] 344 | ; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::DerefMut` [INFO] [stdout] --> src/part2/symbols_table.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::ops::DerefMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::Chars` [INFO] [stdout] --> src/part3/extended_lexer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::str::Chars; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::min` [INFO] [stdout] --> src/part3/extended_lexer.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::min; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/part3/extended_lexer.rs:193:9 [INFO] [stdout] | [INFO] [stdout] 193 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/part3/extended_lexer.rs:108:29 [INFO] [stdout] | [INFO] [stdout] 108 | fn scan_test(&mut self, input: String) -> Token { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [INFO] [stdout] --> src/lib.rs:4:4 [INFO] [stdout] | [INFO] [stdout] 4 | fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `lookahead` and `string` are never read [INFO] [stdout] --> src/part2/simple_translator.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | struct SimpleTranslator<'a> { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 5 | lookahead: char, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 6 | string: Chars<'a>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_string`, `expr`, `term`, and `matcher` are never used [INFO] [stdout] --> src/part2/simple_translator.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl<'a> SimpleTranslator<'a> { [INFO] [stdout] | ----------------------------- associated items in this implementation [INFO] [stdout] 11 | pub fn from_string(input: &'a str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn expr(&mut self) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | fn term(&mut self) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | fn matcher(&mut self, t: char) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Tag` is never used [INFO] [stdout] --> src/part2/lexer.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | enum Tag { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `tag` is never used [INFO] [stdout] --> src/part2/lexer.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 23 | trait Token { [INFO] [stdout] | ----- method in this trait [INFO] [stdout] 24 | fn tag(&self) -> &Tag; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Word` is never constructed [INFO] [stdout] --> src/part2/lexer.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | struct Word { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/part2/lexer.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl Word { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 41 | pub fn new(tag: Tag, word: String) -> Self { Word { tag, word } } [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Num` is never constructed [INFO] [stdout] --> src/part2/lexer.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | struct Num { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/part2/lexer.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl Num { [INFO] [stdout] | -------- associated function in this implementation [INFO] [stdout] 61 | pub fn new(value: i32) -> Self { Num { tag: Tag::NUM, num: value } } [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Words` is never used [INFO] [stdout] --> src/part2/lexer.rs:74:6 [INFO] [stdout] | [INFO] [stdout] 74 | type Words = HashMap; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Lines` is never used [INFO] [stdout] --> src/part2/lexer.rs:75:6 [INFO] [stdout] | [INFO] [stdout] 75 | type Lines = HashMap>>>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lexer` is never constructed [INFO] [stdout] --> src/part2/lexer.rs:77:8 [INFO] [stdout] | [INFO] [stdout] 77 | struct Lexer { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `reserve`, `read_char_or_return_eof`, `return_ptr`, `full_scan`, and `scan` are never used [INFO] [stdout] --> src/part2/lexer.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 88 | impl Lexer { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 89 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | fn reserve(&mut self, word: Word) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | fn read_char_or_return_eof(&mut self, input: &mut Chars) -> char { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | fn return_ptr(&mut self, input: &mut Chars) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn full_scan(&mut self, input: &str) -> &Lines { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | pub fn scan(&mut self, input: &str) -> Box { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Env` is never constructed [INFO] [stdout] --> src/part2/symbols_table.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | struct Env { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Env` has a derived impl for the trait `Default`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `insert`, and `get` are never used [INFO] [stdout] --> src/part2/symbols_table.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Env { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 13 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn insert(&mut self, key: &str, sym: String) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn get(&self, key: &str) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `aho_corasick_failure` is never used [INFO] [stdout] --> src/part3.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn aho_corasick_failure(input: &str) -> String{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Token` is never constructed [INFO] [stdout] --> src/part3/extended_lexer.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | struct Token(String); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `token` and `from_str` are never used [INFO] [stdout] --> src/part3/extended_lexer.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 22 | impl Token { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 23 | fn token(&self) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | fn from_str(s: &str) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Buffer` is never used [INFO] [stdout] --> src/part3/extended_lexer.rs:32:6 [INFO] [stdout] | [INFO] [stdout] 32 | enum Buffer { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BUFFERSIZE` is never used [INFO] [stdout] --> src/part3/extended_lexer.rs:37:7 [INFO] [stdout] | [INFO] [stdout] 37 | const BUFFERSIZE:usize=2048; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lexer` is never constructed [INFO] [stdout] --> src/part3/extended_lexer.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | struct Lexer { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/part3/extended_lexer.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 57 | impl<'a> Lexer { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 58 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | fn cur_buffer(&self) -> [char; BUFFERSIZE] { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | fn init_regex() -> HashMap { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | fn init_buffer(&mut self, input: String) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | fn change_buffer(&mut self, input: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | fn scan_test(&mut self, input: String) -> Token { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | fn is_eof(&mut self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn scan(&mut self, input: &str) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 183 | fn update_buffer() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused comparison that must be used [INFO] [stdout] --> src/part3/extended_lexer.rs:102:17 [INFO] [stdout] | [INFO] [stdout] 102 | self.buffer == Buffer::B; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 102 | let _ = self.buffer == Buffer::B; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 29 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expected` [INFO] [stdout] --> src/part2/symbols_table.rs:43:13 [INFO] [stdout] | [INFO] [stdout] 43 | let expected: Option = None; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/part3/extended_lexer.rs:108:29 [INFO] [stdout] | [INFO] [stdout] 108 | fn scan_test(&mut self, input: String) -> Token { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `tag` is never used [INFO] [stdout] --> src/part2/lexer.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 23 | trait Token { [INFO] [stdout] | ----- method in this trait [INFO] [stdout] 24 | fn tag(&self) -> &Tag; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Lines` is never used [INFO] [stdout] --> src/part2/lexer.rs:75:6 [INFO] [stdout] | [INFO] [stdout] 75 | type Lines = HashMap>>>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `full_scan` is never used [INFO] [stdout] --> src/part2/lexer.rs:123:12 [INFO] [stdout] | [INFO] [stdout] 88 | impl Lexer { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn full_scan(&mut self, input: &str) -> &Lines { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `update_buffer` is never used [INFO] [stdout] --> src/part3/extended_lexer.rs:183:8 [INFO] [stdout] | [INFO] [stdout] 57 | impl<'a> Lexer { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 183 | fn update_buffer() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused comparison that must be used [INFO] [stdout] --> src/part3/extended_lexer.rs:102:17 [INFO] [stdout] | [INFO] [stdout] 102 | self.buffer == Buffer::B; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 102 | let _ = self.buffer == Buffer::B; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 13 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.96s [INFO] running `Command { std: "docker" "inspect" "2db4389b3708f6a807c1090d908c940d4ed3fbf9e7c87f731cc1afe05bb1b2c7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2db4389b3708f6a807c1090d908c940d4ed3fbf9e7c87f731cc1afe05bb1b2c7", kill_on_drop: false }` [INFO] [stdout] 2db4389b3708f6a807c1090d908c940d4ed3fbf9e7c87f731cc1afe05bb1b2c7