[INFO] updating cached repository https://github.com/svenslaggare/searchengine [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] c31e1f33a8fbddef5881bb1314296dabfce8ad0f [INFO] testing svenslaggare/searchengine against 1.44.0 for beta-1.45-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsvenslaggare%2Fsearchengine" "/workspace/builds/worker-13/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-13/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/svenslaggare/searchengine on toolchain 1.44.0 [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/svenslaggare/searchengine [INFO] finished tweaking git repo https://github.com/svenslaggare/searchengine [INFO] tweaked toml for git repo https://github.com/svenslaggare/searchengine written to /workspace/builds/worker-13/source/Cargo.toml [INFO] crate git repo https://github.com/svenslaggare/searchengine already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "build" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 52a6efcf85d7b1f002a9f087effaf124919f2e4a76b5022ea115e5b6ba0280de [INFO] running `"docker" "start" "-a" "52a6efcf85d7b1f002a9f087effaf124919f2e4a76b5022ea115e5b6ba0280de"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling syn v1.0.17 [INFO] [stderr] Compiling serde v1.0.106 [INFO] [stderr] Compiling openssl-sys v0.9.55 [INFO] [stderr] Compiling time v0.1.42 [INFO] [stderr] Compiling mio v0.6.21 [INFO] [stderr] Compiling tempfile v3.1.0 [INFO] [stderr] Compiling crossbeam v0.7.3 [INFO] [stderr] Compiling mio-uds v0.6.7 [INFO] [stderr] Compiling openssl v0.10.29 [INFO] [stderr] Compiling native-tls v0.2.4 [INFO] [stderr] Compiling serde_json v1.0.51 [INFO] [stderr] Compiling serde_urlencoded v0.6.1 [INFO] [stderr] Compiling futures-macro v0.3.4 [INFO] [stderr] Compiling tokio-macros v0.2.5 [INFO] [stderr] Compiling pin-project-internal v0.4.9 [INFO] [stderr] Compiling tokio v0.2.18 [INFO] [stderr] Compiling futures-util v0.3.4 [INFO] [stderr] Compiling pin-project v0.4.9 [INFO] [stderr] Compiling futures-executor v0.3.4 [INFO] [stderr] Compiling futures v0.3.4 [INFO] [stderr] Compiling tokio-util v0.3.1 [INFO] [stderr] Compiling tokio-tls v0.3.0 [INFO] [stderr] Compiling h2 v0.2.4 [INFO] [stderr] Compiling hyper v0.13.5 [INFO] [stderr] Compiling hyper-tls v0.4.1 [INFO] [stderr] Compiling reqwest v0.10.4 [INFO] [stderr] Compiling searchengine v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `BoxFuture` [INFO] [stderr] --> src/crawler.rs:7:23 [INFO] [stderr] | [INFO] [stderr] 7 | use futures::future::{BoxFuture, FutureExt}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::FromIterator` [INFO] [stderr] --> src/content_extractor.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::iter::FromIterator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `regex::Regex` [INFO] [stderr] --> src/tokenizer.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use regex::Regex; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Token` [INFO] [stderr] --> src/parser.rs:2:35 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::tokenizer::{Tokenizer, Token, Tokens}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufRead`, `BufReader`, `BufWriter` [INFO] [stderr] --> src/document.rs:2:15 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{BufWriter, Write, BufRead, BufReader, Seek, Read, SeekFrom}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/indexer.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Tokens` [INFO] [stderr] --> src/indexer.rs:4:24 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::tokenizer::{Tokens, Token}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `HashMapIndex` [INFO] [stderr] --> src/indexer.rs:6:27 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::index::{Index, HashMapIndex}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `create_test_document_storage` [INFO] [stderr] --> src/indexer.rs:8:50 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::document::{Document, DocumentStorage, create_test_document_storage}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `HashMap` [INFO] [stderr] --> src/searcher.rs:1:24 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `create_test_index` [INFO] [stderr] --> src/searcher.rs:6:31 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::indexer::{Indexer, create_test_index}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Document`, `create_test_document_storage` [INFO] [stderr] --> src/searcher.rs:7:23 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::document::{Document, create_test_document_storage}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `BTreeMap` [INFO] [stderr] --> src/ranker.rs:1:33 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::{HashMap, BTreeMap}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::tokenizer::Tokens` [INFO] [stderr] --> src/ranker.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::tokenizer::Tokens; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 40 | let mut crawler = Crawler::new(); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `FutureExt` [INFO] [stderr] --> src/crawler.rs:7:34 [INFO] [stderr] | [INFO] [stderr] 7 | use futures::future::{BoxFuture, FutureExt}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Index` [INFO] [stderr] --> src/content_extractor.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::ops::Index; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:114:9 [INFO] [stderr] | [INFO] [stderr] 114 | let mut indexer = Indexer::new( [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/indexer.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | let mut index_config = BlockIndexConfig::default(None); [INFO] [stderr] | ----^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `LinkExtractor` [INFO] [stderr] --> src/crawler.rs:10:8 [INFO] [stderr] | [INFO] [stderr] 10 | struct LinkExtractor { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/crawler.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | fn new(accept: fn(&str) -> bool) -> LinkExtractor { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `extract` [INFO] [stderr] --> src/crawler.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | fn extract(&self, base_url: &str, content: &str) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `CrawledLinks` [INFO] [stderr] --> src/crawler.rs:43:8 [INFO] [stderr] | [INFO] [stderr] 43 | struct CrawledLinks { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/crawler.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | fn new() -> CrawledLinks { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `len` [INFO] [stderr] --> src/crawler.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 54 | fn len(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `contains` [INFO] [stderr] --> src/crawler.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | fn contains(&self, link: &str) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `insert` [INFO] [stderr] --> src/crawler.rs:62:5 [INFO] [stderr] | [INFO] [stderr] 62 | fn insert(&mut self, link: String) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_save_path` [INFO] [stderr] --> src/crawler.rs:73:8 [INFO] [stderr] | [INFO] [stderr] 73 | pub fn get_save_path(parsed_url: &Url) -> (String, String) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `CrawlerWorker` [INFO] [stderr] --> src/crawler.rs:82:8 [INFO] [stderr] | [INFO] [stderr] 82 | struct CrawlerWorker { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/crawler.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | / fn new(crawled_links: Arc>, [INFO] [stderr] 93 | | crawl_queue: Arc>, [INFO] [stderr] 94 | | results_sender: crossbeam::Sender>) -> CrawlerWorker { [INFO] [stderr] 95 | | CrawlerWorker { [INFO] [stderr] ... | [INFO] [stderr] 102 | | } [INFO] [stderr] 103 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `crawl` [INFO] [stderr] --> src/crawler.rs:105:5 [INFO] [stderr] | [INFO] [stderr] 105 | async fn crawl(&self, url: String) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Crawler` [INFO] [stderr] --> src/crawler.rs:155:12 [INFO] [stderr] | [INFO] [stderr] 155 | pub struct Crawler { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/crawler.rs:163:5 [INFO] [stderr] | [INFO] [stderr] 163 | pub fn new() -> Crawler { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `run` [INFO] [stderr] --> src/crawler.rs:177:5 [INFO] [stderr] | [INFO] [stderr] 177 | pub fn run(&self, start_url: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Start` [INFO] [stderr] --> src/content_extractor.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | Start, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `End` [INFO] [stderr] --> src/content_extractor.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | End [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Content` [INFO] [stderr] --> src/content_extractor.rs:20:12 [INFO] [stderr] | [INFO] [stderr] 20 | pub struct Content { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/content_extractor.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn new(title: Option, body: String) -> Content { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `ContentExtractor` [INFO] [stderr] --> src/content_extractor.rs:34:12 [INFO] [stderr] | [INFO] [stderr] 34 | pub struct ContentExtractor { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/content_extractor.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn new() -> ContentExtractor { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `extract_tags` [INFO] [stderr] --> src/content_extractor.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | fn extract_tags(&self, content: &str) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `extract` [INFO] [stderr] --> src/content_extractor.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | pub fn extract(&self, content: &str) -> Content { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `TagStackEntry` [INFO] [stderr] --> src/content_extractor.rs:117:16 [INFO] [stderr] | [INFO] [stderr] 117 | struct TagStackEntry { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Tokenizer` [INFO] [stderr] --> src/tokenizer.rs:9:12 [INFO] [stderr] | [INFO] [stderr] 9 | pub struct Tokenizer { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/tokenizer.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | pub fn new() -> Tokenizer { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `tokenize` [INFO] [stderr] --> src/tokenizer.rs:51:5 [INFO] [stderr] | [INFO] [stderr] 51 | pub fn tokenize(&self, content: &str) -> Tokens { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `ParsedContent` [INFO] [stderr] --> src/parser.rs:4:12 [INFO] [stderr] | [INFO] [stderr] 4 | pub struct ParsedContent { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/parser.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn new(title: Option, tokens: Tokens) -> ParsedContent { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Parser` [INFO] [stderr] --> src/parser.rs:18:12 [INFO] [stderr] | [INFO] [stderr] 18 | pub struct Parser { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/parser.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn new() -> Parser { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse` [INFO] [stderr] --> src/parser.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn parse(&self, content: &str) -> ParsedContent { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/document.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | pub fn new(title: String, tokens: Tokens) -> Document { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `tokens` [INFO] [stderr] --> src/document.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn tokens(&self) -> &Tokens { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/document.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn new(filename: &str) -> DocumentFileStorage { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_tempfile_name` [INFO] [stderr] --> src/document.rs:138:4 [INFO] [stderr] | [INFO] [stderr] 138 | fn get_tempfile_name() -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `create_test_document_storage` [INFO] [stderr] --> src/document.rs:150:8 [INFO] [stderr] | [INFO] [stderr] 150 | pub fn create_test_document_storage() -> Box { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/index.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn new() -> HashMapIndex { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `next_document_id` [INFO] [stderr] --> src/indexer.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | next_document_id: DocumentId [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add_to_index` [INFO] [stderr] --> src/indexer.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | fn add_to_index(&mut self, term: &Term, entry: TermDocumentEntry) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add_document` [INFO] [stderr] --> src/indexer.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn add_document(&mut self, document: Document) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print_stats` [INFO] [stderr] --> src/indexer.rs:76:5 [INFO] [stderr] | [INFO] [stderr] 76 | pub fn print_stats(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `create_test_index` [INFO] [stderr] --> src/indexer.rs:93:8 [INFO] [stderr] | [INFO] [stderr] 93 | pub fn create_test_index() -> Box { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `testing` [INFO] [stderr] --> src/block_index.rs:380:5 [INFO] [stderr] | [INFO] [stderr] 380 | fn testing() -> BlockIndexConfig { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `intersection_search_documents` [INFO] [stderr] --> src/searcher.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | pub fn intersection_search_documents(&self, indexer: &Indexer, query: Tokens) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `visit_dirs` [INFO] [stderr] --> src/main.rs:24:4 [INFO] [stderr] | [INFO] [stderr] 24 | fn visit_dirs(dir: &Path, cb: &mut F) -> std::io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `main_crawl` [INFO] [stderr] --> src/main.rs:39:10 [INFO] [stderr] | [INFO] [stderr] 39 | async fn main_crawl() -> Result<(), Box> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `main_index_from_files` [INFO] [stderr] --> src/main.rs:81:4 [INFO] [stderr] | [INFO] [stderr] 81 | fn main_index_from_files() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 67 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 47s [INFO] running `"docker" "inspect" "52a6efcf85d7b1f002a9f087effaf124919f2e4a76b5022ea115e5b6ba0280de"` [INFO] running `"docker" "rm" "-f" "52a6efcf85d7b1f002a9f087effaf124919f2e4a76b5022ea115e5b6ba0280de"` [INFO] [stdout] 52a6efcf85d7b1f002a9f087effaf124919f2e4a76b5022ea115e5b6ba0280de [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen" "--no-run"` [INFO] [stdout] 3dbc49168a72890a279a10dadfbc9f8f1104549c2b8dc8441a34d13f9d3bce05 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `"docker" "start" "-a" "3dbc49168a72890a279a10dadfbc9f8f1104549c2b8dc8441a34d13f9d3bce05"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling searchengine v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `BoxFuture` [INFO] [stderr] --> src/crawler.rs:7:23 [INFO] [stderr] | [INFO] [stderr] 7 | use futures::future::{BoxFuture, FutureExt}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::FromIterator` [INFO] [stderr] --> src/content_extractor.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::iter::FromIterator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `regex::Regex` [INFO] [stderr] --> src/tokenizer.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use regex::Regex; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Token` [INFO] [stderr] --> src/parser.rs:2:35 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::tokenizer::{Tokenizer, Token, Tokens}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufRead`, `BufReader`, `BufWriter` [INFO] [stderr] --> src/document.rs:2:15 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{BufWriter, Write, BufRead, BufReader, Seek, Read, SeekFrom}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/indexer.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Tokens` [INFO] [stderr] --> src/indexer.rs:4:24 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::tokenizer::{Tokens, Token}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `HashMapIndex` [INFO] [stderr] --> src/indexer.rs:6:27 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::index::{Index, HashMapIndex}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `HashMap` [INFO] [stderr] --> src/searcher.rs:1:24 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `BTreeMap` [INFO] [stderr] --> src/ranker.rs:1:33 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::{HashMap, BTreeMap}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::tokenizer::Tokens` [INFO] [stderr] --> src/ranker.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::tokenizer::Tokens; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 40 | let mut crawler = Crawler::new(); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `FutureExt` [INFO] [stderr] --> src/crawler.rs:7:34 [INFO] [stderr] | [INFO] [stderr] 7 | use futures::future::{BoxFuture, FutureExt}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Index` [INFO] [stderr] --> src/content_extractor.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::ops::Index; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:114:9 [INFO] [stderr] | [INFO] [stderr] 114 | let mut indexer = Indexer::new( [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/document.rs:206:9 [INFO] [stderr] | [INFO] [stderr] 206 | let mut document_storage2 = DocumentFileStorage::from_existing(&filename); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/indexer.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | let mut index_config = BlockIndexConfig::default(None); [INFO] [stderr] | ----^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `LinkExtractor` [INFO] [stderr] --> src/crawler.rs:10:8 [INFO] [stderr] | [INFO] [stderr] 10 | struct LinkExtractor { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/crawler.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | fn new(accept: fn(&str) -> bool) -> LinkExtractor { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `extract` [INFO] [stderr] --> src/crawler.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | fn extract(&self, base_url: &str, content: &str) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `CrawledLinks` [INFO] [stderr] --> src/crawler.rs:43:8 [INFO] [stderr] | [INFO] [stderr] 43 | struct CrawledLinks { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/crawler.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | fn new() -> CrawledLinks { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `len` [INFO] [stderr] --> src/crawler.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 54 | fn len(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `contains` [INFO] [stderr] --> src/crawler.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | fn contains(&self, link: &str) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `insert` [INFO] [stderr] --> src/crawler.rs:62:5 [INFO] [stderr] | [INFO] [stderr] 62 | fn insert(&mut self, link: String) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_save_path` [INFO] [stderr] --> src/crawler.rs:73:8 [INFO] [stderr] | [INFO] [stderr] 73 | pub fn get_save_path(parsed_url: &Url) -> (String, String) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `CrawlerWorker` [INFO] [stderr] --> src/crawler.rs:82:8 [INFO] [stderr] | [INFO] [stderr] 82 | struct CrawlerWorker { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/crawler.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | / fn new(crawled_links: Arc>, [INFO] [stderr] 93 | | crawl_queue: Arc>, [INFO] [stderr] 94 | | results_sender: crossbeam::Sender>) -> CrawlerWorker { [INFO] [stderr] 95 | | CrawlerWorker { [INFO] [stderr] ... | [INFO] [stderr] 102 | | } [INFO] [stderr] 103 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `crawl` [INFO] [stderr] --> src/crawler.rs:105:5 [INFO] [stderr] | [INFO] [stderr] 105 | async fn crawl(&self, url: String) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Crawler` [INFO] [stderr] --> src/crawler.rs:155:12 [INFO] [stderr] | [INFO] [stderr] 155 | pub struct Crawler { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/crawler.rs:163:5 [INFO] [stderr] | [INFO] [stderr] 163 | pub fn new() -> Crawler { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `run` [INFO] [stderr] --> src/crawler.rs:177:5 [INFO] [stderr] | [INFO] [stderr] 177 | pub fn run(&self, start_url: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/index.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn new() -> HashMapIndex { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print_stats` [INFO] [stderr] --> src/indexer.rs:76:5 [INFO] [stderr] | [INFO] [stderr] 76 | pub fn print_stats(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `visit_dirs` [INFO] [stderr] --> src/main.rs:24:4 [INFO] [stderr] | [INFO] [stderr] 24 | fn visit_dirs(dir: &Path, cb: &mut F) -> std::io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `main_crawl` [INFO] [stderr] --> src/main.rs:39:10 [INFO] [stderr] | [INFO] [stderr] 39 | async fn main_crawl() -> Result<(), Box> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `main_index_from_files` [INFO] [stderr] --> src/main.rs:81:4 [INFO] [stderr] | [INFO] [stderr] 81 | fn main_index_from_files() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 37 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 7.98s [INFO] running `"docker" "inspect" "3dbc49168a72890a279a10dadfbc9f8f1104549c2b8dc8441a34d13f9d3bce05"` [INFO] running `"docker" "rm" "-f" "3dbc49168a72890a279a10dadfbc9f8f1104549c2b8dc8441a34d13f9d3bce05"` [INFO] [stdout] 3dbc49168a72890a279a10dadfbc9f8f1104549c2b8dc8441a34d13f9d3bce05 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen"` [INFO] [stdout] 740fc134a71abdfa0657f1fb15d89b02ece1e63196129afa6a96ceb2431e5a49 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `"docker" "start" "-a" "740fc134a71abdfa0657f1fb15d89b02ece1e63196129afa6a96ceb2431e5a49"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] warning: unused import: `BoxFuture` [INFO] [stderr] --> src/crawler.rs:7:23 [INFO] [stderr] | [INFO] [stderr] 7 | use futures::future::{BoxFuture, FutureExt}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::FromIterator` [INFO] [stderr] --> src/content_extractor.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::iter::FromIterator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `regex::Regex` [INFO] [stderr] --> src/tokenizer.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use regex::Regex; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Token` [INFO] [stderr] --> src/parser.rs:2:35 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::tokenizer::{Tokenizer, Token, Tokens}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufRead`, `BufReader`, `BufWriter` [INFO] [stderr] --> src/document.rs:2:15 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{BufWriter, Write, BufRead, BufReader, Seek, Read, SeekFrom}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/indexer.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Tokens` [INFO] [stderr] --> src/indexer.rs:4:24 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::tokenizer::{Tokens, Token}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `HashMapIndex` [INFO] [stderr] --> src/indexer.rs:6:27 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::index::{Index, HashMapIndex}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `HashMap` [INFO] [stderr] --> src/searcher.rs:1:24 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `BTreeMap` [INFO] [stderr] --> src/ranker.rs:1:33 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::{HashMap, BTreeMap}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::tokenizer::Tokens` [INFO] [stderr] --> src/ranker.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::tokenizer::Tokens; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 40 | let mut crawler = Crawler::new(); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `FutureExt` [INFO] [stderr] --> src/crawler.rs:7:34 [INFO] [stderr] | [INFO] [stderr] 7 | use futures::future::{BoxFuture, FutureExt}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Index` [INFO] [stderr] --> src/content_extractor.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::ops::Index; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:114:9 [INFO] [stderr] | [INFO] [stderr] 114 | let mut indexer = Indexer::new( [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/document.rs:206:9 [INFO] [stderr] | [INFO] [stderr] 206 | let mut document_storage2 = DocumentFileStorage::from_existing(&filename); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/indexer.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | let mut index_config = BlockIndexConfig::default(None); [INFO] [stderr] | ----^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `LinkExtractor` [INFO] [stderr] --> src/crawler.rs:10:8 [INFO] [stderr] | [INFO] [stderr] 10 | struct LinkExtractor { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/crawler.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | fn new(accept: fn(&str) -> bool) -> LinkExtractor { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `extract` [INFO] [stderr] --> src/crawler.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | fn extract(&self, base_url: &str, content: &str) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `CrawledLinks` [INFO] [stderr] --> src/crawler.rs:43:8 [INFO] [stderr] | [INFO] [stderr] 43 | struct CrawledLinks { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/crawler.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | fn new() -> CrawledLinks { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `len` [INFO] [stderr] --> src/crawler.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 54 | fn len(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `contains` [INFO] [stderr] --> src/crawler.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | fn contains(&self, link: &str) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `insert` [INFO] [stderr] --> src/crawler.rs:62:5 [INFO] [stderr] | [INFO] [stderr] 62 | fn insert(&mut self, link: String) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_save_path` [INFO] [stderr] --> src/crawler.rs:73:8 [INFO] [stderr] | [INFO] [stderr] 73 | pub fn get_save_path(parsed_url: &Url) -> (String, String) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `CrawlerWorker` [INFO] [stderr] --> src/crawler.rs:82:8 [INFO] [stderr] | [INFO] [stderr] 82 | struct CrawlerWorker { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/crawler.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | / fn new(crawled_links: Arc>, [INFO] [stderr] 93 | | crawl_queue: Arc>, [INFO] [stderr] 94 | | results_sender: crossbeam::Sender>) -> CrawlerWorker { [INFO] [stderr] 95 | | CrawlerWorker { [INFO] [stderr] ... | [INFO] [stderr] 102 | | } [INFO] [stderr] 103 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `crawl` [INFO] [stderr] --> src/crawler.rs:105:5 [INFO] [stderr] | [INFO] [stderr] 105 | async fn crawl(&self, url: String) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Crawler` [INFO] [stderr] --> src/crawler.rs:155:12 [INFO] [stderr] | [INFO] [stderr] 155 | pub struct Crawler { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/crawler.rs:163:5 [INFO] [stderr] | [INFO] [stderr] 163 | pub fn new() -> Crawler { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `run` [INFO] [stderr] --> src/crawler.rs:177:5 [INFO] [stderr] | [INFO] [stderr] 177 | pub fn run(&self, start_url: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/index.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn new() -> HashMapIndex { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print_stats` [INFO] [stderr] --> src/indexer.rs:76:5 [INFO] [stderr] | [INFO] [stderr] 76 | pub fn print_stats(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `visit_dirs` [INFO] [stderr] --> src/main.rs:24:4 [INFO] [stderr] | [INFO] [stderr] 24 | fn visit_dirs(dir: &Path, cb: &mut F) -> std::io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `main_crawl` [INFO] [stderr] --> src/main.rs:39:10 [INFO] [stderr] | [INFO] [stderr] 39 | async fn main_crawl() -> Result<(), Box> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `main_index_from_files` [INFO] [stderr] --> src/main.rs:81:4 [INFO] [stderr] | [INFO] [stderr] 81 | fn main_index_from_files() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 37 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.18s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/searchengine-1e3819404202bd12 [INFO] [stdout] [INFO] [stdout] running 44 tests [INFO] [stdout] test content_extractor::test_extract1 ... ok [INFO] [stdout] test content_extractor::test_extract11 ... ok [INFO] [stdout] test content_extractor::test_extract10 ... ok [INFO] [stdout] test content_extractor::test_extract3 ... ok [INFO] [stdout] test content_extractor::test_extract12 ... ok [INFO] [stdout] test content_extractor::test_extract2 ... ok [INFO] [stdout] test content_extractor::test_extract6 ... ok [INFO] [stdout] test content_extractor::test_extract4 ... ok [INFO] [stdout] test content_extractor::test_extract5 ... ok [INFO] [stdout] test content_extractor::test_extract7 ... ok [INFO] [stdout] test content_extractor::test_extract8 ... ok [INFO] [stdout] test content_extractor::test_extract9 ... ok [INFO] [stdout] test block_index::test_multiple_documents1 ... ok [INFO] [stdout] test block_index::test_multiple_documents2 ... ok [INFO] [stdout] test document::test_file_storage3 ... ok [INFO] [stdout] test indexer::test_build_index1 ... ok [INFO] [stdout] test indexer::test_build_index2 ... ok [INFO] [stdout] test indexer::test_build_index3 ... ok [INFO] [stdout] test block_index::test_single_document1 ... ok [INFO] [stdout] test indexer::test_build_index4 ... ok [INFO] [stdout] test indexer::test_build_index5 ... ok [INFO] [stdout] test searcher::test_intersection_search1 ... ok [INFO] [stdout] test parser::test_parse1 ... ok [INFO] [stdout] test searcher::test_intersection_search2 ... ok [INFO] [stdout] test searcher::test_intersection_search3 ... ok [INFO] [stdout] test searcher::test_intersection_search5 ... ok [INFO] [stdout] test block_index::test_multiple_documents3 ... ok [INFO] [stdout] test block_index::test_reallocate1 ... ok [INFO] [stdout] test block_index::test_iterate1 ... ok [INFO] [stdout] test tokenizer::test_tokenize1 ... ok [INFO] [stdout] test block_index::test_multiple_documents4 ... ok [INFO] [stdout] test block_index::test_reallocate4 ... ok [INFO] [stdout] test block_index::test_single_document2 ... ok [INFO] [stdout] test tokenizer::test_tokenize3 ... ok [INFO] [stdout] test block_index::test_multiple_documents5 ... ok [INFO] [stdout] test block_index::test_multiple_documents6 ... ok [INFO] [stdout] test document::test_file_storage1 ... ok [INFO] [stdout] test document::test_file_storage2 ... ok [INFO] [stdout] test block_index::test_reallocate2 ... ok [INFO] [stdout] test block_index::test_reallocate3 ... ok [INFO] [stdout] test searcher::test_intersection_search4 ... ok [INFO] [stdout] test tokenizer::test_tokenize2 ... ok [INFO] [stdout] test parser::test_parse_full ... ok [INFO] [stdout] test content_extractor::test_extract_full_page ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 44 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] running `"docker" "inspect" "740fc134a71abdfa0657f1fb15d89b02ece1e63196129afa6a96ceb2431e5a49"` [INFO] running `"docker" "rm" "-f" "740fc134a71abdfa0657f1fb15d89b02ece1e63196129afa6a96ceb2431e5a49"` [INFO] [stdout] 740fc134a71abdfa0657f1fb15d89b02ece1e63196129afa6a96ceb2431e5a49