[INFO] updating cached repository Mistscream/rust-crawler [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/Mistscream/rust-crawler [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/Mistscream/rust-crawler" "work/ex/clippy-test-run/sources/stable/gh/Mistscream/rust-crawler"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/Mistscream/rust-crawler'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/Mistscream/rust-crawler" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Mistscream/rust-crawler"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Mistscream/rust-crawler'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] ade036a84f0a17b1a903c91d5bc25bfd102ecc9f [INFO] sha for GitHub repo Mistscream/rust-crawler: ade036a84f0a17b1a903c91d5bc25bfd102ecc9f [INFO] validating manifest of Mistscream/rust-crawler 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 Mistscream/rust-crawler 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 Mistscream/rust-crawler [INFO] finished frobbing Mistscream/rust-crawler [INFO] frobbed toml for Mistscream/rust-crawler written to work/ex/clippy-test-run/sources/stable/gh/Mistscream/rust-crawler/Cargo.toml [INFO] started frobbing Mistscream/rust-crawler [INFO] finished frobbing Mistscream/rust-crawler [INFO] frobbed toml for Mistscream/rust-crawler written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Mistscream/rust-crawler/Cargo.toml [INFO] crate Mistscream/rust-crawler 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 Mistscream/rust-crawler against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/Mistscream/rust-crawler:/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" "-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] 69e4c2179c73cd5d5a4da837675ebdb7a075dae6b6237fe5096650095242e458 [INFO] running `"docker" "start" "-a" "69e4c2179c73cd5d5a4da837675ebdb7a075dae6b6237fe5096650095242e458"` [INFO] [stderr] Compiling syn v0.15.22 [INFO] [stderr] Checking regex v0.2.11 [INFO] [stderr] Checking hmac v0.6.3 [INFO] [stderr] Checking md-5 v0.7.0 [INFO] [stderr] Checking bson v0.13.0 [INFO] [stderr] Checking rayon v1.0.3 [INFO] [stderr] Checking hyper v0.12.13 [INFO] [stderr] Checking pbkdf2 v0.2.3 [INFO] [stderr] Checking scan_fmt v0.1.3 [INFO] [stderr] Compiling serde_derive v1.0.80 [INFO] [stderr] Checking hyper-tls v0.3.1 [INFO] [stderr] Checking reqwest v0.9.4 [INFO] [stderr] Checking textnonce v0.6.4 [INFO] [stderr] Checking mongodb v0.3.12 [INFO] [stderr] Checking rust_crawler v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/database.rs:24:13 [INFO] [stderr] | [INFO] [stderr] 24 | client: client, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `client` [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/lib/database.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | port: port, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `port` [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/lib/report.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | title: title, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `title` [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/lib/report.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | url: url, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `url` [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/lib/report.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | location: location, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `location` [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/lib/report.rs:20:13 [INFO] [stderr] | [INFO] [stderr] 20 | date: date, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `date` [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/lib/report.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | text: text, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `text` [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/lib/database.rs:24:13 [INFO] [stderr] | [INFO] [stderr] 24 | client: client, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `client` [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/lib/database.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | port: port, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `port` [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/lib/report.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | title: title, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `title` [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/lib/report.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | url: url, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `url` [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/lib/report.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | location: location, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `location` [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/lib/report.rs:20:13 [INFO] [stderr] | [INFO] [stderr] 20 | date: date, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `date` [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/lib/report.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | text: text, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `text` [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: `Bson` [INFO] [stderr] --> src/lib/database.rs:3:26 [INFO] [stderr] | [INFO] [stderr] 3 | use mongodb::{bson, doc, Bson}; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `rayon::prelude` [INFO] [stderr] --> src/lib/mod.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use rayon::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `li_elements` [INFO] [stderr] --> src/lib/report.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | let li_elements: Vec = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_li_elements` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `client` [INFO] [stderr] --> src/lib/database.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | client: mongodb::Client, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `address` [INFO] [stderr] --> src/lib/database.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | address: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `port` [INFO] [stderr] --> src/lib/database.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | port: u16, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/lib/database.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | self.collection.insert_one(doc.clone(), None); [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] warning: length comparison to zero [INFO] [stderr] --> src/lib/report.rs:48:16 [INFO] [stderr] | [INFO] [stderr] 48 | if text.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!text.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/lib/report.rs:58:24 [INFO] [stderr] | [INFO] [stderr] 58 | Some(a) => String::from(a.text()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `a.text()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/lib/report.rs:72:28 [INFO] [stderr] | [INFO] [stderr] 72 | if url.starts_with("/") { [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: the operation is ineffective. Consider reducing it to `3600` [INFO] [stderr] --> src/lib/report.rs:116:35 [INFO] [stderr] | [INFO] [stderr] 116 | FixedOffset::east(1 * 3600) [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `3600` [INFO] [stderr] --> src/lib/report.rs:121:39 [INFO] [stderr] | [INFO] [stderr] 121 | None => FixedOffset::east(1 * 3600) [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/lib/report.rs:130:12 [INFO] [stderr] | [INFO] [stderr] 130 | if !html.is_some() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `html.is_none()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/lib/url.rs:9:9 [INFO] [stderr] | [INFO] [stderr] 9 | / match elem.attr("href") { [INFO] [stderr] 10 | | Some(url) => { [INFO] [stderr] 11 | | let mut url = String::from(url); [INFO] [stderr] 12 | | if url.starts_with("/") { [INFO] [stderr] ... | [INFO] [stderr] 21 | | None => (), [INFO] [stderr] 22 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 9 | if let Some(url) = elem.attr("href") { [INFO] [stderr] 10 | let mut url = String::from(url); [INFO] [stderr] 11 | if url.starts_with("/") { [INFO] [stderr] 12 | url.insert_str(0, "https://www.berlin.de"); [INFO] [stderr] 13 | } [INFO] [stderr] 14 | if url.starts_with("https://www.berlin.de/polizei/polizeimeldungen/archiv/20") [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/lib/url.rs:12:36 [INFO] [stderr] | [INFO] [stderr] 12 | if url.starts_with("/") { [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [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: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/lib/mod.rs:25:16 [INFO] [stderr] | [INFO] [stderr] 25 | if *state == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!(*state)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/lib/mod.rs:26:17 [INFO] [stderr] | [INFO] [stderr] 26 | / match request::get(&url) { [INFO] [stderr] 27 | | Some(res) => { [INFO] [stderr] 28 | | bodies.push(res); [INFO] [stderr] 29 | | *state = true; [INFO] [stderr] 30 | | } [INFO] [stderr] 31 | | None => (), [INFO] [stderr] 32 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 26 | if let Some(res) = request::get(&url) { [INFO] [stderr] 27 | bodies.push(res); [INFO] [stderr] 28 | *state = true; [INFO] [stderr] 29 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/lib/mod.rs:41:38 [INFO] [stderr] | [INFO] [stderr] 41 | url_queue.insert(String::from(url), false); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `url` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: unused import: `Bson` [INFO] [stderr] --> src/lib/database.rs:3:26 [INFO] [stderr] | [INFO] [stderr] 3 | use mongodb::{bson, doc, Bson}; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `rayon::prelude` [INFO] [stderr] --> src/lib/mod.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use rayon::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `li_elements` [INFO] [stderr] --> src/lib/report.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | let li_elements: Vec = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_li_elements` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `client` [INFO] [stderr] --> src/lib/database.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | client: mongodb::Client, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `address` [INFO] [stderr] --> src/lib/database.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | address: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `port` [INFO] [stderr] --> src/lib/database.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | port: u16, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/lib/database.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | self.collection.insert_one(doc.clone(), None); [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] warning: length comparison to zero [INFO] [stderr] --> src/lib/report.rs:48:16 [INFO] [stderr] | [INFO] [stderr] 48 | if text.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!text.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/lib/report.rs:58:24 [INFO] [stderr] | [INFO] [stderr] 58 | Some(a) => String::from(a.text()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `a.text()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/lib/report.rs:72:28 [INFO] [stderr] | [INFO] [stderr] 72 | if url.starts_with("/") { [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: the operation is ineffective. Consider reducing it to `3600` [INFO] [stderr] --> src/lib/report.rs:116:35 [INFO] [stderr] | [INFO] [stderr] 116 | FixedOffset::east(1 * 3600) [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `3600` [INFO] [stderr] --> src/lib/report.rs:121:39 [INFO] [stderr] | [INFO] [stderr] 121 | None => FixedOffset::east(1 * 3600) [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/lib/report.rs:130:12 [INFO] [stderr] | [INFO] [stderr] 130 | if !html.is_some() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `html.is_none()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/lib/url.rs:9:9 [INFO] [stderr] | [INFO] [stderr] 9 | / match elem.attr("href") { [INFO] [stderr] 10 | | Some(url) => { [INFO] [stderr] 11 | | let mut url = String::from(url); [INFO] [stderr] 12 | | if url.starts_with("/") { [INFO] [stderr] ... | [INFO] [stderr] 21 | | None => (), [INFO] [stderr] 22 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 9 | if let Some(url) = elem.attr("href") { [INFO] [stderr] 10 | let mut url = String::from(url); [INFO] [stderr] 11 | if url.starts_with("/") { [INFO] [stderr] 12 | url.insert_str(0, "https://www.berlin.de"); [INFO] [stderr] 13 | } [INFO] [stderr] 14 | if url.starts_with("https://www.berlin.de/polizei/polizeimeldungen/archiv/20") [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/lib/url.rs:12:36 [INFO] [stderr] | [INFO] [stderr] 12 | if url.starts_with("/") { [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [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: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/lib/mod.rs:25:16 [INFO] [stderr] | [INFO] [stderr] 25 | if *state == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!(*state)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/lib/mod.rs:26:17 [INFO] [stderr] | [INFO] [stderr] 26 | / match request::get(&url) { [INFO] [stderr] 27 | | Some(res) => { [INFO] [stderr] 28 | | bodies.push(res); [INFO] [stderr] 29 | | *state = true; [INFO] [stderr] 30 | | } [INFO] [stderr] 31 | | None => (), [INFO] [stderr] 32 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 26 | if let Some(res) = request::get(&url) { [INFO] [stderr] 27 | bodies.push(res); [INFO] [stderr] 28 | *state = true; [INFO] [stderr] 29 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/lib/mod.rs:41:38 [INFO] [stderr] | [INFO] [stderr] 41 | url_queue.insert(String::from(url), false); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `url` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 44.30s [INFO] running `"docker" "inspect" "69e4c2179c73cd5d5a4da837675ebdb7a075dae6b6237fe5096650095242e458"` [INFO] running `"docker" "rm" "-f" "69e4c2179c73cd5d5a4da837675ebdb7a075dae6b6237fe5096650095242e458"` [INFO] [stdout] 69e4c2179c73cd5d5a4da837675ebdb7a075dae6b6237fe5096650095242e458