[INFO] cloning repository https://github.com/jzohdi/LCS [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jzohdi/LCS" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjzohdi%2FLCS", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjzohdi%2FLCS'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7dfc6048e9a5c565935578b90f7f06bbc0826052 [INFO] checking jzohdi/LCS against master#e4106065bf1bb515935d5d024e8d9c86454e2b22 for pr-112160 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjzohdi%2FLCS" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/jzohdi/LCS on toolchain e4106065bf1bb515935d5d024e8d9c86454e2b22 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e4106065bf1bb515935d5d024e8d9c86454e2b22" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/jzohdi/LCS [INFO] finished tweaking git repo https://github.com/jzohdi/LCS [INFO] tweaked toml for git repo https://github.com/jzohdi/LCS written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/jzohdi/LCS 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" "+e4106065bf1bb515935d5d024e8d9c86454e2b22" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+e4106065bf1bb515935d5d024e8d9c86454e2b22" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f6f4d6e9ec6c98c9370136557a426d7585680c76e8e310365911e904ab3936ed [INFO] running `Command { std: "docker" "start" "-a" "f6f4d6e9ec6c98c9370136557a426d7585680c76e8e310365911e904ab3936ed", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f6f4d6e9ec6c98c9370136557a426d7585680c76e8e310365911e904ab3936ed", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f6f4d6e9ec6c98c9370136557a426d7585680c76e8e310365911e904ab3936ed", kill_on_drop: false }` [INFO] [stdout] f6f4d6e9ec6c98c9370136557a426d7585680c76e8e310365911e904ab3936ed [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+e4106065bf1bb515935d5d024e8d9c86454e2b22" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e80305ca7786248c658353d468108832b2359f7474a2267de3c5a8647e61c479 [INFO] running `Command { std: "docker" "start" "-a" "e80305ca7786248c658353d468108832b2359f7474a2267de3c5a8647e61c479", kill_on_drop: false }` [INFO] [stderr] Checking longest_bytes v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/suffix_tree.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/ukkonen.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/ukkonen.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/suffix_tree.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/ukkonen.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/ukkonen.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ukkonen.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | let mut active_node: Option = None; // current node being looked at, None means root [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `order` is never read [INFO] [stdout] --> src/ukkonen.rs:272:17 [INFO] [stdout] | [INFO] [stdout] 272 | let mut order = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `new_start` is never read [INFO] [stdout] --> src/ukkonen.rs:273:17 [INFO] [stdout] | [INFO] [stdout] 273 | let mut new_start = 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ukkonen.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | let mut active_node: Option = None; // current node being looked at, None means root [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `edge` [INFO] [stdout] --> src/ukkonen.rs:342:34 [INFO] [stdout] | [INFO] [stdout] 342 | pub fn index_is_child(&self, edge: u8, length: usize, key: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_edge` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `length` [INFO] [stdout] --> src/ukkonen.rs:342:44 [INFO] [stdout] | [INFO] [stdout] 342 | pub fn index_is_child(&self, edge: u8, length: usize, key: u8) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_length` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/ukkonen.rs:342:59 [INFO] [stdout] | [INFO] [stdout] 342 | pub fn index_is_child(&self, edge: u8, length: usize, key: u8) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/ukkonen.rs:374:25 [INFO] [stdout] | [INFO] [stdout] 374 | if let Some(n) = &self.nodes[i] { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/ukkonen.rs:422:25 [INFO] [stdout] | [INFO] [stdout] 422 | if let Some(n) = &self.nodes[i] { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `order` is never read [INFO] [stdout] --> src/ukkonen.rs:272:17 [INFO] [stdout] | [INFO] [stdout] 272 | let mut order = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `new_start` is never read [INFO] [stdout] --> src/ukkonen.rs:273:17 [INFO] [stdout] | [INFO] [stdout] 273 | let mut new_start = 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `edge` [INFO] [stdout] --> src/ukkonen.rs:342:34 [INFO] [stdout] | [INFO] [stdout] 342 | pub fn index_is_child(&self, edge: u8, length: usize, key: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_edge` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `length` [INFO] [stdout] --> src/ukkonen.rs:342:44 [INFO] [stdout] | [INFO] [stdout] 342 | pub fn index_is_child(&self, edge: u8, length: usize, key: u8) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_length` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/ukkonen.rs:342:59 [INFO] [stdout] | [INFO] [stdout] 342 | pub fn index_is_child(&self, edge: u8, length: usize, key: u8) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/ukkonen.rs:374:25 [INFO] [stdout] | [INFO] [stdout] 374 | if let Some(n) = &self.nodes[i] { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/ukkonen.rs:422:25 [INFO] [stdout] | [INFO] [stdout] 422 | if let Some(n) = &self.nodes[i] { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `file_name` and `offset` are never read [INFO] [stdout] --> src/lib.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | struct FileLocation { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 7 | file_name: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 8 | offset: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FileLocation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `set_offset`, and `offset` are never used [INFO] [stdout] --> src/lib.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl FileLocation { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 12 | pub fn new(filename: &str) -> FileLocation { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn set_offset(&mut self, offset: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn offset(&self) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `optimized_suffix_search` is never used [INFO] [stdout] --> src/lib.rs:120:4 [INFO] [stdout] | [INFO] [stdout] 120 | fn optimized_suffix_search(file1: &reader::ParsedFile, file2: &reader::ParsedFile) -> SearchResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `suffix_tree_search` is never used [INFO] [stdout] --> src/lib.rs:128:4 [INFO] [stdout] | [INFO] [stdout] 128 | fn suffix_tree_search(file1: &reader::ParsedFile, file2: &reader::ParsedFile) -> SearchResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `polynomial_search` is never used [INFO] [stdout] --> src/lib.rs:179:4 [INFO] [stdout] | [INFO] [stdout] 179 | fn polynomial_search(file1: &reader::ParsedFile, file2: &reader::ParsedFile) -> SearchResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `relative_path` is never read [INFO] [stdout] --> src/reader.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct ParsedFile { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 11 | file_name: String, [INFO] [stdout] 12 | relative_path: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ukkonen_create` is never used [INFO] [stdout] --> src/ukkonen.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn ukkonen_create(array: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `None`, `Root`, and `Internal` are never constructed [INFO] [stdout] --> src/ukkonen.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 118 | enum LinkNode { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 119 | None, [INFO] [stdout] | ^^^^ [INFO] [stdout] 120 | Root, [INFO] [stdout] | ^^^^ [INFO] [stdout] 121 | Internal(usize), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LinkNode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `link_to_str` is never used [INFO] [stdout] --> src/ukkonen.rs:124:4 [INFO] [stdout] | [INFO] [stdout] 124 | fn link_to_str(link: &LinkNode) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `children`, `range`, `link`, and `order` are never read [INFO] [stdout] --> src/ukkonen.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 133 | struct UNode { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 134 | pub children: Vec, // the children will be the location of the child in NodeStore [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 135 | pub range: Range, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 136 | pub link: LinkNode, // location in NodeStore [INFO] [stdout] | ^^^^ [INFO] [stdout] 137 | pub order: usize, // represents the range in NodeStore, it's children are in. [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UNode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Internal` and `Extenal` are never constructed [INFO] [stdout] --> src/ukkonen.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 141 | enum NodeType { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 142 | Internal, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 143 | Extenal [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NodeType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `node_type_string` is never used [INFO] [stdout] --> src/ukkonen.rs:146:4 [INFO] [stdout] | [INFO] [stdout] 146 | fn node_type_string(range: &Range) -> NodeType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `length`, and `set_link` are never used [INFO] [stdout] --> src/ukkonen.rs:155:12 [INFO] [stdout] | [INFO] [stdout] 154 | impl UNode { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 155 | pub fn new(range: Range, link: LinkNode, order: usize) -> UNode { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | pub fn length(&self) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn set_link(&mut self, link: LinkNode) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unpack_range` is never used [INFO] [stdout] --> src/ukkonen.rs:173:4 [INFO] [stdout] | [INFO] [stdout] 173 | fn unpack_range(range: &Range) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_new_leaf_range` is never used [INFO] [stdout] --> src/ukkonen.rs:182:4 [INFO] [stdout] | [INFO] [stdout] 182 | fn get_new_leaf_range(curr_node_range: &Range, end: usize) -> Range { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AddNodeConfig` is never constructed [INFO] [stdout] --> src/ukkonen.rs:190:8 [INFO] [stdout] | [INFO] [stdout] 190 | struct AddNodeConfig { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `root`, `nodes`, `size`, and `width` are never read [INFO] [stdout] --> src/ukkonen.rs:209:9 [INFO] [stdout] | [INFO] [stdout] 208 | struct UkkonenTree { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 209 | pub root: UNode, [INFO] [stdout] | ^^^^ [INFO] [stdout] 210 | nodes: Vec>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 211 | size: usize, // count of how many nodes [INFO] [stdout] | ^^^^ [INFO] [stdout] 212 | width: usize, // in our case will be 256 [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UkkonenTree` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/ukkonen.rs:220:12 [INFO] [stdout] | [INFO] [stdout] 215 | impl UkkonenTree { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 220 | pub fn new() -> UkkonenTree { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 238 | pub fn update_link(&mut self, from: usize, to: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | pub fn add_node(&mut self, node_key: Option, child_key: u8, config: AddNodeConfig) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 271 | pub fn split_node(self: &'_ mut Self, node_key: usize, config: &AddNodeConfig) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 287 | fn new_leaf(self: &'_ mut Self, order: usize, key: u8, start: usize) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 298 | pub fn add_leaf(&mut self, order: usize, key: u8, start: usize) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 311 | pub fn add_leaf_to(&mut self, active_node: Option, child_key: u8, end: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 323 | pub fn represented_index(&self, active_node: Option, active_edge: u8, length: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 342 | pub fn index_is_child(&self, edge: u8, length: usize, key: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 353 | pub fn node_has_child(&self, active_node: Option, item_to_check: u8) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn is_root(node: &UNode) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 361 | pub fn get_node_range(&self, node_index: Option) -> Range { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 368 | pub fn pretty_print(&self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 389 | fn create_leaf_for(&mut self, node_pos: Option, child_config: NodeConfig) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 397 | fn inc_size(&mut self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 402 | fn print(&self, curr_node_index: usize, depth: usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 431 | fn has_child(&self, node_pos: Option, child_key: u8) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 440 | fn next_order(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 444 | fn hash(&self, node_order: usize, key: u8) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 448 | fn get_node_order(&self, node_index: Option) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 454 | pub fn node_range(&self, node_index: usize) -> Range { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 458 | fn edge_is_leaf(&self, node_key: Option, child_key: u8) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 468 | fn is_leaf(&self, key: usize) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 475 | fn child_hash(&self, node_key: Option, child_key: u8) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `range` and `key` are never read [INFO] [stdout] --> src/ukkonen.rs:491:9 [INFO] [stdout] | [INFO] [stdout] 490 | struct NodeConfig { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 491 | pub range: Range, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 492 | pub key: u8 [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NodeConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start` and `end` are never read [INFO] [stdout] --> src/ukkonen.rs:499:9 [INFO] [stdout] | [INFO] [stdout] 498 | struct Range { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 499 | pub start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 500 | pub end: Option, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Range` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `range_length` is never used [INFO] [stdout] --> src/ukkonen.rs:504:4 [INFO] [stdout] | [INFO] [stdout] 504 | fn range_length(range: &Range) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `range_to_str` is never used [INFO] [stdout] --> src/ukkonen.rs:512:4 [INFO] [stdout] | [INFO] [stdout] 512 | fn range_to_str(range: &Range) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `set_start`, `set_end`, `get_start`, and `clone` are never used [INFO] [stdout] --> src/ukkonen.rs:521:12 [INFO] [stdout] | [INFO] [stdout] 520 | impl Range { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 521 | pub fn set_start(&mut self, start: usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 524 | pub fn set_end(&mut self, end: Option) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 527 | pub fn get_start(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 531 | pub fn clone(range: &Range) -> Range { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `file_name` and `offset` are never read [INFO] [stdout] --> src/lib.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | struct FileLocation { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 7 | file_name: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 8 | offset: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FileLocation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `set_offset`, and `offset` are never used [INFO] [stdout] --> src/lib.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl FileLocation { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 12 | pub fn new(filename: &str) -> FileLocation { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn set_offset(&mut self, offset: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn offset(&self) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `optimized_suffix_search` is never used [INFO] [stdout] --> src/lib.rs:120:4 [INFO] [stdout] | [INFO] [stdout] 120 | fn optimized_suffix_search(file1: &reader::ParsedFile, file2: &reader::ParsedFile) -> SearchResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `suffix_tree_search` is never used [INFO] [stdout] --> src/lib.rs:128:4 [INFO] [stdout] | [INFO] [stdout] 128 | fn suffix_tree_search(file1: &reader::ParsedFile, file2: &reader::ParsedFile) -> SearchResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `relative_path` is never read [INFO] [stdout] --> src/reader.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct ParsedFile { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 11 | file_name: String, [INFO] [stdout] 12 | relative_path: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `children` is never read [INFO] [stdout] --> src/ukkonen.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 133 | struct UNode { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 134 | pub children: Vec, // the children will be the location of the child in NodeStore [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UNode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Internal` and `Extenal` are never constructed [INFO] [stdout] --> src/ukkonen.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 141 | enum NodeType { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 142 | Internal, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 143 | Extenal [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NodeType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `node_type_string` is never used [INFO] [stdout] --> src/ukkonen.rs:146:4 [INFO] [stdout] | [INFO] [stdout] 146 | fn node_type_string(range: &Range) -> NodeType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `length` is never used [INFO] [stdout] --> src/ukkonen.rs:163:12 [INFO] [stdout] | [INFO] [stdout] 154 | impl UNode { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 163 | pub fn length(&self) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `add_leaf`, `index_is_child`, and `is_root` are never used [INFO] [stdout] --> src/ukkonen.rs:298:12 [INFO] [stdout] | [INFO] [stdout] 215 | impl UkkonenTree { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 298 | pub fn add_leaf(&mut self, order: usize, key: u8, start: usize) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 342 | pub fn index_is_child(&self, edge: u8, length: usize, key: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn is_root(node: &UNode) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `range_length` is never used [INFO] [stdout] --> src/ukkonen.rs:504:4 [INFO] [stdout] | [INFO] [stdout] 504 | fn range_length(range: &Range) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_start` is never used [INFO] [stdout] --> src/ukkonen.rs:521:12 [INFO] [stdout] | [INFO] [stdout] 520 | impl Range { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 521 | pub fn set_start(&mut self, start: usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 34 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 23 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::slice::::connect`: renamed to join [INFO] [stdout] --> src/main.rs:119:141 [INFO] [stdout] | [INFO] [stdout] 119 | ...sition {}", s.filename, s.start_pos)).collect::>().connect("\n")); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `current_search_for_byte` is never used [INFO] [stdout] --> src/main.rs:162:4 [INFO] [stdout] | [INFO] [stdout] 162 | fn current_search_for_byte(search_for: &SearchFor, offset: usize) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `locations_from` is never used [INFO] [stdout] --> src/main.rs:181:4 [INFO] [stdout] | [INFO] [stdout] 181 | fn locations_from(max_res: &SearchResult) -> Vec{ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::slice::::connect`: renamed to join [INFO] [stdout] --> src/main.rs:119:141 [INFO] [stdout] | [INFO] [stdout] 119 | ...sition {}", s.filename, s.start_pos)).collect::>().connect("\n")); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `current_search_for_byte` is never used [INFO] [stdout] --> src/main.rs:162:4 [INFO] [stdout] | [INFO] [stdout] 162 | fn current_search_for_byte(search_for: &SearchFor, offset: usize) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `locations_from` is never used [INFO] [stdout] --> src/main.rs:181:4 [INFO] [stdout] | [INFO] [stdout] 181 | fn locations_from(max_res: &SearchResult) -> Vec{ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.59s [INFO] running `Command { std: "docker" "inspect" "e80305ca7786248c658353d468108832b2359f7474a2267de3c5a8647e61c479", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e80305ca7786248c658353d468108832b2359f7474a2267de3c5a8647e61c479", kill_on_drop: false }` [INFO] [stdout] e80305ca7786248c658353d468108832b2359f7474a2267de3c5a8647e61c479