[INFO] updating cached repository racer161/dusty [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/racer161/dusty [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/racer161/dusty" "work/ex/clippy-test-run/sources/stable/gh/racer161/dusty"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/racer161/dusty'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/racer161/dusty" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/racer161/dusty"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/racer161/dusty'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] e921008dd4dc3f37569f6a8589082a4e264f00b3 [INFO] sha for GitHub repo racer161/dusty: e921008dd4dc3f37569f6a8589082a4e264f00b3 [INFO] validating manifest of racer161/dusty on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of racer161/dusty on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing racer161/dusty [INFO] finished frobbing racer161/dusty [INFO] frobbed toml for racer161/dusty written to work/ex/clippy-test-run/sources/stable/gh/racer161/dusty/Cargo.toml [INFO] started frobbing racer161/dusty [INFO] finished frobbing racer161/dusty [INFO] frobbed toml for racer161/dusty written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/racer161/dusty/Cargo.toml [INFO] crate racer161/dusty has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting racer161/dusty against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/racer161/dusty:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dclippy::into_iter_on_array" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 6e07e06560310b2e6acda5b1cd100af784f4ba8e7928fab1a924e130da866f44 [INFO] running `"docker" "start" "-a" "6e07e06560310b2e6acda5b1cd100af784f4ba8e7928fab1a924e130da866f44"` [INFO] [stderr] Checking dusty v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/dusty/connection/mod.rs:24:17 [INFO] [stderr] | [INFO] [stderr] 24 | request{filePath : filePath, size: size, streamChannel : streamChannel } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `filePath` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/dusty/connection/mod.rs:24:38 [INFO] [stderr] | [INFO] [stderr] 24 | request{filePath : filePath, size: size, streamChannel : streamChannel } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/dusty/connection/mod.rs:24:50 [INFO] [stderr] | [INFO] [stderr] 24 | request{filePath : filePath, size: size, streamChannel : streamChannel } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `streamChannel` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/dusty/connection/mod.rs:48:19 [INFO] [stderr] | [INFO] [stderr] 48 | response{ header : header, body : body} [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `header` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/dusty/connection/mod.rs:48:36 [INFO] [stderr] | [INFO] [stderr] 48 | response{ header : header, body : body} [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `body` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/dusty/connection/mod.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | con{buffer: buffer, stream : stream } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `buffer` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/dusty/connection/mod.rs:63:29 [INFO] [stderr] | [INFO] [stderr] 63 | con{buffer: buffer, stream : stream } [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `stream` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/dusty/connection/mod.rs:24:17 [INFO] [stderr] | [INFO] [stderr] 24 | request{filePath : filePath, size: size, streamChannel : streamChannel } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `filePath` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/dusty/connection/mod.rs:24:38 [INFO] [stderr] | [INFO] [stderr] 24 | request{filePath : filePath, size: size, streamChannel : streamChannel } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/dusty/connection/mod.rs:24:50 [INFO] [stderr] | [INFO] [stderr] 24 | request{filePath : filePath, size: size, streamChannel : streamChannel } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `streamChannel` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/dusty/connection/mod.rs:48:19 [INFO] [stderr] | [INFO] [stderr] 48 | response{ header : header, body : body} [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `header` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/dusty/connection/mod.rs:48:36 [INFO] [stderr] | [INFO] [stderr] 48 | response{ header : header, body : body} [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `body` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/dusty/connection/mod.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | con{buffer: buffer, stream : stream } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `buffer` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/dusty/connection/mod.rs:63:29 [INFO] [stderr] | [INFO] [stderr] 63 | con{buffer: buffer, stream : stream } [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `stream` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unused import: `TcpListener` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:7:16 [INFO] [stderr] | [INFO] [stderr] 7 | use std::net::{TcpListener, TcpStream}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::mem` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::mem; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/httpParser/mod.rs:66:5 [INFO] [stderr] | [INFO] [stderr] 66 | return (schedule,String::from(" ")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(schedule,String::from(" "))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/httpParser/mod.rs:95:29 [INFO] [stderr] | [INFO] [stderr] 95 | return connection::response::new(String::from("HTTP 404 NOT FOUND\r\n\r\n"),String::from(" "))//the file couldn't be read or couldn't be found [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `connection::response::new(String::from("HTTP 404 NOT FOUND\r\n\r\n"),String::from(" "))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/httpParser/mod.rs:101:29 [INFO] [stderr] | [INFO] [stderr] 101 | return connection::response::new(String::from("HTTP/1.1 200 OK\r\nServer: Dusty (Win64)\r\nConnection: Closed\r\n\r\n"),guard.read(pathBuilder::returnFullPath(&filePath).as_str())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `connection::response::new(String::from("HTTP/1.1 200 OK\r\nServer: Dusty (Win64)\r\nConnection: Closed\r\n\r\n"),guard.read(pathBuilder::returnFullPath(&filePath).as_str()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/httpParser/mod.rs:107:22 [INFO] [stderr] | [INFO] [stderr] 107 | _ => return connection::response::new(String::from("HTTP/1.1 200 OK\r\nServer: Dusty (Win64)\r\nConnection: Closed\r\n\r\n"),guard.read(pathBuilder::returnFullPath(&filePath).as_str())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `connection::response::new(String::from("HTTP/1.1 200 OK\r\nServer: Dusty (Win64)\r\nConnection: Closed\r\n\r\n"),guard.read(pathBuilder::returnFullPath(&filePath).as_str()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/httpParser/mod.rs:115:13 [INFO] [stderr] | [INFO] [stderr] 115 | return connection::response::new(String::from("HTTP 404 NOT FOUND"),String::from(" "))//the file couldn't be read or couldn't be found [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `connection::response::new(String::from("HTTP 404 NOT FOUND"),String::from(" "))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/httpParser/mod.rs:135:21 [INFO] [stderr] | [INFO] [stderr] 135 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/httpParser/mod.rs:147:29 [INFO] [stderr] | [INFO] [stderr] 147 | return Some(connection::request::new(filePath.clone(),guard.checkSize(&filePath.as_str()),streamChannel)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(connection::request::new(filePath.clone(),guard.checkSize(&filePath.as_str()),streamChannel))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/httpParser/mod.rs:151:29 [INFO] [stderr] | [INFO] [stderr] 151 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/httpParser/mod.rs:165:33 [INFO] [stderr] | [INFO] [stderr] 165 | return Some(connection::request::new(filePath.clone(),guard.checkSize(&filePath.as_str()),streamChannel)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(connection::request::new(filePath.clone(),guard.checkSize(&filePath.as_str()),streamChannel))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/httpParser/mod.rs:176:29 [INFO] [stderr] | [INFO] [stderr] 176 | return Some(connection::request::new(filePath.clone(),guard.checkSize(&filePath.as_str()),streamChannel)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(connection::request::new(filePath.clone(),guard.checkSize(&filePath.as_str()),streamChannel))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/httpParser/mod.rs:186:13 [INFO] [stderr] | [INFO] [stderr] 186 | return None [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/dusty/httpParser/mod.rs:154:21 [INFO] [stderr] | [INFO] [stderr] 154 | / { [INFO] [stderr] 155 | | if line.contains("GET") [INFO] [stderr] 156 | | { [INFO] [stderr] 157 | | let mut oneLineRequest : Vec<&str> = line.split_whitespace().collect(); [INFO] [stderr] ... | [INFO] [stderr] 178 | | [INFO] [stderr] 179 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 154 | if line.contains("GET") [INFO] [stderr] 155 | { [INFO] [stderr] 156 | let mut oneLineRequest : Vec<&str> = line.split_whitespace().collect(); [INFO] [stderr] 157 | [INFO] [stderr] 158 | let mut filePath = pathBuilder::returnFullPath(oneLineRequest[1]); [INFO] [stderr] 159 | //filePath.remove(0); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/dusty/pathBuilder/mod.rs:3:6 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/dusty/pathBuilder/mod.rs:5:6 [INFO] [stderr] | [INFO] [stderr] 5 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Path` [INFO] [stderr] --> src/dusty/pathBuilder/mod.rs:6:18 [INFO] [stderr] | [INFO] [stderr] 6 | use std::path::{Path,PathBuf}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/pathBuilder/mod.rs:27:36 [INFO] [stderr] | [INFO] [stderr] 27 | Some(finalPath) => return finalPath.to_string(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `finalPath.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/pathBuilder/mod.rs:31:25 [INFO] [stderr] | [INFO] [stderr] 31 | return String::from(s); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `String::from(s)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:19:9 [INFO] [stderr] | [INFO] [stderr] 19 | / return cache [INFO] [stderr] 20 | | { [INFO] [stderr] 21 | | c : HashMap::new(), [INFO] [stderr] 22 | | fileSize : HashMap::new() [INFO] [stderr] 23 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 19 | cache [INFO] [stderr] 20 | { [INFO] [stderr] 21 | c : HashMap::new(), [INFO] [stderr] 22 | fileSize : HashMap::new() [INFO] [stderr] 23 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | return self.c[path].clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.c[path].clone()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:41:21 [INFO] [stderr] | [INFO] [stderr] 41 | true => return self.fileSize[path], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.fileSize[path]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:42:22 [INFO] [stderr] | [INFO] [stderr] 42 | false => return 0//openFile(path) [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:65:21 [INFO] [stderr] | [INFO] [stderr] 65 | return readText(&mut fl, &filename) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `readText(&mut fl, &filename)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `TcpListener` [INFO] [stderr] --> src/dusty/connection/mod.rs:2:16 [INFO] [stderr] | [INFO] [stderr] 2 | use std::net::{TcpListener, TcpStream}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/dusty/connection/mod.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::*` [INFO] [stderr] --> src/dusty/connection/mod.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::io::*; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::mem` [INFO] [stderr] --> src/dusty/connection/mod.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::mem; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `TcpListener` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:1:16 [INFO] [stderr] | [INFO] [stderr] 1 | use std::net::{TcpListener, TcpStream}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:121:5 [INFO] [stderr] | [INFO] [stderr] 121 | return (parserChannels, gathererManager) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(parserChannels, gathererManager)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:150:5 [INFO] [stderr] | [INFO] [stderr] 150 | return send [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `send` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `TcpStream` [INFO] [stderr] --> src/main.rs:10:29 [INFO] [stderr] | [INFO] [stderr] 10 | use std::net::{TcpListener, TcpStream}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::mpsc::*` [INFO] [stderr] --> src/main.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use std::sync::mpsc::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/main.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::*` [INFO] [stderr] --> src/main.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::io::*; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::mem` [INFO] [stderr] --> src/main.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use std::mem; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `TcpListener` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:7:16 [INFO] [stderr] | [INFO] [stderr] 7 | use std::net::{TcpListener, TcpStream}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::mem` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::mem; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/httpParser/mod.rs:66:5 [INFO] [stderr] | [INFO] [stderr] 66 | return (schedule,String::from(" ")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(schedule,String::from(" "))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/httpParser/mod.rs:95:29 [INFO] [stderr] | [INFO] [stderr] 95 | return connection::response::new(String::from("HTTP 404 NOT FOUND\r\n\r\n"),String::from(" "))//the file couldn't be read or couldn't be found [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `connection::response::new(String::from("HTTP 404 NOT FOUND\r\n\r\n"),String::from(" "))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/httpParser/mod.rs:101:29 [INFO] [stderr] | [INFO] [stderr] 101 | return connection::response::new(String::from("HTTP/1.1 200 OK\r\nServer: Dusty (Win64)\r\nConnection: Closed\r\n\r\n"),guard.read(pathBuilder::returnFullPath(&filePath).as_str())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `connection::response::new(String::from("HTTP/1.1 200 OK\r\nServer: Dusty (Win64)\r\nConnection: Closed\r\n\r\n"),guard.read(pathBuilder::returnFullPath(&filePath).as_str()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/httpParser/mod.rs:107:22 [INFO] [stderr] | [INFO] [stderr] 107 | _ => return connection::response::new(String::from("HTTP/1.1 200 OK\r\nServer: Dusty (Win64)\r\nConnection: Closed\r\n\r\n"),guard.read(pathBuilder::returnFullPath(&filePath).as_str())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `connection::response::new(String::from("HTTP/1.1 200 OK\r\nServer: Dusty (Win64)\r\nConnection: Closed\r\n\r\n"),guard.read(pathBuilder::returnFullPath(&filePath).as_str()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/httpParser/mod.rs:115:13 [INFO] [stderr] | [INFO] [stderr] 115 | return connection::response::new(String::from("HTTP 404 NOT FOUND"),String::from(" "))//the file couldn't be read or couldn't be found [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `connection::response::new(String::from("HTTP 404 NOT FOUND"),String::from(" "))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/httpParser/mod.rs:135:21 [INFO] [stderr] | [INFO] [stderr] 135 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/httpParser/mod.rs:147:29 [INFO] [stderr] | [INFO] [stderr] 147 | return Some(connection::request::new(filePath.clone(),guard.checkSize(&filePath.as_str()),streamChannel)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(connection::request::new(filePath.clone(),guard.checkSize(&filePath.as_str()),streamChannel))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/httpParser/mod.rs:151:29 [INFO] [stderr] | [INFO] [stderr] 151 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/httpParser/mod.rs:165:33 [INFO] [stderr] | [INFO] [stderr] 165 | return Some(connection::request::new(filePath.clone(),guard.checkSize(&filePath.as_str()),streamChannel)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(connection::request::new(filePath.clone(),guard.checkSize(&filePath.as_str()),streamChannel))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/httpParser/mod.rs:176:29 [INFO] [stderr] | [INFO] [stderr] 176 | return Some(connection::request::new(filePath.clone(),guard.checkSize(&filePath.as_str()),streamChannel)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(connection::request::new(filePath.clone(),guard.checkSize(&filePath.as_str()),streamChannel))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/httpParser/mod.rs:186:13 [INFO] [stderr] | [INFO] [stderr] 186 | return None [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/dusty/httpParser/mod.rs:154:21 [INFO] [stderr] | [INFO] [stderr] 154 | / { [INFO] [stderr] 155 | | if line.contains("GET") [INFO] [stderr] 156 | | { [INFO] [stderr] 157 | | let mut oneLineRequest : Vec<&str> = line.split_whitespace().collect(); [INFO] [stderr] ... | [INFO] [stderr] 178 | | [INFO] [stderr] 179 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 154 | if line.contains("GET") [INFO] [stderr] 155 | { [INFO] [stderr] 156 | let mut oneLineRequest : Vec<&str> = line.split_whitespace().collect(); [INFO] [stderr] 157 | [INFO] [stderr] 158 | let mut filePath = pathBuilder::returnFullPath(oneLineRequest[1]); [INFO] [stderr] 159 | //filePath.remove(0); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/dusty/pathBuilder/mod.rs:3:6 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/dusty/pathBuilder/mod.rs:5:6 [INFO] [stderr] | [INFO] [stderr] 5 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Path` [INFO] [stderr] --> src/dusty/pathBuilder/mod.rs:6:18 [INFO] [stderr] | [INFO] [stderr] 6 | use std::path::{Path,PathBuf}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/pathBuilder/mod.rs:27:36 [INFO] [stderr] | [INFO] [stderr] 27 | Some(finalPath) => return finalPath.to_string(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `finalPath.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/pathBuilder/mod.rs:31:25 [INFO] [stderr] | [INFO] [stderr] 31 | return String::from(s); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `String::from(s)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:19:9 [INFO] [stderr] | [INFO] [stderr] 19 | / return cache [INFO] [stderr] 20 | | { [INFO] [stderr] 21 | | c : HashMap::new(), [INFO] [stderr] 22 | | fileSize : HashMap::new() [INFO] [stderr] 23 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 19 | cache [INFO] [stderr] 20 | { [INFO] [stderr] 21 | c : HashMap::new(), [INFO] [stderr] 22 | fileSize : HashMap::new() [INFO] [stderr] 23 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | return self.c[path].clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.c[path].clone()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:41:21 [INFO] [stderr] | [INFO] [stderr] 41 | true => return self.fileSize[path], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.fileSize[path]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:42:22 [INFO] [stderr] | [INFO] [stderr] 42 | false => return 0//openFile(path) [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:65:21 [INFO] [stderr] | [INFO] [stderr] 65 | return readText(&mut fl, &filename) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `readText(&mut fl, &filename)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `TcpListener` [INFO] [stderr] --> src/dusty/connection/mod.rs:2:16 [INFO] [stderr] | [INFO] [stderr] 2 | use std::net::{TcpListener, TcpStream}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/dusty/connection/mod.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::*` [INFO] [stderr] --> src/dusty/connection/mod.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::io::*; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::mem` [INFO] [stderr] --> src/dusty/connection/mod.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::mem; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `TcpListener` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:1:16 [INFO] [stderr] | [INFO] [stderr] 1 | use std::net::{TcpListener, TcpStream}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:121:5 [INFO] [stderr] | [INFO] [stderr] 121 | return (parserChannels, gathererManager) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(parserChannels, gathererManager)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:150:5 [INFO] [stderr] | [INFO] [stderr] 150 | return send [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `send` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `TcpStream` [INFO] [stderr] --> src/main.rs:10:29 [INFO] [stderr] | [INFO] [stderr] 10 | use std::net::{TcpListener, TcpStream}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::mpsc::*` [INFO] [stderr] --> src/main.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use std::sync::mpsc::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/main.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::*` [INFO] [stderr] --> src/main.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::io::*; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::mem` [INFO] [stderr] --> src/main.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use std::mem; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/dusty/httpParser/mod.rs:186:13 [INFO] [stderr] | [INFO] [stderr] 186 | return None [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/dusty/httpParser/mod.rs:186:13 [INFO] [stderr] | [INFO] [stderr] 186 | return None [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::prelude` [INFO] [stderr] --> src/dusty/pathBuilder/mod.rs:4:6 [INFO] [stderr] | [INFO] [stderr] 4 | use std::io::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:63:17 [INFO] [stderr] | [INFO] [stderr] 63 | Err(e) => println!("Error Reading to buffer in request!") [INFO] [stderr] | ^ help: consider using `_e` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `index` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:132:22 [INFO] [stderr] | [INFO] [stderr] 132 | Some(index) => [INFO] [stderr] | ^^^^^ help: consider using `_index` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:67:21 [INFO] [stderr] | [INFO] [stderr] 67 | Err(e) => [INFO] [stderr] | ^ help: consider using `_e` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `filename` [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:77:38 [INFO] [stderr] | [INFO] [stderr] 77 | fn readText(readable: &mut Read, filename: &str ) -> (String, usize) [INFO] [stderr] | ^^^^^^^^ help: consider using `_filename` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `headerTemplate` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:26:36 [INFO] [stderr] | [INFO] [stderr] 26 | let (schedule, headerTemplate) = httpParser::createRequestSchedule(&stream,localSend.clone(), cache.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider using `_headerTemplate` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:102:9 [INFO] [stderr] | [INFO] [stderr] 102 | for i in 0..gathererThreadPoolSize //Spawn gatherer threads [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | for i in 0..parserThreadPoolSize [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `gathererManager` [INFO] [stderr] --> src/main.rs:30:26 [INFO] [stderr] | [INFO] [stderr] 30 | let (parserChannels, gathererManager) = httpParserThread::createIndependentThreadPools(parserThreadCount,gathererThreadCount,sharedCache); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using `_gathererManager` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | let mut f = File::open(filename); [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: function is never used: `processHeader` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:70:1 [INFO] [stderr] | [INFO] [stderr] 70 | fn processHeader(header: &str, contentStart: usize) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `convertVecStrToU8` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:196:1 [INFO] [stderr] | [INFO] [stderr] 196 | fn convertVecStrToU8(responseBuffer : &Vec<&str>) -> Vec [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `con` [INFO] [stderr] --> src/dusty/connection/mod.rs:53:1 [INFO] [stderr] | [INFO] [stderr] 53 | pub struct con [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/dusty/connection/mod.rs:61:5 [INFO] [stderr] | [INFO] [stderr] 61 | pub fn new(buffer : String, stream : TcpStream) -> con [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: module `httpParser` should have a snake case name such as `http_parser` [INFO] [stderr] --> src/main.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | pub mod httpParser; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/dusty/httpParser/mod.rs:18:30 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn createRequestSchedule<'a>(req: &TcpStream, streamChannel : Sender, cache: Arc> ) -> (Vec, String) [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: function `createRequestSchedule` should have a snake case name such as `create_request_schedule` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | / pub fn createRequestSchedule<'a>(req: &TcpStream, streamChannel : Sender, cache: Arc> ) -> (Vec, String) [INFO] [stderr] 19 | | { [INFO] [stderr] 20 | | let mut schedule : Vec = Vec::new(); [INFO] [stderr] 21 | | [INFO] [stderr] ... | [INFO] [stderr] 66 | | return (schedule,String::from(" ")); [INFO] [stderr] 67 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable `streamChannel` should have a snake case name such as `stream_channel` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:18:51 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn createRequestSchedule<'a>(req: &TcpStream, streamChannel : Sender, cache: Arc> ) -> (Vec, String) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `lineBuffer` should have a snake case name such as `line_buffer` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 25 | let mut lineBuffer = String::with_capacity(512); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `newRequest` should have a snake case name such as `new_request` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:44:34 [INFO] [stderr] | [INFO] [stderr] 44 | Some(newRequest) => [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `processHeader` should have a snake case name such as `process_header` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:70:1 [INFO] [stderr] | [INFO] [stderr] 70 | / fn processHeader(header: &str, contentStart: usize) [INFO] [stderr] 71 | | { [INFO] [stderr] 72 | | println!("Header : {}", &header[0..contentStart]); [INFO] [stderr] 73 | | println!("Content : {}",&header[contentStart+1..header.len()]); [INFO] [stderr] 74 | | println!(); [INFO] [stderr] 75 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable `contentStart` should have a snake case name such as `content_start` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:70:32 [INFO] [stderr] | [INFO] [stderr] 70 | fn processHeader(header: &str, contentStart: usize) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `processFileRequest` should have a snake case name such as `process_file_request` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:79:1 [INFO] [stderr] | [INFO] [stderr] 79 | / pub fn processFileRequest<'a>(filePath: &'a str, cache: Arc>, size : usize) -> connection::response //The method called by the gatherer thread [INFO] [stderr] 80 | | { [INFO] [stderr] 81 | | match cache.lock() [INFO] [stderr] 82 | | { [INFO] [stderr] ... | [INFO] [stderr] 117 | | } [INFO] [stderr] 118 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::prelude` [INFO] [stderr] --> src/dusty/pathBuilder/mod.rs:4:6 [INFO] [stderr] | [INFO] [stderr] 4 | use std::io::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `filePath` should have a snake case name such as `file_path` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:79:31 [INFO] [stderr] | [INFO] [stderr] 79 | pub fn processFileRequest<'a>(filePath: &'a str, cache: Arc>, size : usize) -> connection::response //The method called by the gatherer thread [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `fileString` should have a snake case name such as `file_string` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:89:26 [INFO] [stderr] | [INFO] [stderr] 89 | let (fileString, size) = cacheManager::readNewUncachedFile(&filePath); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `processRequestLine` should have a snake case name such as `process_request_line` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:120:1 [INFO] [stderr] | [INFO] [stderr] 120 | / fn processRequestLine(line : &str, streamChannel : Sender, cache: Arc> ) -> Option [INFO] [stderr] 121 | | { [INFO] [stderr] 122 | | if line == "\r\n" [INFO] [stderr] 123 | | { [INFO] [stderr] ... | [INFO] [stderr] 188 | | } [INFO] [stderr] 189 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable `streamChannel` should have a snake case name such as `stream_channel` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:120:36 [INFO] [stderr] | [INFO] [stderr] 120 | fn processRequestLine(line : &str, streamChannel : Sender, cache: Arc> ) -> Option [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `oneLineRequest` should have a snake case name such as `one_line_request` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:142:29 [INFO] [stderr] | [INFO] [stderr] 142 | let mut oneLineRequest : Vec<&str> = line.split_whitespace().collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `filePath` should have a snake case name such as `file_path` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:145:33 [INFO] [stderr] | [INFO] [stderr] 145 | let filePath = pathBuilder::returnFullPath(oneLineRequest[1]); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `oneLineRequest` should have a snake case name such as `one_line_request` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:157:33 [INFO] [stderr] | [INFO] [stderr] 157 | let mut oneLineRequest : Vec<&str> = line.split_whitespace().collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `filePath` should have a snake case name such as `file_path` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:159:37 [INFO] [stderr] | [INFO] [stderr] 159 | let mut filePath = pathBuilder::returnFullPath(oneLineRequest[1]); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `filePath` should have a snake case name such as `file_path` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:169:33 [INFO] [stderr] | [INFO] [stderr] 169 | let mut filePath = pathBuilder::returnFullPath(&line); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/dusty/httpParser/mod.rs:196:39 [INFO] [stderr] | [INFO] [stderr] 196 | fn convertVecStrToU8(responseBuffer : &Vec<&str>) -> Vec [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[&str]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: function `convertVecStrToU8` should have a snake case name such as `convert_vec_str_to_u8` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:196:1 [INFO] [stderr] | [INFO] [stderr] 196 | / fn convertVecStrToU8(responseBuffer : &Vec<&str>) -> Vec [INFO] [stderr] 197 | | { [INFO] [stderr] 198 | | let mut str_as_u8 : Vec = Vec::new(); [INFO] [stderr] 199 | | for res in responseBuffer [INFO] [stderr] ... | [INFO] [stderr] 203 | | str_as_u8 [INFO] [stderr] 204 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable `responseBuffer` should have a snake case name such as `response_buffer` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:196:22 [INFO] [stderr] | [INFO] [stderr] 196 | fn convertVecStrToU8(responseBuffer : &Vec<&str>) -> Vec [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: module `pathBuilder` should have a snake case name such as `path_builder` [INFO] [stderr] --> src/main.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | pub mod pathBuilder; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/dusty/pathBuilder/mod.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | / pub fn returnFullPath<'b>(localPath: &'b str) -> String [INFO] [stderr] 10 | | { [INFO] [stderr] 11 | | match current_dir().unwrap().to_str() [INFO] [stderr] 12 | | { [INFO] [stderr] ... | [INFO] [stderr] 38 | | [INFO] [stderr] 39 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: function `returnFullPath` should have a snake case name such as `return_full_path` [INFO] [stderr] --> src/dusty/pathBuilder/mod.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | / pub fn returnFullPath<'b>(localPath: &'b str) -> String [INFO] [stderr] 10 | | { [INFO] [stderr] 11 | | match current_dir().unwrap().to_str() [INFO] [stderr] 12 | | { [INFO] [stderr] ... | [INFO] [stderr] 38 | | [INFO] [stderr] 39 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable `localPath` should have a snake case name such as `local_path` [INFO] [stderr] --> src/dusty/pathBuilder/mod.rs:9:27 [INFO] [stderr] | [INFO] [stderr] 9 | pub fn returnFullPath<'b>(localPath: &'b str) -> String [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `tempPath` should have a snake case name such as `temp_path` [INFO] [stderr] --> src/dusty/pathBuilder/mod.rs:16:17 [INFO] [stderr] | [INFO] [stderr] 16 | let mut tempPath = PathBuf::new(); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/dusty/pathBuilder/mod.rs:19:55 [INFO] [stderr] | [INFO] [stderr] 19 | let newPath : Vec<&str> = localPath.split("/").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: variable `newPath` should have a snake case name such as `new_path` [INFO] [stderr] --> src/dusty/pathBuilder/mod.rs:19:17 [INFO] [stderr] | [INFO] [stderr] 19 | let newPath : Vec<&str> = localPath.split("/").collect(); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `finalPath` should have a snake case name such as `final_path` [INFO] [stderr] --> src/dusty/pathBuilder/mod.rs:27:22 [INFO] [stderr] | [INFO] [stderr] 27 | Some(finalPath) => return finalPath.to_string(), [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: module `cacheManager` should have a snake case name such as `cache_manager` [INFO] [stderr] --> src/main.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | pub mod cacheManager; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `cache` should have a camel case name such as `Cache` [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | / pub struct cache [INFO] [stderr] 9 | | { [INFO] [stderr] 10 | | c : HashMap, [INFO] [stderr] 11 | | fileSize : HashMap [INFO] [stderr] 12 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_camel_case_types)] on by default [INFO] [stderr] [INFO] [stderr] warning: structure field `fileSize` should have a snake case name such as `file_size` [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | fileSize : HashMap [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `checkSize` should have a snake case name such as `check_size` [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | / pub fn checkSize(&mut self, path : &str) -> usize [INFO] [stderr] 38 | | { [INFO] [stderr] 39 | | match self.fileSize.contains_key(path) [INFO] [stderr] 40 | | { [INFO] [stderr] ... | [INFO] [stderr] 43 | | } [INFO] [stderr] 44 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | / match self.fileSize.contains_key(path) [INFO] [stderr] 40 | | { [INFO] [stderr] 41 | | true => return self.fileSize[path], [INFO] [stderr] 42 | | false => return 0//openFile(path) [INFO] [stderr] 43 | | } [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if self.fileSize.contains_key(path) { return self.fileSize[path] } else { return 0 }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: method `insertNewCacheItem` should have a snake case name such as `insert_new_cache_item` [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | / pub fn insertNewCacheItem(&mut self , path : &str, FileStr: String) -> usize [INFO] [stderr] 48 | | { [INFO] [stderr] 49 | | self.c.insert(path.to_string(),FileStr.clone()); [INFO] [stderr] 50 | | self.fileSize.insert(path.to_string(),FileStr.len()); [INFO] [stderr] 51 | | FileStr.len() [INFO] [stderr] 52 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:63:17 [INFO] [stderr] | [INFO] [stderr] 63 | Err(e) => println!("Error Reading to buffer in request!") [INFO] [stderr] | ^ help: consider using `_e` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `index` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:132:22 [INFO] [stderr] | [INFO] [stderr] 132 | Some(index) => [INFO] [stderr] | ^^^^^ help: consider using `_index` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:67:21 [INFO] [stderr] | [INFO] [stderr] 67 | Err(e) => [INFO] [stderr] | ^ help: consider using `_e` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `filename` [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:77:38 [INFO] [stderr] | [INFO] [stderr] 77 | fn readText(readable: &mut Read, filename: &str ) -> (String, usize) [INFO] [stderr] | ^^^^^^^^ help: consider using `_filename` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `headerTemplate` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:26:36 [INFO] [stderr] | [INFO] [stderr] 26 | let (schedule, headerTemplate) = httpParser::createRequestSchedule(&stream,localSend.clone(), cache.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider using `_headerTemplate` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:102:9 [INFO] [stderr] | [INFO] [stderr] 102 | for i in 0..gathererThreadPoolSize //Spawn gatherer threads [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | for i in 0..parserThreadPoolSize [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `gathererManager` [INFO] [stderr] --> src/main.rs:30:26 [INFO] [stderr] | [INFO] [stderr] 30 | let (parserChannels, gathererManager) = httpParserThread::createIndependentThreadPools(parserThreadCount,gathererThreadCount,sharedCache); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using `_gathererManager` instead [INFO] [stderr] [INFO] [stderr] warning: variable `FileStr` should have a snake case name such as `file_str` [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:47:56 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn insertNewCacheItem(&mut self , path : &str, FileStr: String) -> usize [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `readNewUncachedFile` should have a snake case name such as `read_new_uncached_file` [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:57:5 [INFO] [stderr] | [INFO] [stderr] 57 | / pub fn readNewUncachedFile(filename: &str) -> (String, usize) [INFO] [stderr] 58 | | { [INFO] [stderr] 59 | | let mut f = File::open(filename); [INFO] [stderr] 60 | | match f [INFO] [stderr] ... | [INFO] [stderr] 73 | | } [INFO] [stderr] 74 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: function `readText` should have a snake case name such as `read_text` [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | / fn readText(readable: &mut Read, filename: &str ) -> (String, usize) [INFO] [stderr] 78 | | { [INFO] [stderr] 79 | | let mut s = String::new(); [INFO] [stderr] 80 | | let lenRead = readable.read_to_string(&mut s); [INFO] [stderr] ... | [INFO] [stderr] 94 | | } [INFO] [stderr] 95 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variable `lenRead` should have a snake case name such as `len_read` [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | let lenRead = readable.read_to_string(&mut s); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `lR` should have a snake case name such as `l_r` [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:83:24 [INFO] [stderr] | [INFO] [stderr] 83 | Ok(lR) => [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: type `request` should have a camel case name such as `Request` [INFO] [stderr] --> src/dusty/connection/mod.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | / pub struct request [INFO] [stderr] 14 | | { [INFO] [stderr] 15 | | pub filePath : String, [INFO] [stderr] 16 | | pub size : usize, [INFO] [stderr] 17 | | pub streamChannel : Sender [INFO] [stderr] 18 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: structure field `filePath` should have a snake case name such as `file_path` [INFO] [stderr] --> src/dusty/connection/mod.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | pub filePath : String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: structure field `streamChannel` should have a snake case name such as `stream_channel` [INFO] [stderr] --> src/dusty/connection/mod.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | pub streamChannel : Sender [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `filePath` should have a snake case name such as `file_path` [INFO] [stderr] --> src/dusty/connection/mod.rs:22:16 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn new(filePath : String, size: usize, streamChannel : Sender) -> request [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `streamChannel` should have a snake case name such as `stream_channel` [INFO] [stderr] --> src/dusty/connection/mod.rs:22:48 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn new(filePath : String, size: usize, streamChannel : Sender) -> request [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `response` should have a camel case name such as `Response` [INFO] [stderr] --> src/dusty/connection/mod.rs:38:1 [INFO] [stderr] | [INFO] [stderr] 38 | / pub struct response [INFO] [stderr] 39 | | { [INFO] [stderr] 40 | | pub body : String, [INFO] [stderr] 41 | | pub header : String [INFO] [stderr] 42 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: type `con` should have a camel case name such as `Con` [INFO] [stderr] --> src/dusty/connection/mod.rs:53:1 [INFO] [stderr] | [INFO] [stderr] 53 | / pub struct con [INFO] [stderr] 54 | | { [INFO] [stderr] 55 | | pub buffer: String, [INFO] [stderr] 56 | | pub stream: TcpStream [INFO] [stderr] 57 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: module `httpParserThread` should have a snake case name such as `http_parser_thread` [INFO] [stderr] --> src/main.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | pub mod httpParserThread; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `spawnNewParserThread` should have a snake case name such as `spawn_new_parser_thread` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | / pub fn spawnNewParserThread(streamReceiver : Receiver, gathererManagerChannel : Sender, cache: Arc>) [INFO] [stderr] 13 | | { [INFO] [stderr] 14 | | thread::spawn(move || [INFO] [stderr] 15 | | { [INFO] [stderr] ... | [INFO] [stderr] 66 | | [INFO] [stderr] 67 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable `streamReceiver` should have a snake case name such as `stream_receiver` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:12:29 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn spawnNewParserThread(streamReceiver : Receiver, gathererManagerChannel : Sender, cache: Arc>) [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `gathererManagerChannel` should have a snake case name such as `gatherer_manager_channel` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:12:67 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn spawnNewParserThread(streamReceiver : Receiver, gathererManagerChannel : Sender, cache: Arc>) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `localSend` should have a snake case name such as `local_send` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:17:14 [INFO] [stderr] | [INFO] [stderr] 17 | let (localSend, localRecv) = channel::(); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `localRecv` should have a snake case name such as `local_recv` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:17:25 [INFO] [stderr] | [INFO] [stderr] 17 | let (localSend, localRecv) = channel::(); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `headerTemplate` should have a snake case name such as `header_template` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:26:36 [INFO] [stderr] | [INFO] [stderr] 26 | let (schedule, headerTemplate) = httpParser::createRequestSchedule(&stream,localSend.clone(), cache.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `requestCount` should have a snake case name such as `request_count` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:29:25 [INFO] [stderr] | [INFO] [stderr] 29 | let mut requestCount = schedule.len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:35:25 [INFO] [stderr] | [INFO] [stderr] 35 | gathererManagerChannel.send(req); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:50:33 [INFO] [stderr] | [INFO] [stderr] 50 | stream.write(response.header.as_bytes()).expect("Error Writing to Socket!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:53:33 [INFO] [stderr] | [INFO] [stderr] 53 | stream.write(response.body.as_bytes()).expect("Error Writing to Socket!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: function `spawnNewGathererThread` should have a snake case name such as `spawn_new_gatherer_thread` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:70:1 [INFO] [stderr] | [INFO] [stderr] 70 | / pub fn spawnNewGathererThread(requestReceiver : Receiver, cache: Arc>) //Creates a new thread with the given request Receiver [INFO] [stderr] 71 | | { [INFO] [stderr] 72 | | thread::spawn(move || [INFO] [stderr] 73 | | { [INFO] [stderr] ... | [INFO] [stderr] 88 | | }); [INFO] [stderr] 89 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable `requestReceiver` should have a snake case name such as `request_receiver` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:70:31 [INFO] [stderr] | [INFO] [stderr] 70 | pub fn spawnNewGathererThread(requestReceiver : Receiver, cache: Arc>) //Creates a new thread with the given request Receiver [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `createIndependentThreadPools` should have a snake case name such as `create_independent_thread_pools` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:93:1 [INFO] [stderr] | [INFO] [stderr] 93 | / pub fn createIndependentThreadPools(parserThreadPoolSize: usize, gathererThreadPoolSize: usize , cache: Arc>) -> (Vec>,Sender) [INFO] [stderr] 94 | | { [INFO] [stderr] 95 | | //These are the meat and potatos of dusty [INFO] [stderr] 96 | | //They are simply a vec pointing to channels [INFO] [stderr] ... | [INFO] [stderr] 122 | | [INFO] [stderr] 123 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable `parserThreadPoolSize` should have a snake case name such as `parser_thread_pool_size` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:93:37 [INFO] [stderr] | [INFO] [stderr] 93 | pub fn createIndependentThreadPools(parserThreadPoolSize: usize, gathererThreadPoolSize: usize , cache: Arc>) -> (Vec>,Sender) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `gathererThreadPoolSize` should have a snake case name such as `gatherer_thread_pool_size` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:93:66 [INFO] [stderr] | [INFO] [stderr] 93 | pub fn createIndependentThreadPools(parserThreadPoolSize: usize, gathererThreadPoolSize: usize , cache: Arc>) -> (Vec>,Sender) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `gathererChannels` should have a snake case name such as `gatherer_channels` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 98 | let mut gathererChannels : Vec> = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `parserChannels` should have a snake case name such as `parser_channels` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:99:9 [INFO] [stderr] | [INFO] [stderr] 99 | let mut parserChannels : Vec> = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `gathererManager` should have a snake case name such as `gatherer_manager` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:110:9 [INFO] [stderr] | [INFO] [stderr] 110 | let gathererManager : Sender = spawnGathererManagerThread(gathererChannels); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `spawnGathererManagerThread` should have a snake case name such as `spawn_gatherer_manager_thread` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:126:1 [INFO] [stderr] | [INFO] [stderr] 126 | / pub fn spawnGathererManagerThread(channels : Vec>) -> Sender [INFO] [stderr] 127 | | { [INFO] [stderr] 128 | | let (send, recv) = channel::(); [INFO] [stderr] 129 | | thread::spawn(move || [INFO] [stderr] ... | [INFO] [stderr] 150 | | return send [INFO] [stderr] 151 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable `channelIndex` should have a snake case name such as `channel_index` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:131:13 [INFO] [stderr] | [INFO] [stderr] 131 | let mut channelIndex : usize = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:141:21 [INFO] [stderr] | [INFO] [stderr] 141 | channels[channelIndex].send(req); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: variable `parserThreadCount` should have a snake case name such as `parser_thread_count` [INFO] [stderr] --> src/main.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 23 | let parserThreadCount : usize = 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `gathererThreadCount` should have a snake case name such as `gatherer_thread_count` [INFO] [stderr] --> src/main.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | let gathererThreadCount : usize = 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `sharedCache` should have a snake case name such as `shared_cache` [INFO] [stderr] --> src/main.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | let sharedCache : Arc> = Arc::new(Mutex::new(cacheManager::cache::new())); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `parserChannels` should have a snake case name such as `parser_channels` [INFO] [stderr] --> src/main.rs:30:10 [INFO] [stderr] | [INFO] [stderr] 30 | let (parserChannels, gathererManager) = httpParserThread::createIndependentThreadPools(parserThreadCount,gathererThreadCount,sharedCache); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `gathererManager` should have a snake case name such as `gatherer_manager` [INFO] [stderr] --> src/main.rs:30:26 [INFO] [stderr] | [INFO] [stderr] 30 | let (parserChannels, gathererManager) = httpParserThread::createIndependentThreadPools(parserThreadCount,gathererThreadCount,sharedCache); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `parserIndex` should have a snake case name such as `parser_index` [INFO] [stderr] --> src/main.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | let mut parserIndex = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:41:25 [INFO] [stderr] | [INFO] [stderr] 41 | parserChannels[parserIndex].send(stream); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | let mut f = File::open(filename); [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] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `dusty`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: function is never used: `processHeader` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:70:1 [INFO] [stderr] | [INFO] [stderr] 70 | fn processHeader(header: &str, contentStart: usize) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `convertVecStrToU8` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:196:1 [INFO] [stderr] | [INFO] [stderr] 196 | fn convertVecStrToU8(responseBuffer : &Vec<&str>) -> Vec [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `con` [INFO] [stderr] --> src/dusty/connection/mod.rs:53:1 [INFO] [stderr] | [INFO] [stderr] 53 | pub struct con [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/dusty/connection/mod.rs:61:5 [INFO] [stderr] | [INFO] [stderr] 61 | pub fn new(buffer : String, stream : TcpStream) -> con [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: module `httpParser` should have a snake case name such as `http_parser` [INFO] [stderr] --> src/main.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | pub mod httpParser; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/dusty/httpParser/mod.rs:18:30 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn createRequestSchedule<'a>(req: &TcpStream, streamChannel : Sender, cache: Arc> ) -> (Vec, String) [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: function `createRequestSchedule` should have a snake case name such as `create_request_schedule` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | / pub fn createRequestSchedule<'a>(req: &TcpStream, streamChannel : Sender, cache: Arc> ) -> (Vec, String) [INFO] [stderr] 19 | | { [INFO] [stderr] 20 | | let mut schedule : Vec = Vec::new(); [INFO] [stderr] 21 | | [INFO] [stderr] ... | [INFO] [stderr] 66 | | return (schedule,String::from(" ")); [INFO] [stderr] 67 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable `streamChannel` should have a snake case name such as `stream_channel` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:18:51 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn createRequestSchedule<'a>(req: &TcpStream, streamChannel : Sender, cache: Arc> ) -> (Vec, String) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `lineBuffer` should have a snake case name such as `line_buffer` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 25 | let mut lineBuffer = String::with_capacity(512); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `newRequest` should have a snake case name such as `new_request` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:44:34 [INFO] [stderr] | [INFO] [stderr] 44 | Some(newRequest) => [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `processHeader` should have a snake case name such as `process_header` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:70:1 [INFO] [stderr] | [INFO] [stderr] 70 | / fn processHeader(header: &str, contentStart: usize) [INFO] [stderr] 71 | | { [INFO] [stderr] 72 | | println!("Header : {}", &header[0..contentStart]); [INFO] [stderr] 73 | | println!("Content : {}",&header[contentStart+1..header.len()]); [INFO] [stderr] 74 | | println!(); [INFO] [stderr] 75 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable `contentStart` should have a snake case name such as `content_start` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:70:32 [INFO] [stderr] | [INFO] [stderr] 70 | fn processHeader(header: &str, contentStart: usize) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `processFileRequest` should have a snake case name such as `process_file_request` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:79:1 [INFO] [stderr] | [INFO] [stderr] 79 | / pub fn processFileRequest<'a>(filePath: &'a str, cache: Arc>, size : usize) -> connection::response //The method called by the gatherer thread [INFO] [stderr] 80 | | { [INFO] [stderr] 81 | | match cache.lock() [INFO] [stderr] 82 | | { [INFO] [stderr] ... | [INFO] [stderr] 117 | | } [INFO] [stderr] 118 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable `filePath` should have a snake case name such as `file_path` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:79:31 [INFO] [stderr] | [INFO] [stderr] 79 | pub fn processFileRequest<'a>(filePath: &'a str, cache: Arc>, size : usize) -> connection::response //The method called by the gatherer thread [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `fileString` should have a snake case name such as `file_string` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:89:26 [INFO] [stderr] | [INFO] [stderr] 89 | let (fileString, size) = cacheManager::readNewUncachedFile(&filePath); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `processRequestLine` should have a snake case name such as `process_request_line` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:120:1 [INFO] [stderr] | [INFO] [stderr] 120 | / fn processRequestLine(line : &str, streamChannel : Sender, cache: Arc> ) -> Option [INFO] [stderr] 121 | | { [INFO] [stderr] 122 | | if line == "\r\n" [INFO] [stderr] 123 | | { [INFO] [stderr] ... | [INFO] [stderr] 188 | | } [INFO] [stderr] 189 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable `streamChannel` should have a snake case name such as `stream_channel` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:120:36 [INFO] [stderr] | [INFO] [stderr] 120 | fn processRequestLine(line : &str, streamChannel : Sender, cache: Arc> ) -> Option [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `oneLineRequest` should have a snake case name such as `one_line_request` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:142:29 [INFO] [stderr] | [INFO] [stderr] 142 | let mut oneLineRequest : Vec<&str> = line.split_whitespace().collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `filePath` should have a snake case name such as `file_path` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:145:33 [INFO] [stderr] | [INFO] [stderr] 145 | let filePath = pathBuilder::returnFullPath(oneLineRequest[1]); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `oneLineRequest` should have a snake case name such as `one_line_request` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:157:33 [INFO] [stderr] | [INFO] [stderr] 157 | let mut oneLineRequest : Vec<&str> = line.split_whitespace().collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `filePath` should have a snake case name such as `file_path` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:159:37 [INFO] [stderr] | [INFO] [stderr] 159 | let mut filePath = pathBuilder::returnFullPath(oneLineRequest[1]); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `filePath` should have a snake case name such as `file_path` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:169:33 [INFO] [stderr] | [INFO] [stderr] 169 | let mut filePath = pathBuilder::returnFullPath(&line); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/dusty/httpParser/mod.rs:196:39 [INFO] [stderr] | [INFO] [stderr] 196 | fn convertVecStrToU8(responseBuffer : &Vec<&str>) -> Vec [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[&str]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: function `convertVecStrToU8` should have a snake case name such as `convert_vec_str_to_u8` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:196:1 [INFO] [stderr] | [INFO] [stderr] 196 | / fn convertVecStrToU8(responseBuffer : &Vec<&str>) -> Vec [INFO] [stderr] 197 | | { [INFO] [stderr] 198 | | let mut str_as_u8 : Vec = Vec::new(); [INFO] [stderr] 199 | | for res in responseBuffer [INFO] [stderr] ... | [INFO] [stderr] 203 | | str_as_u8 [INFO] [stderr] 204 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable `responseBuffer` should have a snake case name such as `response_buffer` [INFO] [stderr] --> src/dusty/httpParser/mod.rs:196:22 [INFO] [stderr] | [INFO] [stderr] 196 | fn convertVecStrToU8(responseBuffer : &Vec<&str>) -> Vec [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: module `pathBuilder` should have a snake case name such as `path_builder` [INFO] [stderr] --> src/main.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | pub mod pathBuilder; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/dusty/pathBuilder/mod.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | / pub fn returnFullPath<'b>(localPath: &'b str) -> String [INFO] [stderr] 10 | | { [INFO] [stderr] 11 | | match current_dir().unwrap().to_str() [INFO] [stderr] 12 | | { [INFO] [stderr] ... | [INFO] [stderr] 38 | | [INFO] [stderr] 39 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: function `returnFullPath` should have a snake case name such as `return_full_path` [INFO] [stderr] --> src/dusty/pathBuilder/mod.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | / pub fn returnFullPath<'b>(localPath: &'b str) -> String [INFO] [stderr] 10 | | { [INFO] [stderr] 11 | | match current_dir().unwrap().to_str() [INFO] [stderr] 12 | | { [INFO] [stderr] ... | [INFO] [stderr] 38 | | [INFO] [stderr] 39 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable `localPath` should have a snake case name such as `local_path` [INFO] [stderr] --> src/dusty/pathBuilder/mod.rs:9:27 [INFO] [stderr] | [INFO] [stderr] 9 | pub fn returnFullPath<'b>(localPath: &'b str) -> String [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `tempPath` should have a snake case name such as `temp_path` [INFO] [stderr] --> src/dusty/pathBuilder/mod.rs:16:17 [INFO] [stderr] | [INFO] [stderr] 16 | let mut tempPath = PathBuf::new(); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/dusty/pathBuilder/mod.rs:19:55 [INFO] [stderr] | [INFO] [stderr] 19 | let newPath : Vec<&str> = localPath.split("/").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: variable `newPath` should have a snake case name such as `new_path` [INFO] [stderr] --> src/dusty/pathBuilder/mod.rs:19:17 [INFO] [stderr] | [INFO] [stderr] 19 | let newPath : Vec<&str> = localPath.split("/").collect(); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `finalPath` should have a snake case name such as `final_path` [INFO] [stderr] --> src/dusty/pathBuilder/mod.rs:27:22 [INFO] [stderr] | [INFO] [stderr] 27 | Some(finalPath) => return finalPath.to_string(), [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: module `cacheManager` should have a snake case name such as `cache_manager` [INFO] [stderr] --> src/main.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | pub mod cacheManager; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `cache` should have a camel case name such as `Cache` [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | / pub struct cache [INFO] [stderr] 9 | | { [INFO] [stderr] 10 | | c : HashMap, [INFO] [stderr] 11 | | fileSize : HashMap [INFO] [stderr] 12 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_camel_case_types)] on by default [INFO] [stderr] [INFO] [stderr] warning: structure field `fileSize` should have a snake case name such as `file_size` [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | fileSize : HashMap [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `checkSize` should have a snake case name such as `check_size` [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | / pub fn checkSize(&mut self, path : &str) -> usize [INFO] [stderr] 38 | | { [INFO] [stderr] 39 | | match self.fileSize.contains_key(path) [INFO] [stderr] 40 | | { [INFO] [stderr] ... | [INFO] [stderr] 43 | | } [INFO] [stderr] 44 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | / match self.fileSize.contains_key(path) [INFO] [stderr] 40 | | { [INFO] [stderr] 41 | | true => return self.fileSize[path], [INFO] [stderr] 42 | | false => return 0//openFile(path) [INFO] [stderr] 43 | | } [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if self.fileSize.contains_key(path) { return self.fileSize[path] } else { return 0 }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: method `insertNewCacheItem` should have a snake case name such as `insert_new_cache_item` [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | / pub fn insertNewCacheItem(&mut self , path : &str, FileStr: String) -> usize [INFO] [stderr] 48 | | { [INFO] [stderr] 49 | | self.c.insert(path.to_string(),FileStr.clone()); [INFO] [stderr] 50 | | self.fileSize.insert(path.to_string(),FileStr.len()); [INFO] [stderr] 51 | | FileStr.len() [INFO] [stderr] 52 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variable `FileStr` should have a snake case name such as `file_str` [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:47:56 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn insertNewCacheItem(&mut self , path : &str, FileStr: String) -> usize [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `readNewUncachedFile` should have a snake case name such as `read_new_uncached_file` [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:57:5 [INFO] [stderr] | [INFO] [stderr] 57 | / pub fn readNewUncachedFile(filename: &str) -> (String, usize) [INFO] [stderr] 58 | | { [INFO] [stderr] 59 | | let mut f = File::open(filename); [INFO] [stderr] 60 | | match f [INFO] [stderr] ... | [INFO] [stderr] 73 | | } [INFO] [stderr] 74 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: function `readText` should have a snake case name such as `read_text` [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | / fn readText(readable: &mut Read, filename: &str ) -> (String, usize) [INFO] [stderr] 78 | | { [INFO] [stderr] 79 | | let mut s = String::new(); [INFO] [stderr] 80 | | let lenRead = readable.read_to_string(&mut s); [INFO] [stderr] ... | [INFO] [stderr] 94 | | } [INFO] [stderr] 95 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variable `lenRead` should have a snake case name such as `len_read` [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | let lenRead = readable.read_to_string(&mut s); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `lR` should have a snake case name such as `l_r` [INFO] [stderr] --> src/dusty/cacheManager/mod.rs:83:24 [INFO] [stderr] | [INFO] [stderr] 83 | Ok(lR) => [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: type `request` should have a camel case name such as `Request` [INFO] [stderr] --> src/dusty/connection/mod.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | / pub struct request [INFO] [stderr] 14 | | { [INFO] [stderr] 15 | | pub filePath : String, [INFO] [stderr] 16 | | pub size : usize, [INFO] [stderr] 17 | | pub streamChannel : Sender [INFO] [stderr] 18 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: structure field `filePath` should have a snake case name such as `file_path` [INFO] [stderr] --> src/dusty/connection/mod.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | pub filePath : String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: structure field `streamChannel` should have a snake case name such as `stream_channel` [INFO] [stderr] --> src/dusty/connection/mod.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | pub streamChannel : Sender [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `filePath` should have a snake case name such as `file_path` [INFO] [stderr] --> src/dusty/connection/mod.rs:22:16 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn new(filePath : String, size: usize, streamChannel : Sender) -> request [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `streamChannel` should have a snake case name such as `stream_channel` [INFO] [stderr] --> src/dusty/connection/mod.rs:22:48 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn new(filePath : String, size: usize, streamChannel : Sender) -> request [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `response` should have a camel case name such as `Response` [INFO] [stderr] --> src/dusty/connection/mod.rs:38:1 [INFO] [stderr] | [INFO] [stderr] 38 | / pub struct response [INFO] [stderr] 39 | | { [INFO] [stderr] 40 | | pub body : String, [INFO] [stderr] 41 | | pub header : String [INFO] [stderr] 42 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: type `con` should have a camel case name such as `Con` [INFO] [stderr] --> src/dusty/connection/mod.rs:53:1 [INFO] [stderr] | [INFO] [stderr] 53 | / pub struct con [INFO] [stderr] 54 | | { [INFO] [stderr] 55 | | pub buffer: String, [INFO] [stderr] 56 | | pub stream: TcpStream [INFO] [stderr] 57 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: module `httpParserThread` should have a snake case name such as `http_parser_thread` [INFO] [stderr] --> src/main.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | pub mod httpParserThread; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `spawnNewParserThread` should have a snake case name such as `spawn_new_parser_thread` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | / pub fn spawnNewParserThread(streamReceiver : Receiver, gathererManagerChannel : Sender, cache: Arc>) [INFO] [stderr] 13 | | { [INFO] [stderr] 14 | | thread::spawn(move || [INFO] [stderr] 15 | | { [INFO] [stderr] ... | [INFO] [stderr] 66 | | [INFO] [stderr] 67 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable `streamReceiver` should have a snake case name such as `stream_receiver` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:12:29 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn spawnNewParserThread(streamReceiver : Receiver, gathererManagerChannel : Sender, cache: Arc>) [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `gathererManagerChannel` should have a snake case name such as `gatherer_manager_channel` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:12:67 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn spawnNewParserThread(streamReceiver : Receiver, gathererManagerChannel : Sender, cache: Arc>) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `localSend` should have a snake case name such as `local_send` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:17:14 [INFO] [stderr] | [INFO] [stderr] 17 | let (localSend, localRecv) = channel::(); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `localRecv` should have a snake case name such as `local_recv` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:17:25 [INFO] [stderr] | [INFO] [stderr] 17 | let (localSend, localRecv) = channel::(); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `headerTemplate` should have a snake case name such as `header_template` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:26:36 [INFO] [stderr] | [INFO] [stderr] 26 | let (schedule, headerTemplate) = httpParser::createRequestSchedule(&stream,localSend.clone(), cache.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `requestCount` should have a snake case name such as `request_count` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:29:25 [INFO] [stderr] | [INFO] [stderr] 29 | let mut requestCount = schedule.len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:35:25 [INFO] [stderr] | [INFO] [stderr] 35 | gathererManagerChannel.send(req); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:50:33 [INFO] [stderr] | [INFO] [stderr] 50 | stream.write(response.header.as_bytes()).expect("Error Writing to Socket!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:53:33 [INFO] [stderr] | [INFO] [stderr] 53 | stream.write(response.body.as_bytes()).expect("Error Writing to Socket!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: function `spawnNewGathererThread` should have a snake case name such as `spawn_new_gatherer_thread` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:70:1 [INFO] [stderr] | [INFO] [stderr] 70 | / pub fn spawnNewGathererThread(requestReceiver : Receiver, cache: Arc>) //Creates a new thread with the given request Receiver [INFO] [stderr] 71 | | { [INFO] [stderr] 72 | | thread::spawn(move || [INFO] [stderr] 73 | | { [INFO] [stderr] ... | [INFO] [stderr] 88 | | }); [INFO] [stderr] 89 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable `requestReceiver` should have a snake case name such as `request_receiver` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:70:31 [INFO] [stderr] | [INFO] [stderr] 70 | pub fn spawnNewGathererThread(requestReceiver : Receiver, cache: Arc>) //Creates a new thread with the given request Receiver [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `createIndependentThreadPools` should have a snake case name such as `create_independent_thread_pools` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:93:1 [INFO] [stderr] | [INFO] [stderr] 93 | / pub fn createIndependentThreadPools(parserThreadPoolSize: usize, gathererThreadPoolSize: usize , cache: Arc>) -> (Vec>,Sender) [INFO] [stderr] 94 | | { [INFO] [stderr] 95 | | //These are the meat and potatos of dusty [INFO] [stderr] 96 | | //They are simply a vec pointing to channels [INFO] [stderr] ... | [INFO] [stderr] 122 | | [INFO] [stderr] 123 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable `parserThreadPoolSize` should have a snake case name such as `parser_thread_pool_size` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:93:37 [INFO] [stderr] | [INFO] [stderr] 93 | pub fn createIndependentThreadPools(parserThreadPoolSize: usize, gathererThreadPoolSize: usize , cache: Arc>) -> (Vec>,Sender) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `gathererThreadPoolSize` should have a snake case name such as `gatherer_thread_pool_size` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:93:66 [INFO] [stderr] | [INFO] [stderr] 93 | pub fn createIndependentThreadPools(parserThreadPoolSize: usize, gathererThreadPoolSize: usize , cache: Arc>) -> (Vec>,Sender) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `gathererChannels` should have a snake case name such as `gatherer_channels` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 98 | let mut gathererChannels : Vec> = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `parserChannels` should have a snake case name such as `parser_channels` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:99:9 [INFO] [stderr] | [INFO] [stderr] 99 | let mut parserChannels : Vec> = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `gathererManager` should have a snake case name such as `gatherer_manager` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:110:9 [INFO] [stderr] | [INFO] [stderr] 110 | let gathererManager : Sender = spawnGathererManagerThread(gathererChannels); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `spawnGathererManagerThread` should have a snake case name such as `spawn_gatherer_manager_thread` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:126:1 [INFO] [stderr] | [INFO] [stderr] 126 | / pub fn spawnGathererManagerThread(channels : Vec>) -> Sender [INFO] [stderr] 127 | | { [INFO] [stderr] 128 | | let (send, recv) = channel::(); [INFO] [stderr] 129 | | thread::spawn(move || [INFO] [stderr] ... | [INFO] [stderr] 150 | | return send [INFO] [stderr] 151 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable `channelIndex` should have a snake case name such as `channel_index` [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:131:13 [INFO] [stderr] | [INFO] [stderr] 131 | let mut channelIndex : usize = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/dusty/httpParserThread/mod.rs:141:21 [INFO] [stderr] | [INFO] [stderr] 141 | channels[channelIndex].send(req); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: variable `parserThreadCount` should have a snake case name such as `parser_thread_count` [INFO] [stderr] --> src/main.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 23 | let parserThreadCount : usize = 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `gathererThreadCount` should have a snake case name such as `gatherer_thread_count` [INFO] [stderr] --> src/main.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | let gathererThreadCount : usize = 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `sharedCache` should have a snake case name such as `shared_cache` [INFO] [stderr] --> src/main.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | let sharedCache : Arc> = Arc::new(Mutex::new(cacheManager::cache::new())); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `parserChannels` should have a snake case name such as `parser_channels` [INFO] [stderr] --> src/main.rs:30:10 [INFO] [stderr] | [INFO] [stderr] 30 | let (parserChannels, gathererManager) = httpParserThread::createIndependentThreadPools(parserThreadCount,gathererThreadCount,sharedCache); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `gathererManager` should have a snake case name such as `gatherer_manager` [INFO] [stderr] --> src/main.rs:30:26 [INFO] [stderr] | [INFO] [stderr] 30 | let (parserChannels, gathererManager) = httpParserThread::createIndependentThreadPools(parserThreadCount,gathererThreadCount,sharedCache); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `parserIndex` should have a snake case name such as `parser_index` [INFO] [stderr] --> src/main.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | let mut parserIndex = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:41:25 [INFO] [stderr] | [INFO] [stderr] 41 | parserChannels[parserIndex].send(stream); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `dusty`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "6e07e06560310b2e6acda5b1cd100af784f4ba8e7928fab1a924e130da866f44"` [INFO] running `"docker" "rm" "-f" "6e07e06560310b2e6acda5b1cd100af784f4ba8e7928fab1a924e130da866f44"` [INFO] [stdout] 6e07e06560310b2e6acda5b1cd100af784f4ba8e7928fab1a924e130da866f44