[INFO] crate mongors 0.2.2 is already in cache [INFO] extracting crate mongors 0.2.2 into work/ex/clippy-test-run/sources/stable/reg/mongors/0.2.2 [INFO] extracting crate mongors 0.2.2 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/mongors/0.2.2 [INFO] validating manifest of mongors-0.2.2 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 mongors-0.2.2 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 mongors-0.2.2 [INFO] finished frobbing mongors-0.2.2 [INFO] frobbed toml for mongors-0.2.2 written to work/ex/clippy-test-run/sources/stable/reg/mongors/0.2.2/Cargo.toml [INFO] started frobbing mongors-0.2.2 [INFO] finished frobbing mongors-0.2.2 [INFO] frobbed toml for mongors-0.2.2 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/mongors/0.2.2/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [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 mongors-0.2.2 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/mongors/0.2.2:/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] 72b87ab077c17bbad9848f93807461de15837f01b2259dc95ed31fb5a0d33e1f [INFO] running `"docker" "start" "-a" "72b87ab077c17bbad9848f93807461de15837f01b2259dc95ed31fb5a0d33e1f"` [INFO] [stderr] Checking mongors v0.2.2 (/opt/crater/workdir) [INFO] [stderr] warning: lint name `map_entry` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:1:45 [INFO] [stderr] | [INFO] [stderr] 1 | #![cfg_attr(feature = "cargo-clippy", allow(map_entry))] [INFO] [stderr] | ^^^^^^^^^ help: change it to: `clippy::map_entry` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(renamed_and_removed_lints)] on by default [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/command/mod.rs:106:53 [INFO] [stderr] | [INFO] [stderr] 106 | return Err(Error::CodedError(CodedError{code: code, errmsg: msg.to_string()})) [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `code` [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/command/mod.rs:144:53 [INFO] [stderr] | [INFO] [stderr] 144 | return Err(Error::CodedError(CodedError{code: code, errmsg: msg.to_string()})) [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `code` [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: lint name `map_entry` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:1:45 [INFO] [stderr] | [INFO] [stderr] 1 | #![cfg_attr(feature = "cargo-clippy", allow(map_entry))] [INFO] [stderr] | ^^^^^^^^^ help: change it to: `clippy::map_entry` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(renamed_and_removed_lints)] on by default [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/command/mod.rs:106:53 [INFO] [stderr] | [INFO] [stderr] 106 | return Err(Error::CodedError(CodedError{code: code, errmsg: msg.to_string()})) [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `code` [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/command/mod.rs:144:53 [INFO] [stderr] | [INFO] [stderr] 144 | return Err(Error::CodedError(CodedError{code: code, errmsg: msg.to_string()})) [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `code` [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: lint name `map_entry` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:1:45 [INFO] [stderr] | [INFO] [stderr] 1 | #![cfg_attr(feature = "cargo-clippy", allow(map_entry))] [INFO] [stderr] | ^^^^^^^^^ help: change it to: `clippy::map_entry` [INFO] [stderr] [INFO] [stderr] warning: lint name `map_entry` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:1:45 [INFO] [stderr] | [INFO] [stderr] 1 | #![cfg_attr(feature = "cargo-clippy", allow(map_entry))] [INFO] [stderr] | ^^^^^^^^^ help: change it to: `clippy::map_entry` [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/bson/mod.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | pub mod bson; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/message/mod.rs:65:13 [INFO] [stderr] | [INFO] [stderr] 65 | / return Ok(doc!{ [INFO] [stderr] 66 | | identifier: docs [INFO] [stderr] 67 | | }) [INFO] [stderr] | |______________^ [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] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 65 | Ok(doc!{ [INFO] [stderr] 66 | identifier: docs [INFO] [stderr] 67 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/message/mod.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | return Ok(Document::from_slice(&self.payload)?) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Document::from_slice(&self.payload)?)` [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: digit groups should be smaller [INFO] [stderr] --> src/message/mod.rs:81:34 [INFO] [stderr] | [INFO] [stderr] 81 | const CHECKSUM_PRESENT = 0b0_00000000_00000001; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0b0_0000_0000_0000_0001` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_digit_groups)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] warning: digit groups should be smaller [INFO] [stderr] --> src/message/mod.rs:82:34 [INFO] [stderr] | [INFO] [stderr] 82 | const MORE_TO_COME = 0b0_00000000_00000010; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0b0_0000_0000_0000_0010` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] warning: digit groups should be smaller [INFO] [stderr] --> src/message/mod.rs:83:34 [INFO] [stderr] | [INFO] [stderr] 83 | const EXHAUST_ALLOWED = 0b1_00000000_00000000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0b1_0000_0000_0000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/command/mod.rs:167:9 [INFO] [stderr] | [INFO] [stderr] 167 | return false [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `false` [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/command/mod.rs:169:9 [INFO] [stderr] | [INFO] [stderr] 169 | return true [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `true` [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: module has the same name as its containing module [INFO] [stderr] --> src/bson/mod.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | pub mod bson; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/message/mod.rs:65:13 [INFO] [stderr] | [INFO] [stderr] 65 | / return Ok(doc!{ [INFO] [stderr] 66 | | identifier: docs [INFO] [stderr] 67 | | }) [INFO] [stderr] | |______________^ [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] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 65 | Ok(doc!{ [INFO] [stderr] 66 | identifier: docs [INFO] [stderr] 67 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/message/mod.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | return Ok(Document::from_slice(&self.payload)?) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Document::from_slice(&self.payload)?)` [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: digit groups should be smaller [INFO] [stderr] --> src/message/mod.rs:81:34 [INFO] [stderr] | [INFO] [stderr] 81 | const CHECKSUM_PRESENT = 0b0_00000000_00000001; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0b0_0000_0000_0000_0001` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_digit_groups)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] warning: digit groups should be smaller [INFO] [stderr] --> src/message/mod.rs:82:34 [INFO] [stderr] | [INFO] [stderr] 82 | const MORE_TO_COME = 0b0_00000000_00000010; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0b0_0000_0000_0000_0010` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] warning: digit groups should be smaller [INFO] [stderr] --> src/message/mod.rs:83:34 [INFO] [stderr] | [INFO] [stderr] 83 | const EXHAUST_ALLOWED = 0b1_00000000_00000000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0b1_0000_0000_0000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/command/mod.rs:167:9 [INFO] [stderr] | [INFO] [stderr] 167 | return false [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `false` [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/command/mod.rs:169:9 [INFO] [stderr] | [INFO] [stderr] 169 | return true [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `true` [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/bson/doc.rs:291:12 [INFO] [stderr] | [INFO] [stderr] 291 | inner: Map, fn((&'a String, &'a Bson)) -> &'a String>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/bson/doc.rs:295:12 [INFO] [stderr] | [INFO] [stderr] 295 | inner: Map, fn((&'a String, &'a Bson)) -> &'a Bson>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/bson/bson.rs:216:41 [INFO] [stderr] | [INFO] [stderr] 216 | Bson::Array(vec.into_iter().map(|v| Bson::from(v)).collect::>()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Bson::from` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/bson/doc.rs:291:12 [INFO] [stderr] | [INFO] [stderr] 291 | inner: Map, fn((&'a String, &'a Bson)) -> &'a String>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/bson/doc.rs:295:12 [INFO] [stderr] | [INFO] [stderr] 295 | inner: Map, fn((&'a String, &'a Bson)) -> &'a Bson>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/bson/bson.rs:216:41 [INFO] [stderr] | [INFO] [stderr] 216 | Bson::Array(vec.into_iter().map(|v| Bson::from(v)).collect::>()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Bson::from` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: item `message::Section` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/message/mod.rs:26:1 [INFO] [stderr] | [INFO] [stderr] 26 | / impl Section { [INFO] [stderr] 27 | | pub fn from_document(doc: &Document) -> EncodeResult
{ [INFO] [stderr] 28 | | Ok(Section { [INFO] [stderr] 29 | | payload_type: 0, [INFO] [stderr] ... | [INFO] [stderr] 76 | | } [INFO] [stderr] 77 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [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/message/mod.rs:34:51 [INFO] [stderr] | [INFO] [stderr] 34 | pub fn from_documents(identifier: &str, docs: &Vec) -> EncodeResult
{ [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Document]` [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: item `message::OpMsg` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/message/mod.rs:95:1 [INFO] [stderr] | [INFO] [stderr] 95 | / impl OpMsg { [INFO] [stderr] 96 | | pub fn builder() -> OpMsgBuilder { [INFO] [stderr] 97 | | OpMsgBuilder::new() [INFO] [stderr] 98 | | } [INFO] [stderr] ... | [INFO] [stderr] 224 | | } [INFO] [stderr] 225 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/message/mod.rs:132:13 [INFO] [stderr] | [INFO] [stderr] 132 | buffer.write(§ion.payload)?; [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] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/message/mod.rs:135:9 [INFO] [stderr] | [INFO] [stderr] 135 | let _ = buffer.flush()?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/message/mod.rs:185:17 [INFO] [stderr] | [INFO] [stderr] 185 | payload.write(&buf[0..size])?; [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: you should consider adding a `Default` implementation for `message::OpMsgBuilder` [INFO] [stderr] --> src/message/mod.rs:232:5 [INFO] [stderr] | [INFO] [stderr] 232 | / pub fn new() -> OpMsgBuilder { [INFO] [stderr] 233 | | OpMsgBuilder { [INFO] [stderr] 234 | | op_msg: OpMsg { [INFO] [stderr] 235 | | header: Header { [INFO] [stderr] ... | [INFO] [stderr] 244 | | } [INFO] [stderr] 245 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 231 | impl Default for message::OpMsgBuilder { [INFO] [stderr] 232 | fn default() -> Self { [INFO] [stderr] 233 | Self::new() [INFO] [stderr] 234 | } [INFO] [stderr] 235 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/command/mod.rs:67:12 [INFO] [stderr] | [INFO] [stderr] 67 | if let Err(_) = client.run_start_hooks(&CommandStarted { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 67 | if client.run_start_hooks(&CommandStarted { [INFO] [stderr] 68 | command: command.clone(), [INFO] [stderr] 69 | database_name: db_name, [INFO] [stderr] 70 | command_name: command_name.clone(), [INFO] [stderr] 71 | request_id: i64::from(request_msg.header.request_id), [INFO] [stderr] 72 | connection_string: connstring.clone() [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/command/mod.rs:22:24 [INFO] [stderr] | [INFO] [stderr] 22 | if let Err(_) = $client.run_completion_hooks(&CommandResult::Failure { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 77 | / try!( [INFO] [stderr] 78 | | client, [INFO] [stderr] 79 | | u64::from((Instant::now() - init_time).subsec_nanos()), [INFO] [stderr] 80 | | command_name, [INFO] [stderr] ... | [INFO] [stderr] 83 | | request_msg.write(socket) [INFO] [stderr] 84 | | ); [INFO] [stderr] | |______- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 22 | if $client.run_completion_hooks(&CommandResult::Failure { [INFO] [stderr] 23 | duration: $duration, [INFO] [stderr] 24 | command_name: $command_name.clone(), [INFO] [stderr] 25 | failure: &err, [INFO] [stderr] 26 | request_id: $request_id, [INFO] [stderr] 27 | connection_string: $connstring.clone() [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/command/mod.rs:22:24 [INFO] [stderr] | [INFO] [stderr] 22 | if let Err(_) = $client.run_completion_hooks(&CommandResult::Failure { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 86 | let response_msg = try!( [INFO] [stderr] | ________________________- [INFO] [stderr] 87 | | client, [INFO] [stderr] 88 | | u64::from((Instant::now() - init_time).subsec_nanos()), [INFO] [stderr] 89 | | command_name, [INFO] [stderr] ... | [INFO] [stderr] 92 | | OpMsg::read(socket) [INFO] [stderr] 93 | | ); [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 22 | if $client.run_completion_hooks(&CommandResult::Failure { [INFO] [stderr] 23 | duration: $duration, [INFO] [stderr] 24 | command_name: $command_name.clone(), [INFO] [stderr] 25 | failure: &err, [INFO] [stderr] 26 | request_id: $request_id, [INFO] [stderr] 27 | connection_string: $connstring.clone() [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/command/mod.rs:22:24 [INFO] [stderr] | [INFO] [stderr] 22 | if let Err(_) = $client.run_completion_hooks(&CommandResult::Failure { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 95 | let doc = try!( [INFO] [stderr] | _______________- [INFO] [stderr] 96 | | client, [INFO] [stderr] 97 | | u64::from((Instant::now() - init_time).subsec_nanos()), [INFO] [stderr] 98 | | command_name, [INFO] [stderr] ... | [INFO] [stderr] 101 | | response_msg.get_document() [INFO] [stderr] 102 | | ); [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 22 | if $client.run_completion_hooks(&CommandResult::Failure { [INFO] [stderr] 23 | duration: $duration, [INFO] [stderr] 24 | command_name: $command_name.clone(), [INFO] [stderr] 25 | failure: &err, [INFO] [stderr] 26 | request_id: $request_id, [INFO] [stderr] 27 | connection_string: $connstring.clone() [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/command/mod.rs:110:12 [INFO] [stderr] | [INFO] [stderr] 110 | if let Err(_) = client.run_completion_hooks(&CommandResult::Success { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 110 | if client.run_completion_hooks(&CommandResult::Success { [INFO] [stderr] 111 | duration: u64::from((Instant::now() - init_time).subsec_nanos()), [INFO] [stderr] 112 | reply: &doc, [INFO] [stderr] 113 | command_name, [INFO] [stderr] 114 | request_id: i64::from(request_msg.header.request_id), [INFO] [stderr] 115 | connection_string: connstring [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/command/mod.rs:166:5 [INFO] [stderr] | [INFO] [stderr] 166 | / if names.contains(&name) { [INFO] [stderr] 167 | | return false [INFO] [stderr] 168 | | } else { [INFO] [stderr] 169 | | return true [INFO] [stderr] 170 | | } [INFO] [stderr] | |_____^ help: you can reduce it to: `return !names.contains(&name)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/read_preference.rs:82:12 [INFO] [stderr] | [INFO] [stderr] 82 | if bson_tag_sets.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!bson_tag_sets.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: item `message::Section` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/message/mod.rs:26:1 [INFO] [stderr] | [INFO] [stderr] 26 | / impl Section { [INFO] [stderr] 27 | | pub fn from_document(doc: &Document) -> EncodeResult
{ [INFO] [stderr] 28 | | Ok(Section { [INFO] [stderr] 29 | | payload_type: 0, [INFO] [stderr] ... | [INFO] [stderr] 76 | | } [INFO] [stderr] 77 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [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/message/mod.rs:34:51 [INFO] [stderr] | [INFO] [stderr] 34 | pub fn from_documents(identifier: &str, docs: &Vec) -> EncodeResult
{ [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Document]` [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: item `message::OpMsg` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/message/mod.rs:95:1 [INFO] [stderr] | [INFO] [stderr] 95 | / impl OpMsg { [INFO] [stderr] 96 | | pub fn builder() -> OpMsgBuilder { [INFO] [stderr] 97 | | OpMsgBuilder::new() [INFO] [stderr] 98 | | } [INFO] [stderr] ... | [INFO] [stderr] 224 | | } [INFO] [stderr] 225 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/message/mod.rs:132:13 [INFO] [stderr] | [INFO] [stderr] 132 | buffer.write(§ion.payload)?; [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] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/message/mod.rs:135:9 [INFO] [stderr] | [INFO] [stderr] 135 | let _ = buffer.flush()?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/message/mod.rs:185:17 [INFO] [stderr] | [INFO] [stderr] 185 | payload.write(&buf[0..size])?; [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: you should consider adding a `Default` implementation for `message::OpMsgBuilder` [INFO] [stderr] --> src/message/mod.rs:232:5 [INFO] [stderr] | [INFO] [stderr] 232 | / pub fn new() -> OpMsgBuilder { [INFO] [stderr] 233 | | OpMsgBuilder { [INFO] [stderr] 234 | | op_msg: OpMsg { [INFO] [stderr] 235 | | header: Header { [INFO] [stderr] ... | [INFO] [stderr] 244 | | } [INFO] [stderr] 245 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 231 | impl Default for message::OpMsgBuilder { [INFO] [stderr] 232 | fn default() -> Self { [INFO] [stderr] 233 | Self::new() [INFO] [stderr] 234 | } [INFO] [stderr] 235 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/command/mod.rs:67:12 [INFO] [stderr] | [INFO] [stderr] 67 | if let Err(_) = client.run_start_hooks(&CommandStarted { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 67 | if client.run_start_hooks(&CommandStarted { [INFO] [stderr] 68 | command: command.clone(), [INFO] [stderr] 69 | database_name: db_name, [INFO] [stderr] 70 | command_name: command_name.clone(), [INFO] [stderr] 71 | request_id: i64::from(request_msg.header.request_id), [INFO] [stderr] 72 | connection_string: connstring.clone() [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/command/mod.rs:22:24 [INFO] [stderr] | [INFO] [stderr] 22 | if let Err(_) = $client.run_completion_hooks(&CommandResult::Failure { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 77 | / try!( [INFO] [stderr] 78 | | client, [INFO] [stderr] 79 | | u64::from((Instant::now() - init_time).subsec_nanos()), [INFO] [stderr] 80 | | command_name, [INFO] [stderr] ... | [INFO] [stderr] 83 | | request_msg.write(socket) [INFO] [stderr] 84 | | ); [INFO] [stderr] | |______- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 22 | if $client.run_completion_hooks(&CommandResult::Failure { [INFO] [stderr] 23 | duration: $duration, [INFO] [stderr] 24 | command_name: $command_name.clone(), [INFO] [stderr] 25 | failure: &err, [INFO] [stderr] 26 | request_id: $request_id, [INFO] [stderr] 27 | connection_string: $connstring.clone() [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/command/mod.rs:22:24 [INFO] [stderr] | [INFO] [stderr] 22 | if let Err(_) = $client.run_completion_hooks(&CommandResult::Failure { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 86 | let response_msg = try!( [INFO] [stderr] | ________________________- [INFO] [stderr] 87 | | client, [INFO] [stderr] 88 | | u64::from((Instant::now() - init_time).subsec_nanos()), [INFO] [stderr] 89 | | command_name, [INFO] [stderr] ... | [INFO] [stderr] 92 | | OpMsg::read(socket) [INFO] [stderr] 93 | | ); [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 22 | if $client.run_completion_hooks(&CommandResult::Failure { [INFO] [stderr] 23 | duration: $duration, [INFO] [stderr] 24 | command_name: $command_name.clone(), [INFO] [stderr] 25 | failure: &err, [INFO] [stderr] 26 | request_id: $request_id, [INFO] [stderr] 27 | connection_string: $connstring.clone() [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/command/mod.rs:22:24 [INFO] [stderr] | [INFO] [stderr] 22 | if let Err(_) = $client.run_completion_hooks(&CommandResult::Failure { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 95 | let doc = try!( [INFO] [stderr] | _______________- [INFO] [stderr] 96 | | client, [INFO] [stderr] 97 | | u64::from((Instant::now() - init_time).subsec_nanos()), [INFO] [stderr] 98 | | command_name, [INFO] [stderr] ... | [INFO] [stderr] 101 | | response_msg.get_document() [INFO] [stderr] 102 | | ); [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 22 | if $client.run_completion_hooks(&CommandResult::Failure { [INFO] [stderr] 23 | duration: $duration, [INFO] [stderr] 24 | command_name: $command_name.clone(), [INFO] [stderr] 25 | failure: &err, [INFO] [stderr] 26 | request_id: $request_id, [INFO] [stderr] 27 | connection_string: $connstring.clone() [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/command/mod.rs:110:12 [INFO] [stderr] | [INFO] [stderr] 110 | if let Err(_) = client.run_completion_hooks(&CommandResult::Success { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 110 | if client.run_completion_hooks(&CommandResult::Success { [INFO] [stderr] 111 | duration: u64::from((Instant::now() - init_time).subsec_nanos()), [INFO] [stderr] 112 | reply: &doc, [INFO] [stderr] 113 | command_name, [INFO] [stderr] 114 | request_id: i64::from(request_msg.header.request_id), [INFO] [stderr] 115 | connection_string: connstring [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error: Could not compile `mongors`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/command/mod.rs:166:5 [INFO] [stderr] | [INFO] [stderr] 166 | / if names.contains(&name) { [INFO] [stderr] 167 | | return false [INFO] [stderr] 168 | | } else { [INFO] [stderr] 169 | | return true [INFO] [stderr] 170 | | } [INFO] [stderr] | |_____^ help: you can reduce it to: `return !names.contains(&name)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/read_preference.rs:82:12 [INFO] [stderr] | [INFO] [stderr] 82 | if bson_tag_sets.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!bson_tag_sets.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] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `mongors`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "72b87ab077c17bbad9848f93807461de15837f01b2259dc95ed31fb5a0d33e1f"` [INFO] running `"docker" "rm" "-f" "72b87ab077c17bbad9848f93807461de15837f01b2259dc95ed31fb5a0d33e1f"` [INFO] [stdout] 72b87ab077c17bbad9848f93807461de15837f01b2259dc95ed31fb5a0d33e1f