[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] testing VengeQ/Aho_compliers_exercises against 1.60.0 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVengeQ%2FAho_compliers_exercises" "/workspace/builds/worker-117/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-117/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/VengeQ/Aho_compliers_exercises on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "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-117/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: "/workspace/cargo-home/bin/cargo" "+1.60.0" "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] [stderr] Downloading crates ... [INFO] [stderr] Downloaded regex-syntax v0.6.11 [INFO] [stderr] Downloaded aho-corasick v0.7.6 [INFO] [stderr] Downloaded regex v1.2.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-117/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-117/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 83870fb321e1d0df3423be53c42a6f44454fb4729b63f5cf1de871fe383b03be [INFO] running `Command { std: "docker" "start" "-a" "83870fb321e1d0df3423be53c42a6f44454fb4729b63f5cf1de871fe383b03be", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "83870fb321e1d0df3423be53c42a6f44454fb4729b63f5cf1de871fe383b03be", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "83870fb321e1d0df3423be53c42a6f44454fb4729b63f5cf1de871fe383b03be", kill_on_drop: false }` [INFO] [stdout] 83870fb321e1d0df3423be53c42a6f44454fb4729b63f5cf1de871fe383b03be [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-117/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-117/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 25609dd1d21c82f01a8c60d659394da2a3f1ffc50eab6c8306208cd0753a8dfe [INFO] running `Command { std: "docker" "start" "-a" "25609dd1d21c82f01a8c60d659394da2a3f1ffc50eab6c8306208cd0753a8dfe", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling memchr v2.2.1 [INFO] [stderr] Compiling lazy_static v1.3.0 [INFO] [stderr] Compiling regex-syntax v0.6.11 [INFO] [stderr] Compiling thread_local v0.3.6 [INFO] [stderr] Compiling aho-corasick v0.7.6 [INFO] [stderr] Compiling regex v1.2.1 [INFO] [stderr] Compiling 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: 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 is never used: `main` [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: function is never used: `aho_corasick_failure` [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: field is never read: `lookahead` [INFO] [stdout] --> src/part2/simple_translator.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | lookahead: char, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `string` [INFO] [stdout] --> src/part2/simple_translator.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | string: Chars<'a>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `from_string` [INFO] [stdout] --> src/part2/simple_translator.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn from_string(input: &'a str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `expr` [INFO] [stdout] --> src/part2/simple_translator.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn expr(&mut self) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `term` [INFO] [stdout] --> src/part2/simple_translator.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | fn term(&mut self) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `matcher` [INFO] [stdout] --> src/part2/simple_translator.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | fn matcher(&mut self, t: char) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `NUM` [INFO] [stdout] --> src/part2/lexer.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | NUM, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `Tag` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/part2/lexer.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Ord, PartialOrd, PartialEq, Eq, Hash, Clone)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ID` [INFO] [stdout] --> src/part2/lexer.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | ID, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] note: `Tag` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/part2/lexer.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Ord, PartialOrd, PartialEq, Eq, Hash, Clone)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `FALSE` [INFO] [stdout] --> src/part2/lexer.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | FALSE, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Tag` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/part2/lexer.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Ord, PartialOrd, PartialEq, Eq, Hash, Clone)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `TRUE` [INFO] [stdout] --> src/part2/lexer.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | TRUE, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Tag` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/part2/lexer.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Ord, PartialOrd, PartialEq, Eq, Hash, Clone)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `OP` [INFO] [stdout] --> src/part2/lexer.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | OP, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] note: `Tag` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/part2/lexer.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Ord, PartialOrd, PartialEq, Eq, Hash, Clone)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `EOF` [INFO] [stdout] --> src/part2/lexer.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | EOF [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `Tag` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/part2/lexer.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Ord, PartialOrd, PartialEq, Eq, Hash, Clone)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/part2/lexer.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn new(tag: Tag, word: String) -> Self { Word { tag, word } } [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/part2/lexer.rs:61:12 [INFO] [stdout] | [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 is never used: `Words` [INFO] [stdout] --> src/part2/lexer.rs:74:1 [INFO] [stdout] | [INFO] [stdout] 74 | type Words = HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `Lines` [INFO] [stdout] --> src/part2/lexer.rs:75:1 [INFO] [stdout] | [INFO] [stdout] 75 | type Lines = HashMap>>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Lexer` [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 function is never used: `new` [INFO] [stdout] --> src/part2/lexer.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `reserve` [INFO] [stdout] --> src/part2/lexer.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | fn reserve(&mut self, word: Word) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `read_char_or_return_eof` [INFO] [stdout] --> src/part2/lexer.rs:108:8 [INFO] [stdout] | [INFO] [stdout] 108 | fn read_char_or_return_eof(&mut self, input: &mut Chars) -> char { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `return_ptr` [INFO] [stdout] --> src/part2/lexer.rs:118:8 [INFO] [stdout] | [INFO] [stdout] 118 | fn return_ptr(&mut self, input: &mut Chars) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `full_scan` [INFO] [stdout] --> src/part2/lexer.rs:123:12 [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 is never used: `scan` [INFO] [stdout] --> src/part2/lexer.rs:133:12 [INFO] [stdout] | [INFO] [stdout] 133 | pub fn scan(&mut self, input: &str) -> Box { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/part2/symbols_table.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `insert` [INFO] [stdout] --> src/part2/symbols_table.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn insert(&mut self, key: &str, sym: String) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get` [INFO] [stdout] --> src/part2/symbols_table.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn get(&self, key: &str) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `token` [INFO] [stdout] --> src/part3/extended_lexer.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | fn token(&self) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `from_str` [INFO] [stdout] --> src/part3/extended_lexer.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | fn from_str(s: &str) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `B` [INFO] [stdout] --> src/part3/extended_lexer.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | B, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] note: `Buffer` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/part3/extended_lexer.rs:31:10 [INFO] [stdout] | [INFO] [stdout] 31 | #[derive(Debug, PartialEq, Copy, Clone)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `lexeme_begin` [INFO] [stdout] --> src/part3/extended_lexer.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | lexeme_begin: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `forward` [INFO] [stdout] --> src/part3/extended_lexer.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | forward: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `buffer_idx` [INFO] [stdout] --> src/part3/extended_lexer.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | buffer_idx: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `tokens` [INFO] [stdout] --> src/part3/extended_lexer.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | tokens: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/part3/extended_lexer.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `init_regex` [INFO] [stdout] --> src/part3/extended_lexer.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 70 | fn init_regex() -> HashMap { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `init_buffer` [INFO] [stdout] --> src/part3/extended_lexer.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | fn init_buffer(&mut self, input: String) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `change_buffer` [INFO] [stdout] --> src/part3/extended_lexer.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | fn change_buffer(&mut self, input: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `scan_test` [INFO] [stdout] --> src/part3/extended_lexer.rs:108:8 [INFO] [stdout] | [INFO] [stdout] 108 | fn scan_test(&mut self, input: String) -> Token { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `is_eof` [INFO] [stdout] --> src/part3/extended_lexer.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 112 | fn is_eof(&mut self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `scan` [INFO] [stdout] --> src/part3/extended_lexer.rs:123:12 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn scan(&mut self, input: &str) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `clear` [INFO] [stdout] --> src/part3/extended_lexer.rs:174:8 [INFO] [stdout] | [INFO] [stdout] 174 | fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `update_buffer` [INFO] [stdout] --> src/part3/extended_lexer.rs:183:8 [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: 51 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 45.73s [INFO] running `Command { std: "docker" "inspect" "25609dd1d21c82f01a8c60d659394da2a3f1ffc50eab6c8306208cd0753a8dfe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "25609dd1d21c82f01a8c60d659394da2a3f1ffc50eab6c8306208cd0753a8dfe", kill_on_drop: false }` [INFO] [stdout] 25609dd1d21c82f01a8c60d659394da2a3f1ffc50eab6c8306208cd0753a8dfe [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-117/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-117/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9f685c0461dd7948a60d050890696ec7408d94771d31c37ae808584e5945ee0d [INFO] running `Command { std: "docker" "start" "-a" "9f685c0461dd7948a60d050890696ec7408d94771d31c37ae808584e5945ee0d", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [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: 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 is never used: `main` [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: function is never used: `aho_corasick_failure` [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: field is never read: `lookahead` [INFO] [stdout] --> src/part2/simple_translator.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | lookahead: char, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `string` [INFO] [stdout] --> src/part2/simple_translator.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | string: Chars<'a>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `from_string` [INFO] [stdout] --> src/part2/simple_translator.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn from_string(input: &'a str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `expr` [INFO] [stdout] --> src/part2/simple_translator.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn expr(&mut self) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `term` [INFO] [stdout] --> src/part2/simple_translator.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | fn term(&mut self) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `matcher` [INFO] [stdout] --> src/part2/simple_translator.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | fn matcher(&mut self, t: char) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `NUM` [INFO] [stdout] --> src/part2/lexer.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | NUM, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `Tag` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/part2/lexer.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Ord, PartialOrd, PartialEq, Eq, Hash, Clone)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling aho_compilers v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: variant is never constructed: `ID` [INFO] [stdout] --> src/part2/lexer.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | ID, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] note: `Tag` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/part2/lexer.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Ord, PartialOrd, PartialEq, Eq, Hash, Clone)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `FALSE` [INFO] [stdout] --> src/part2/lexer.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | FALSE, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Tag` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/part2/lexer.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Ord, PartialOrd, PartialEq, Eq, Hash, Clone)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `TRUE` [INFO] [stdout] --> src/part2/lexer.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | TRUE, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Tag` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/part2/lexer.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Ord, PartialOrd, PartialEq, Eq, Hash, Clone)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `OP` [INFO] [stdout] --> src/part2/lexer.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | OP, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] note: `Tag` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/part2/lexer.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Ord, PartialOrd, PartialEq, Eq, Hash, Clone)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `EOF` [INFO] [stdout] --> src/part2/lexer.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | EOF [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `Tag` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/part2/lexer.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Ord, PartialOrd, PartialEq, Eq, Hash, Clone)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/part2/lexer.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn new(tag: Tag, word: String) -> Self { Word { tag, word } } [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/part2/lexer.rs:61:12 [INFO] [stdout] | [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 is never used: `Words` [INFO] [stdout] --> src/part2/lexer.rs:74:1 [INFO] [stdout] | [INFO] [stdout] 74 | type Words = HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `Lines` [INFO] [stdout] --> src/part2/lexer.rs:75:1 [INFO] [stdout] | [INFO] [stdout] 75 | type Lines = HashMap>>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Lexer` [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 function is never used: `new` [INFO] [stdout] --> src/part2/lexer.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `reserve` [INFO] [stdout] --> src/part2/lexer.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | fn reserve(&mut self, word: Word) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `read_char_or_return_eof` [INFO] [stdout] --> src/part2/lexer.rs:108:8 [INFO] [stdout] | [INFO] [stdout] 108 | fn read_char_or_return_eof(&mut self, input: &mut Chars) -> char { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `return_ptr` [INFO] [stdout] --> src/part2/lexer.rs:118:8 [INFO] [stdout] | [INFO] [stdout] 118 | fn return_ptr(&mut self, input: &mut Chars) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `full_scan` [INFO] [stdout] --> src/part2/lexer.rs:123:12 [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 is never used: `scan` [INFO] [stdout] --> src/part2/lexer.rs:133:12 [INFO] [stdout] | [INFO] [stdout] 133 | pub fn scan(&mut self, input: &str) -> Box { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/part2/symbols_table.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `insert` [INFO] [stdout] --> src/part2/symbols_table.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn insert(&mut self, key: &str, sym: String) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get` [INFO] [stdout] --> src/part2/symbols_table.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn get(&self, key: &str) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `token` [INFO] [stdout] --> src/part3/extended_lexer.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | fn token(&self) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `from_str` [INFO] [stdout] --> src/part3/extended_lexer.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | fn from_str(s: &str) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `B` [INFO] [stdout] --> src/part3/extended_lexer.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | B, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] note: `Buffer` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/part3/extended_lexer.rs:31:10 [INFO] [stdout] | [INFO] [stdout] 31 | #[derive(Debug, PartialEq, Copy, Clone)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `lexeme_begin` [INFO] [stdout] --> src/part3/extended_lexer.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | lexeme_begin: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `forward` [INFO] [stdout] --> src/part3/extended_lexer.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | forward: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `buffer_idx` [INFO] [stdout] --> src/part3/extended_lexer.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | buffer_idx: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `tokens` [INFO] [stdout] --> src/part3/extended_lexer.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | tokens: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/part3/extended_lexer.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `init_regex` [INFO] [stdout] --> src/part3/extended_lexer.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 70 | fn init_regex() -> HashMap { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `init_buffer` [INFO] [stdout] --> src/part3/extended_lexer.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | fn init_buffer(&mut self, input: String) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `change_buffer` [INFO] [stdout] --> src/part3/extended_lexer.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | fn change_buffer(&mut self, input: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `scan_test` [INFO] [stdout] --> src/part3/extended_lexer.rs:108:8 [INFO] [stdout] | [INFO] [stdout] 108 | fn scan_test(&mut self, input: String) -> Token { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `is_eof` [INFO] [stdout] --> src/part3/extended_lexer.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 112 | fn is_eof(&mut self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `scan` [INFO] [stdout] --> src/part3/extended_lexer.rs:123:12 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn scan(&mut self, input: &str) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `clear` [INFO] [stdout] --> src/part3/extended_lexer.rs:174:8 [INFO] [stdout] | [INFO] [stdout] 174 | fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `update_buffer` [INFO] [stdout] --> src/part3/extended_lexer.rs:183:8 [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: 51 warnings emitted [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: 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] [INFO] [stdout] warning: type alias is never used: `Lines` [INFO] [stdout] --> src/part2/lexer.rs:75:1 [INFO] [stdout] | [INFO] [stdout] 75 | type Lines = HashMap>>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `full_scan` [INFO] [stdout] --> src/part2/lexer.rs:123:12 [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 is never used: `update_buffer` [INFO] [stdout] --> src/part3/extended_lexer.rs:183:8 [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: 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 20.97s [INFO] running `Command { std: "docker" "inspect" "9f685c0461dd7948a60d050890696ec7408d94771d31c37ae808584e5945ee0d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9f685c0461dd7948a60d050890696ec7408d94771d31c37ae808584e5945ee0d", kill_on_drop: false }` [INFO] [stdout] 9f685c0461dd7948a60d050890696ec7408d94771d31c37ae808584e5945ee0d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-117/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-117/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 45646c1ad9811da19e6e8896364809df00d1e03718549503e6169347a31855c1 [INFO] running `Command { std: "docker" "start" "-a" "45646c1ad9811da19e6e8896364809df00d1e03718549503e6169347a31855c1", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] warning: unused import: `std::ops::Deref` [INFO] [stderr] --> src/part2/lexer.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::ops::Deref; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/part2/lexer.rs:69:9 [INFO] [stderr] | [INFO] [stderr] 69 | (self.num.to_string()) [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 69 - (self.num.to_string()) [INFO] [stderr] 69 + self.num.to_string() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::DerefMut` [INFO] [stderr] --> src/part2/symbols_table.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::ops::DerefMut; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str::Chars` [INFO] [stderr] --> src/part3/extended_lexer.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::str::Chars; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp::min` [INFO] [stderr] --> src/part3/extended_lexer.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::cmp::min; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `input` [INFO] [stderr] --> src/part3/extended_lexer.rs:108:29 [INFO] [stderr] | [INFO] [stderr] 108 | fn scan_test(&mut self, input: String) -> Token { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `main` [INFO] [stderr] --> src/lib.rs:4:4 [INFO] [stderr] | [INFO] [stderr] 4 | fn main() { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `aho_corasick_failure` [INFO] [stderr] --> src/part3.rs:5:4 [INFO] [stderr] | [INFO] [stderr] 5 | fn aho_corasick_failure(input: &str) -> String{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `lookahead` [INFO] [stderr] --> src/part2/simple_translator.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | lookahead: char, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `string` [INFO] [stderr] --> src/part2/simple_translator.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | string: Chars<'a>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `from_string` [INFO] [stderr] --> src/part2/simple_translator.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn from_string(input: &'a str) -> Self { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `expr` [INFO] [stderr] --> src/part2/simple_translator.rs:19:12 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn expr(&mut self) -> Result { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `term` [INFO] [stderr] --> src/part2/simple_translator.rs:56:8 [INFO] [stderr] | [INFO] [stderr] 56 | fn term(&mut self) -> Result { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `matcher` [INFO] [stderr] --> src/part2/simple_translator.rs:67:8 [INFO] [stderr] | [INFO] [stderr] 67 | fn matcher(&mut self, t: char) -> Result<(), String> { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NUM` [INFO] [stderr] --> src/part2/lexer.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | NUM, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: `Tag` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] --> src/part2/lexer.rs:7:10 [INFO] [stderr] | [INFO] [stderr] 7 | #[derive(Debug, Ord, PartialOrd, PartialEq, Eq, Hash, Clone)] [INFO] [stderr] | ^^^^^ ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ID` [INFO] [stderr] --> src/part2/lexer.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | ID, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] note: `Tag` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] --> src/part2/lexer.rs:7:10 [INFO] [stderr] | [INFO] [stderr] 7 | #[derive(Debug, Ord, PartialOrd, PartialEq, Eq, Hash, Clone)] [INFO] [stderr] | ^^^^^ ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `FALSE` [INFO] [stderr] --> src/part2/lexer.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | FALSE, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Tag` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] --> src/part2/lexer.rs:7:10 [INFO] [stderr] | [INFO] [stderr] 7 | #[derive(Debug, Ord, PartialOrd, PartialEq, Eq, Hash, Clone)] [INFO] [stderr] | ^^^^^ ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `TRUE` [INFO] [stderr] --> src/part2/lexer.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | TRUE, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Tag` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] --> src/part2/lexer.rs:7:10 [INFO] [stderr] | [INFO] [stderr] 7 | #[derive(Debug, Ord, PartialOrd, PartialEq, Eq, Hash, Clone)] [INFO] [stderr] | ^^^^^ ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `OP` [INFO] [stderr] --> src/part2/lexer.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | OP, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] note: `Tag` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] --> src/part2/lexer.rs:7:10 [INFO] [stderr] | [INFO] [stderr] 7 | #[derive(Debug, Ord, PartialOrd, PartialEq, Eq, Hash, Clone)] [INFO] [stderr] | ^^^^^ ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `EOF` [INFO] [stderr] --> src/part2/lexer.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | EOF [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: `Tag` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] --> src/part2/lexer.rs:7:10 [INFO] [stderr] | [INFO] [stderr] 7 | #[derive(Debug, Ord, PartialOrd, PartialEq, Eq, Hash, Clone)] [INFO] [stderr] | ^^^^^ ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/part2/lexer.rs:41:12 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn new(tag: Tag, word: String) -> Self { Word { tag, word } } [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/part2/lexer.rs:61:12 [INFO] [stderr] | [INFO] [stderr] 61 | pub fn new(value: i32) -> Self { Num { tag: Tag::NUM, num: value } } [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Words` [INFO] [stderr] --> src/part2/lexer.rs:74:1 [INFO] [stderr] | [INFO] [stderr] 74 | type Words = HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Lines` [INFO] [stderr] --> src/part2/lexer.rs:75:1 [INFO] [stderr] | [INFO] [stderr] 75 | type Lines = HashMap>>>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Lexer` [INFO] [stderr] --> src/part2/lexer.rs:77:8 [INFO] [stderr] | [INFO] [stderr] 77 | struct Lexer { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/part2/lexer.rs:89:12 [INFO] [stderr] | [INFO] [stderr] 89 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `reserve` [INFO] [stderr] --> src/part2/lexer.rs:104:8 [INFO] [stderr] | [INFO] [stderr] 104 | fn reserve(&mut self, word: Word) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `read_char_or_return_eof` [INFO] [stderr] --> src/part2/lexer.rs:108:8 [INFO] [stderr] | [INFO] [stderr] 108 | fn read_char_or_return_eof(&mut self, input: &mut Chars) -> char { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `return_ptr` [INFO] [stderr] --> src/part2/lexer.rs:118:8 [INFO] [stderr] | [INFO] [stderr] 118 | fn return_ptr(&mut self, input: &mut Chars) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `full_scan` [INFO] [stderr] --> src/part2/lexer.rs:123:12 [INFO] [stderr] | [INFO] [stderr] 123 | pub fn full_scan(&mut self, input: &str) -> &Lines { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `scan` [INFO] [stderr] --> src/part2/lexer.rs:133:12 [INFO] [stderr] | [INFO] [stderr] 133 | pub fn scan(&mut self, input: &str) -> Box { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/part2/symbols_table.rs:13:12 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `insert` [INFO] [stderr] --> src/part2/symbols_table.rs:17:12 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn insert(&mut self, key: &str, sym: String) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `get` [INFO] [stderr] --> src/part2/symbols_table.rs:25:12 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn get(&self, key: &str) -> Option { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `token` [INFO] [stderr] --> src/part3/extended_lexer.rs:23:8 [INFO] [stderr] | [INFO] [stderr] 23 | fn token(&self) -> String { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `from_str` [INFO] [stderr] --> src/part3/extended_lexer.rs:26:8 [INFO] [stderr] | [INFO] [stderr] 26 | fn from_str(s: &str) -> Self { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `B` [INFO] [stderr] --> src/part3/extended_lexer.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | B, [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] note: `Buffer` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] --> src/part3/extended_lexer.rs:31:10 [INFO] [stderr] | [INFO] [stderr] 31 | #[derive(Debug, PartialEq, Copy, Clone)] [INFO] [stderr] | ^^^^^ ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `lexeme_begin` [INFO] [stderr] --> src/part3/extended_lexer.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | lexeme_begin: usize, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `forward` [INFO] [stderr] --> src/part3/extended_lexer.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | forward: usize, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `buffer_idx` [INFO] [stderr] --> src/part3/extended_lexer.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | buffer_idx: usize, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `tokens` [INFO] [stderr] --> src/part3/extended_lexer.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | tokens: HashMap, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/part3/extended_lexer.rs:58:8 [INFO] [stderr] | [INFO] [stderr] 58 | fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `init_regex` [INFO] [stderr] --> src/part3/extended_lexer.rs:70:8 [INFO] [stderr] | [INFO] [stderr] 70 | fn init_regex() -> HashMap { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `init_buffer` [INFO] [stderr] --> src/part3/extended_lexer.rs:80:8 [INFO] [stderr] | [INFO] [stderr] 80 | fn init_buffer(&mut self, input: String) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `change_buffer` [INFO] [stderr] --> src/part3/extended_lexer.rs:99:8 [INFO] [stderr] | [INFO] [stderr] 99 | fn change_buffer(&mut self, input: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `scan_test` [INFO] [stderr] --> src/part3/extended_lexer.rs:108:8 [INFO] [stderr] | [INFO] [stderr] 108 | fn scan_test(&mut self, input: String) -> Token { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `is_eof` [INFO] [stderr] --> src/part3/extended_lexer.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | fn is_eof(&mut self) -> bool { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `scan` [INFO] [stderr] --> src/part3/extended_lexer.rs:123:12 [INFO] [stderr] | [INFO] [stderr] 123 | pub fn scan(&mut self, input: &str) -> Option { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `clear` [INFO] [stderr] --> src/part3/extended_lexer.rs:174:8 [INFO] [stderr] | [INFO] [stderr] 174 | fn clear(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `update_buffer` [INFO] [stderr] --> src/part3/extended_lexer.rs:183:8 [INFO] [stderr] | [INFO] [stderr] 183 | fn update_buffer() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused comparison that must be used [INFO] [stderr] --> src/part3/extended_lexer.rs:102:17 [INFO] [stderr] | [INFO] [stderr] 102 | self.buffer == Buffer::B; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 102 | let _ = self.buffer == Buffer::B; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/part2/lexer.rs:344:13 [INFO] [stderr] | [INFO] [stderr] 344 | ; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::DerefMut` [INFO] [stderr] --> src/part2/symbols_table.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::ops::DerefMut; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Duration` [INFO] [stderr] --> src/part3/extended_lexer.rs:193:9 [INFO] [stderr] | [INFO] [stderr] 193 | use std::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `expected` [INFO] [stderr] --> src/part2/symbols_table.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | let expected: Option = None; [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected` [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Lines` [INFO] [stderr] --> src/part2/lexer.rs:75:1 [INFO] [stderr] | [INFO] [stderr] 75 | type Lines = HashMap>>>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `aho_compilers` (lib) generated 51 warnings [INFO] [stderr] warning: `aho_compilers` (lib test) generated 12 warnings (7 duplicates) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1m 42s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/aho_compilers-b8d67092124d2ebd) [INFO] [stdout] [INFO] [stdout] running 17 tests [INFO] [stdout] test part2::symbols_table::tests::new_env_test ... ok [INFO] [stdout] test part3::extended_lexer::tests::token_test ... ok [INFO] [stdout] test part2::tests::arithmetic_simple_test ... ok [INFO] [stdout] test part2::simple_translator::tests::simple_translator_test ... ok [INFO] [stdout] test part3::tests::aho_corasick_failure_test ... ok [INFO] [stdout] test part2::symbols_table::tests::insert_get_test ... ok [INFO] [stdout] test part2::lexer::tests::init_lexer_test ... ok [INFO] [stdout] test part2::tests::rome_test ... ok [INFO] [stdout] test part2::lexer::tests::scan_string_test ... ok [INFO] [stdout] test part3::extended_lexer::tests::lexer_smoke_test ... ok [INFO] [stdout] test part3::extended_lexer::tests::lexer_test ... ok [INFO] [stdout] test part3::extended_lexer::tests::lexer_eof_test ... ok [INFO] [stdout] test part2::lexer::tests::scan_string_panic_test - should panic ... ok [INFO] [stdout] test part2::tests::arithmetic_incorrect_chars_in_input_test - should panic ... ok [INFO] [stdout] test part2::symbols_table::tests::get_test_panic - should panic ... ok [INFO] [stdout] test part2::tests::translate_to_postfix_test ... ok [INFO] [stdout] test part2::tests::harmonic_test_smoke ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.47s [INFO] [stdout] [INFO] [stderr] Doc-tests aho_compilers [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> /opt/rustwide/workdir/src/part2/lexer.rs:69:9 [INFO] [stderr] | [INFO] [stderr] 69 | (self.num.to_string()) [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 69 - (self.num.to_string()) [INFO] [stderr] 69 + self.num.to_string() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: 1 warning emitted [INFO] [stderr] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "45646c1ad9811da19e6e8896364809df00d1e03718549503e6169347a31855c1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "45646c1ad9811da19e6e8896364809df00d1e03718549503e6169347a31855c1", kill_on_drop: false }` [INFO] [stdout] 45646c1ad9811da19e6e8896364809df00d1e03718549503e6169347a31855c1