[INFO] crate cratedb 1.1.0 is already in cache [INFO] extracting crate cratedb 1.1.0 into work/ex/clippy-test-run/sources/stable/reg/cratedb/1.1.0 [INFO] extracting crate cratedb 1.1.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/cratedb/1.1.0 [INFO] validating manifest of cratedb-1.1.0 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 cratedb-1.1.0 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 cratedb-1.1.0 [INFO] finished frobbing cratedb-1.1.0 [INFO] frobbed toml for cratedb-1.1.0 written to work/ex/clippy-test-run/sources/stable/reg/cratedb/1.1.0/Cargo.toml [INFO] started frobbing cratedb-1.1.0 [INFO] finished frobbing cratedb-1.1.0 [INFO] frobbed toml for cratedb-1.1.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/cratedb/1.1.0/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 cratedb-1.1.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/cratedb/1.1.0:/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] 5aa6e57ede032e85aacd802a1f58937b967ee9c13812d14dbcf5c4956989dd21 [INFO] running `"docker" "start" "-a" "5aa6e57ede032e85aacd802a1f58937b967ee9c13812d14dbcf5c4956989dd21"` [INFO] [stderr] Checking cratedb v1.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/row.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | wrapped: wrapped, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `wrapped` [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/blob.rs:132:40 [INFO] [stderr] | [INFO] [stderr] 132 | table: table, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `table` [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/blob.rs:133:40 [INFO] [stderr] | [INFO] [stderr] 133 | sha1: sha1, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `sha1` [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/dbcluster.rs:96:17 [INFO] [stderr] | [INFO] [stderr] 96 | nodes: nodes, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `nodes` [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/dbcluster.rs:123:17 [INFO] [stderr] | [INFO] [stderr] 123 | nodes: nodes, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `nodes` [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/dbcluster.rs:136:13 [INFO] [stderr] | [INFO] [stderr] 136 | nodes: nodes, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `nodes` [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/dbcluster.rs:137:13 [INFO] [stderr] | [INFO] [stderr] 137 | backend: backend, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `backend` [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/rowiterator.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | rows: rows, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rows` [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.rs:119:17 [INFO] [stderr] | [INFO] [stderr] 119 | response: response, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `response` [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.rs:120:17 [INFO] [stderr] | [INFO] [stderr] 120 | blobs: blobs, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `blobs` [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.rs:121:17 [INFO] [stderr] | [INFO] [stderr] 121 | result: result, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `result` [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/row.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | wrapped: wrapped, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `wrapped` [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/blob.rs:132:40 [INFO] [stderr] | [INFO] [stderr] 132 | table: table, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `table` [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/blob.rs:133:40 [INFO] [stderr] | [INFO] [stderr] 133 | sha1: sha1, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `sha1` [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/dbcluster.rs:96:17 [INFO] [stderr] | [INFO] [stderr] 96 | nodes: nodes, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `nodes` [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/dbcluster.rs:123:17 [INFO] [stderr] | [INFO] [stderr] 123 | nodes: nodes, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `nodes` [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/dbcluster.rs:136:13 [INFO] [stderr] | [INFO] [stderr] 136 | nodes: nodes, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `nodes` [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/dbcluster.rs:137:13 [INFO] [stderr] | [INFO] [stderr] 137 | backend: backend, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `backend` [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/rowiterator.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | rows: rows, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rows` [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.rs:119:17 [INFO] [stderr] | [INFO] [stderr] 119 | response: response, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `response` [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.rs:120:17 [INFO] [stderr] | [INFO] [stderr] 120 | blobs: blobs, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `blobs` [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.rs:121:17 [INFO] [stderr] | [INFO] [stderr] 121 | result: result, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `result` [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: unneeded return statement [INFO] [stderr] --> src/row.rs:173:9 [INFO] [stderr] | [INFO] [stderr] 173 | return Row::new(v, Rc::new(headers)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Row::new(v, Rc::new(headers))` [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: long literal lacking separators [INFO] [stderr] --> src/row.rs:167:43 [INFO] [stderr] | [INFO] [stderr] 167 | serde_json::to_value(3.141528).unwrap(), [INFO] [stderr] | ^^^^^^^^ help: consider: `3.141_528` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/row.rs:184:25 [INFO] [stderr] | [INFO] [stderr] 184 | Some(3.141528)); [INFO] [stderr] | ^^^^^^^^ help: consider: `3.141_528` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/row.rs:200:51 [INFO] [stderr] | [INFO] [stderr] 200 | assert_eq!(ByIndex::as_f64(&row, 2), Some(3.141528)); [INFO] [stderr] | ^^^^^^^^ help: consider: `3.141_528` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::rc::Rc` [INFO] [stderr] --> src/lib.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | use std::rc::Rc; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'Nothing': Please use `NoParams` [INFO] [stderr] --> src/lib.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | use super::Nothing; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'Nothing': Please use `NoParams` [INFO] [stderr] --> src/lib.rs:432:47 [INFO] [stderr] | [INFO] [stderr] 432 | None::>); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'Nothing': Please use `NoParams` [INFO] [stderr] --> src/lib.rs:483:83 [INFO] [stderr] | [INFO] [stderr] 483 | let result = cluster.query("create table a(a string, b long)", None::>); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'Nothing': Please use `NoParams` [INFO] [stderr] --> src/lib.rs:497:74 [INFO] [stderr] | [INFO] [stderr] 497 | let result = cluster.query("select * from sys.nodes", None::>); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/row.rs:93:24 [INFO] [stderr] | [INFO] [stderr] 93 | Some(v.into_iter().map(|e| serde_json::from_value(e.clone()).unwrap()).collect()) [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/dbcluster.rs:90:12 [INFO] [stderr] | [INFO] [stderr] 90 | if nodes.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `nodes.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: length comparison to one [INFO] [stderr] --> src/dbcluster.rs:117:12 [INFO] [stderr] | [INFO] [stderr] 117 | if nodes.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `nodes.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/dbcluster.rs:159:12 [INFO] [stderr] | [INFO] [stderr] 159 | if nodes.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `nodes.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/sql.rs:202:33 [INFO] [stderr] | [INFO] [stderr] 202 | .into_iter() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: methods called `new` usually return `Self` [INFO] [stderr] --> src/backend.rs:127:5 [INFO] [stderr] | [INFO] [stderr] 127 | / pub fn new() -> DefaultHTTPBackend { [INFO] [stderr] 128 | | HTTPBackend { client_factory: HTTPClientFactory::::new() } [INFO] [stderr] 129 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_ret_no_self)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_ret_no_self [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/backend.rs:225:23 [INFO] [stderr] | [INFO] [stderr] 225 | fn parse_status(code: &StatusCode) -> BackendResult { [INFO] [stderr] | ^^^^^^^^^^^ help: consider passing by value instead: `StatusCode` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: methods called `new` usually return `Self` [INFO] [stderr] --> src/backend.rs:270:5 [INFO] [stderr] | [INFO] [stderr] 270 | / pub fn new() -> HTTPClientFactory<&'static str> { [INFO] [stderr] 271 | | HTTPClientFactory { [INFO] [stderr] 272 | | proxy_host: "", [INFO] [stderr] 273 | | proxy_port: 0, [INFO] [stderr] 274 | | use_proxy: false, [INFO] [stderr] 275 | | } [INFO] [stderr] 276 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_ret_no_self [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sha_contents` [INFO] [stderr] --> src/common.rs:72:13 [INFO] [stderr] | [INFO] [stderr] 72 | let sha_contents = [203, 2, 235, 164, 178, 218, 138, 242, 242, 203, 29, 167, 94, 67, 205, [INFO] [stderr] | ^^^^^^^^^^^^ help: consider using `_sha_contents` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `blobs` [INFO] [stderr] --> src/lib.rs:253:13 [INFO] [stderr] | [INFO] [stderr] 253 | let blobs = vec![MockBlob { [INFO] [stderr] | ^^^^^ help: consider using `_blobs` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `to` [INFO] [stderr] --> src/lib.rs:77:20 [INFO] [stderr] | [INFO] [stderr] 77 | to: Option, [INFO] [stderr] | ^^ help: consider using `_to` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `payload` [INFO] [stderr] --> src/lib.rs:78:20 [INFO] [stderr] | [INFO] [stderr] 78 | payload: String) [INFO] [stderr] | ^^^^^^^ help: consider using `_payload` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `to` [INFO] [stderr] --> src/lib.rs:84:24 [INFO] [stderr] | [INFO] [stderr] 84 | to: Option, [INFO] [stderr] | ^^ help: consider using `_to` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bucket` [INFO] [stderr] --> src/lib.rs:85:24 [INFO] [stderr] | [INFO] [stderr] 85 | bucket: &str, [INFO] [stderr] | ^^^^^^ help: consider using `_bucket` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sha1` [INFO] [stderr] --> src/lib.rs:86:24 [INFO] [stderr] | [INFO] [stderr] 86 | sha1: &[u8], [INFO] [stderr] | ^^^^ help: consider using `_sha1` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/lib.rs:87:24 [INFO] [stderr] | [INFO] [stderr] 87 | f: &mut Read) [INFO] [stderr] | ^ help: consider using `_f` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `to` [INFO] [stderr] --> src/lib.rs:93:24 [INFO] [stderr] | [INFO] [stderr] 93 | to: Option, [INFO] [stderr] | ^^ help: consider using `_to` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bucket` [INFO] [stderr] --> src/lib.rs:94:24 [INFO] [stderr] | [INFO] [stderr] 94 | bucket: &str, [INFO] [stderr] | ^^^^^^ help: consider using `_bucket` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sha1` [INFO] [stderr] --> src/lib.rs:95:24 [INFO] [stderr] | [INFO] [stderr] 95 | sha1: &[u8]) [INFO] [stderr] | ^^^^ help: consider using `_sha1` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `to` [INFO] [stderr] --> src/lib.rs:101:23 [INFO] [stderr] | [INFO] [stderr] 101 | to: Option, [INFO] [stderr] | ^^ help: consider using `_to` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bucket` [INFO] [stderr] --> src/lib.rs:102:23 [INFO] [stderr] | [INFO] [stderr] 102 | bucket: &str, [INFO] [stderr] | ^^^^^^ help: consider using `_bucket` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sha1` [INFO] [stderr] --> src/lib.rs:103:23 [INFO] [stderr] | [INFO] [stderr] 103 | sha1: &[u8]) [INFO] [stderr] | ^^^^ help: consider using `_sha1` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `to` [INFO] [stderr] --> src/lib.rs:137:24 [INFO] [stderr] | [INFO] [stderr] 137 | to: Option, [INFO] [stderr] | ^^ help: consider using `_to` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `to` [INFO] [stderr] --> src/lib.rs:161:24 [INFO] [stderr] | [INFO] [stderr] 161 | to: Option, [INFO] [stderr] | ^^ help: consider using `_to` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `to` [INFO] [stderr] --> src/lib.rs:181:23 [INFO] [stderr] | [INFO] [stderr] 181 | to: Option, [INFO] [stderr] | ^^ help: consider using `_to` instead [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FailingBackend` [INFO] [stderr] --> src/lib.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | struct FailingBackend { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/lib.rs:69:9 [INFO] [stderr] | [INFO] [stderr] 69 | pub fn new(error: BackendError) -> FailingBackend { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `new_failing_cluster` [INFO] [stderr] --> src/lib.rs:215:5 [INFO] [stderr] | [INFO] [stderr] 215 | fn new_failing_cluster(error: BackendError) -> DBCluster { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/row.rs:93:24 [INFO] [stderr] | [INFO] [stderr] 93 | Some(v.into_iter().map(|e| serde_json::from_value(e.clone()).unwrap()).collect()) [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/dbcluster.rs:90:12 [INFO] [stderr] | [INFO] [stderr] 90 | if nodes.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `nodes.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: length comparison to one [INFO] [stderr] --> src/dbcluster.rs:117:12 [INFO] [stderr] | [INFO] [stderr] 117 | if nodes.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `nodes.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/dbcluster.rs:159:12 [INFO] [stderr] | [INFO] [stderr] 159 | if nodes.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `nodes.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/sql.rs:202:33 [INFO] [stderr] | [INFO] [stderr] 202 | .into_iter() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: methods called `new` usually return `Self` [INFO] [stderr] --> src/backend.rs:127:5 [INFO] [stderr] | [INFO] [stderr] 127 | / pub fn new() -> DefaultHTTPBackend { [INFO] [stderr] 128 | | HTTPBackend { client_factory: HTTPClientFactory::::new() } [INFO] [stderr] 129 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_ret_no_self)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_ret_no_self [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/backend.rs:225:23 [INFO] [stderr] | [INFO] [stderr] 225 | fn parse_status(code: &StatusCode) -> BackendResult { [INFO] [stderr] | ^^^^^^^^^^^ help: consider passing by value instead: `StatusCode` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: methods called `new` usually return `Self` [INFO] [stderr] --> src/backend.rs:270:5 [INFO] [stderr] | [INFO] [stderr] 270 | / pub fn new() -> HTTPClientFactory<&'static str> { [INFO] [stderr] 271 | | HTTPClientFactory { [INFO] [stderr] 272 | | proxy_host: "", [INFO] [stderr] 273 | | proxy_port: 0, [INFO] [stderr] 274 | | use_proxy: false, [INFO] [stderr] 275 | | } [INFO] [stderr] 276 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_ret_no_self [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.rs:146:13 [INFO] [stderr] | [INFO] [stderr] 146 | / match self.result { [INFO] [stderr] 147 | | BackendResult::Ok => { [INFO] [stderr] 148 | | if let Ok(blob_pos) = self.blobs.binary_search_by(|e| e.sha1.cmp(&sha1_v)) { [INFO] [stderr] 149 | | let blob = &self.blobs[blob_pos]; [INFO] [stderr] ... | [INFO] [stderr] 155 | | _ => {} [INFO] [stderr] 156 | | } [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] 146 | if let BackendResult::Ok = self.result { [INFO] [stderr] 147 | if let Ok(blob_pos) = self.blobs.binary_search_by(|e| e.sha1.cmp(&sha1_v)) { [INFO] [stderr] 148 | let blob = &self.blobs[blob_pos]; [INFO] [stderr] 149 | assert_eq!(blob.sha1, sha1_v); [INFO] [stderr] 150 | assert_eq!(blob.bucket, bucket); [INFO] [stderr] 151 | assert_eq!(blob.bucket, bucket); [INFO] [stderr] ... [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.rs:167:13 [INFO] [stderr] | [INFO] [stderr] 167 | / match self.result { [INFO] [stderr] 168 | | BackendResult::Ok => { [INFO] [stderr] 169 | | if let Ok(blob_pos) = self.blobs.binary_search_by(|e| e.sha1.cmp(&sha1_v)) { [INFO] [stderr] 170 | | let blob = &self.blobs[blob_pos]; [INFO] [stderr] ... | [INFO] [stderr] 175 | | _ => {} [INFO] [stderr] 176 | | } [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] 167 | if let BackendResult::Ok = self.result { [INFO] [stderr] 168 | if let Ok(blob_pos) = self.blobs.binary_search_by(|e| e.sha1.cmp(&sha1_v)) { [INFO] [stderr] 169 | let blob = &self.blobs[blob_pos]; [INFO] [stderr] 170 | assert_eq!(blob.sha1, sha1_v); [INFO] [stderr] 171 | assert_eq!(blob.bucket, bucket); [INFO] [stderr] 172 | } [INFO] [stderr] ... [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.rs:186:13 [INFO] [stderr] | [INFO] [stderr] 186 | / match self.result { [INFO] [stderr] 187 | | BackendResult::Ok => { [INFO] [stderr] 188 | | if let Ok(blob_pos) = self.blobs.binary_search_by(|e| e.sha1.cmp(&sha1_v)) { [INFO] [stderr] 189 | | let blob = &self.blobs[blob_pos]; [INFO] [stderr] ... | [INFO] [stderr] 196 | | _ => {} [INFO] [stderr] 197 | | } [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] 186 | if let BackendResult::Ok = self.result { [INFO] [stderr] 187 | if let Ok(blob_pos) = self.blobs.binary_search_by(|e| e.sha1.cmp(&sha1_v)) { [INFO] [stderr] 188 | let blob = &self.blobs[blob_pos]; [INFO] [stderr] 189 | assert_eq!(blob.sha1, sha1_v); [INFO] [stderr] 190 | assert_eq!(blob.bucket, bucket); [INFO] [stderr] 191 | return Ok((BackendResult::Ok, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/lib.rs:407:9 [INFO] [stderr] | [INFO] [stderr] 407 | assert_eq!(t, 0.206f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:407:9 [INFO] [stderr] | [INFO] [stderr] 407 | assert_eq!(t, 0.206f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/lib.rs:410:20 [INFO] [stderr] | [INFO] [stderr] 410 | assert_eq!(rows.get(0).unwrap().as_string(0).unwrap(), "A".to_owned()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&rows[0]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] error: approximate value of `f{32, 64}::consts::PI` found. Consider using it directly [INFO] [stderr] --> src/lib.rs:417:58 [INFO] [stderr] | [INFO] [stderr] 417 | c: 3.14, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::approx_constant)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#approx_constant [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/lib.rs:421:9 [INFO] [stderr] | [INFO] [stderr] 421 | assert_eq!(t, 0.206f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:421:9 [INFO] [stderr] | [INFO] [stderr] 421 | assert_eq!(t, 0.206f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/lib.rs:423:20 [INFO] [stderr] | [INFO] [stderr] 423 | assert_eq!(rows.get(0).unwrap().as_string(0).unwrap(), "A".to_owned()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&rows[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/lib.rs:435:9 [INFO] [stderr] | [INFO] [stderr] 435 | assert_eq!(t, 0.206f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:435:9 [INFO] [stderr] | [INFO] [stderr] 435 | assert_eq!(t, 0.206f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/lib.rs:438:20 [INFO] [stderr] | [INFO] [stderr] 438 | assert_eq!(rows.get(0).unwrap().as_string(0).unwrap(), "A".to_owned()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&rows[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/lib.rs:454:9 [INFO] [stderr] | [INFO] [stderr] 454 | assert_eq!(t, 0.206f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:454:9 [INFO] [stderr] | [INFO] [stderr] 454 | assert_eq!(t, 0.206f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/lib.rs:456:20 [INFO] [stderr] | [INFO] [stderr] 456 | assert_eq!(result.get(0).unwrap(), &1i64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&result[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/lib.rs:457:20 [INFO] [stderr] | [INFO] [stderr] 457 | assert_eq!(result.get(1).unwrap(), &2i64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&result[1]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/lib.rs:458:20 [INFO] [stderr] | [INFO] [stderr] 458 | assert_eq!(result.get(2).unwrap(), &3i64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&result[2]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] error: aborting due to 5 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `cratedb`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "5aa6e57ede032e85aacd802a1f58937b967ee9c13812d14dbcf5c4956989dd21"` [INFO] running `"docker" "rm" "-f" "5aa6e57ede032e85aacd802a1f58937b967ee9c13812d14dbcf5c4956989dd21"` [INFO] [stdout] 5aa6e57ede032e85aacd802a1f58937b967ee9c13812d14dbcf5c4956989dd21