[INFO] updating cached repository worace/geoq [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/worace/geoq [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/worace/geoq" "work/ex/clippy-test-run/sources/stable/gh/worace/geoq"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/worace/geoq'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/worace/geoq" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/worace/geoq"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/worace/geoq'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 5ba73bb6b1d73e012edb571b714ca8015049ba85 [INFO] sha for GitHub repo worace/geoq: 5ba73bb6b1d73e012edb571b714ca8015049ba85 [INFO] validating manifest of worace/geoq 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 worace/geoq 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 worace/geoq [INFO] finished frobbing worace/geoq [INFO] frobbed toml for worace/geoq written to work/ex/clippy-test-run/sources/stable/gh/worace/geoq/Cargo.toml [INFO] started frobbing worace/geoq [INFO] finished frobbing worace/geoq [INFO] frobbed toml for worace/geoq written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/worace/geoq/Cargo.toml [INFO] crate worace/geoq 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 worace/geoq against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/worace/geoq:/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] 7b90fd621a7ae08d603cea386c8588ff8dfb0d91b53076b58b834ea5a33be387 [INFO] running `"docker" "start" "-a" "7b90fd621a7ae08d603cea386c8588ff8dfb0d91b53076b58b834ea5a33be387"` [INFO] [stderr] Compiling num-complex v0.2.0 [INFO] [stderr] Compiling matrixmultiply v0.1.14 [INFO] [stderr] Checking rand_core v0.2.1 [INFO] [stderr] Compiling cgmath v0.16.1 [INFO] [stderr] Checking rawpointer v0.1.0 [INFO] [stderr] Compiling serde v1.0.69 [INFO] [stderr] Checking clamp v0.1.0 [INFO] [stderr] Checking pdqselect v0.1.0 [INFO] [stderr] Checking environment v0.1.1 [INFO] [stderr] Checking difference v2.0.0 [INFO] [stderr] Checking memchr v0.1.11 [INFO] [stderr] Checking aho-corasick v0.6.4 [INFO] [stderr] Checking smallvec v0.6.4 [INFO] [stderr] Checking clap v2.31.2 [INFO] [stderr] Checking num-integer v0.1.39 [INFO] [stderr] Checking approx v0.2.0 [INFO] [stderr] Checking num-traits v0.1.43 [INFO] [stderr] Checking num-complex v0.1.43 [INFO] [stderr] Checking generic-array v0.11.1 [INFO] [stderr] Checking backtrace-sys v0.1.23 [INFO] [stderr] Checking rand v0.5.5 [INFO] [stderr] Checking aho-corasick v0.5.3 [INFO] [stderr] Checking thread-id v2.0.0 [INFO] [stderr] Checking num-bigint v0.1.44 [INFO] [stderr] Checking num-iter v0.1.37 [INFO] [stderr] Checking thread_local v0.2.7 [INFO] [stderr] Checking backtrace v0.3.8 [INFO] [stderr] Checking regex v1.0.1 [INFO] [stderr] Checking alga v0.6.0 [INFO] [stderr] Checking regex v0.1.80 [INFO] [stderr] Checking failure v0.1.1 [INFO] [stderr] Checking num-rational v0.1.42 [INFO] [stderr] Checking num v0.1.42 [INFO] [stderr] Checking os_type v1.0.0 [INFO] [stderr] Checking nalgebra v0.15.3 [INFO] [stderr] Checking serde_json v1.0.22 [INFO] [stderr] Checking assert_cli v0.6.2 [INFO] [stderr] Checking spade v1.5.1 [INFO] [stderr] Checking geo-types v0.1.1 [INFO] [stderr] Checking geoq_wkt v0.2.0 [INFO] [stderr] Checking geojson v0.11.1 [INFO] [stderr] Checking geo v0.9.1 [INFO] [stderr] Checking geohash v0.7.1 [INFO] [stderr] Checking geoq v0.0.9 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/geoq/commands/geojson.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | features: features, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `features` [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/geoq/commands/map.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | features: features, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `features` [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/geoq/commands/geojson.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | features: features, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `features` [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/geoq/commands/map.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | features: features, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `features` [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 unit return type [INFO] [stderr] --> src/geoq/commands/map.rs:24:24 [INFO] [stderr] | [INFO] [stderr] 24 | fn open(media: String) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/main.rs:38:17 [INFO] [stderr] | [INFO] [stderr] 38 | const VERSION: &'static str = env!("CARGO_PKG_VERSION"); [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/geoq/commands/map.rs:24:24 [INFO] [stderr] | [INFO] [stderr] 24 | fn open(media: String) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/main.rs:38:17 [INFO] [stderr] | [INFO] [stderr] 38 | const VERSION: &'static str = env!("CARGO_PKG_VERSION"); [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: trivial regex [INFO] [stderr] --> src/geoq/input.rs:12:41 [INFO] [stderr] | [INFO] [stderr] 12 | static ref JSON: Regex = Regex::new(r"\{").unwrap(); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivial_regex)] on by default [INFO] [stderr] = help: consider using `str::contains` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivial_regex [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/geoq/entity.rs:42:21 [INFO] [stderr] | [INFO] [stderr] 42 | fn latlon_geom(raw: &String) -> geo_types::Geometry { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/geoq/entity.rs:49:22 [INFO] [stderr] | [INFO] [stderr] 49 | fn geohash_geom(raw: &String) -> geo_types::Geometry { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/geoq/entity.rs:61:22 [INFO] [stderr] | [INFO] [stderr] 61 | fn wkt_entities(raw: &String) -> Result, Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/geoq/geohash.rs:12:21 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn children(gh: &String) -> Vec { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/geoq/geohash.rs:16:22 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn neighbors(gh: &String, include_self: bool) -> Vec { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/geoq/commands/filter.rs:22:64 [INFO] [stderr] | [INFO] [stderr] 22 | if query_geoms.iter().any(|ref query_geom| { [INFO] [stderr] | ________________________________________________________________^ [INFO] [stderr] 23 | | geoq::intersection::intersects(query_geom, &geom) [INFO] [stderr] 24 | | }) { [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::block_in_if_condition_stmt)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/geoq/commands/filter.rs:59:71 [INFO] [stderr] | [INFO] [stderr] 59 | if query_polygons.iter().any(|ref query_poly| { [INFO] [stderr] | _______________________________________________________________________^ [INFO] [stderr] 60 | | geoq::contains::contains(query_poly, &geom) [INFO] [stderr] 61 | | }) { [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/geoq/commands/map.rs:33:10 [INFO] [stderr] | [INFO] [stderr] 33 | .expect(&format!("Failed to open media: {}", media)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Failed to open media: {}", media))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [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/geoq/commands/json.rs:10:50 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn find_number(v: &Map, keys: &Vec<&str>) -> Option { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[&str]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geoq/par.rs:60:1 [INFO] [stderr] | [INFO] [stderr] 60 | / pub fn for_entity_par<'a, F: 'static>(input: &'a mut BufRead, handler: F) -> Result<(), Error> [INFO] [stderr] 61 | | where F: Send + Sync + Fn(Entity) -> Result, Error> [INFO] [stderr] 62 | | { [INFO] [stderr] 63 | | let num_workers = num_cpus::get(); [INFO] [stderr] ... | [INFO] [stderr] 150 | | Ok(()) [INFO] [stderr] 151 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `output_channels` [INFO] [stderr] --> src/geoq/par.rs:120:22 [INFO] [stderr] | [INFO] [stderr] 120 | for i in 0..output_channels.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 120 | for (i, ) in output_channels.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trivial regex [INFO] [stderr] --> src/geoq/input.rs:12:41 [INFO] [stderr] | [INFO] [stderr] 12 | static ref JSON: Regex = Regex::new(r"\{").unwrap(); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivial_regex)] on by default [INFO] [stderr] = help: consider using `str::contains` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivial_regex [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/geoq/reader.rs:101:27 [INFO] [stderr] | [INFO] [stderr] 101 | let mut pointer = "".as_bytes(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b""` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::string_lit_as_bytes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/geoq/reader.rs:108:27 [INFO] [stderr] | [INFO] [stderr] 108 | let mut pointer = "9q5".as_bytes(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"9q5"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/geoq/reader.rs:115:27 [INFO] [stderr] | [INFO] [stderr] 115 | let mut pointer = "9q5".as_bytes(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"9q5"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/geoq/entity.rs:42:21 [INFO] [stderr] | [INFO] [stderr] 42 | fn latlon_geom(raw: &String) -> geo_types::Geometry { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/geoq/entity.rs:49:22 [INFO] [stderr] | [INFO] [stderr] 49 | fn geohash_geom(raw: &String) -> geo_types::Geometry { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/geoq/entity.rs:61:22 [INFO] [stderr] | [INFO] [stderr] 61 | fn wkt_entities(raw: &String) -> Result, Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/geoq/entity.rs:184:39 [INFO] [stderr] | [INFO] [stderr] 184 | entity::from_input(i.clone()).expect(&format!("Should get entities from input {}", i)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Should get entities from input {}", i))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/geoq/entity.rs:261:13 [INFO] [stderr] | [INFO] [stderr] 261 | / vec![ [INFO] [stderr] 262 | | Point::new(30.0, 10.0), [INFO] [stderr] 263 | | Point::new(10.0, 30.0), [INFO] [stderr] 264 | | Point::new(40.0, 40.0), [INFO] [stderr] 265 | | ].into(), [INFO] [stderr] | |____________________^ [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] help: consider removing `.into()` [INFO] [stderr] | [INFO] [stderr] 261 | vec![ [INFO] [stderr] 262 | Point::new(30.0, 10.0), [INFO] [stderr] 263 | Point::new(10.0, 30.0), [INFO] [stderr] 264 | Point::new(40.0, 40.0), [INFO] [stderr] 265 | ], [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/geoq/entity.rs:279:13 [INFO] [stderr] | [INFO] [stderr] 279 | / vec![ [INFO] [stderr] 280 | | Point::new(-26.01, 59.17), [INFO] [stderr] 281 | | Point::new(-15.46, 45.58), [INFO] [stderr] 282 | | Point::new(0.35, 35.74), [INFO] [stderr] 283 | | ].into(), [INFO] [stderr] | |____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] help: consider removing `.into()` [INFO] [stderr] | [INFO] [stderr] 279 | vec![ [INFO] [stderr] 280 | Point::new(-26.01, 59.17), [INFO] [stderr] 281 | Point::new(-15.46, 45.58), [INFO] [stderr] 282 | Point::new(0.35, 35.74), [INFO] [stderr] 283 | ], [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/geoq/entity.rs:302:13 [INFO] [stderr] | [INFO] [stderr] 302 | / vec![ [INFO] [stderr] 303 | | Point::new(-26.01, 59.17), [INFO] [stderr] 304 | | Point::new(-15.46, 45.58), [INFO] [stderr] 305 | | Point::new(0.35, 35.74), [INFO] [stderr] 306 | | ].into(), [INFO] [stderr] | |____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] help: consider removing `.into()` [INFO] [stderr] | [INFO] [stderr] 302 | vec![ [INFO] [stderr] 303 | Point::new(-26.01, 59.17), [INFO] [stderr] 304 | Point::new(-15.46, 45.58), [INFO] [stderr] 305 | Point::new(0.35, 35.74), [INFO] [stderr] 306 | ], [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/geoq/geohash.rs:12:21 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn children(gh: &String) -> Vec { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/geoq/geohash.rs:16:22 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn neighbors(gh: &String, include_self: bool) -> Vec { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/geoq/commands/filter.rs:22:64 [INFO] [stderr] | [INFO] [stderr] 22 | if query_geoms.iter().any(|ref query_geom| { [INFO] [stderr] | ________________________________________________________________^ [INFO] [stderr] 23 | | geoq::intersection::intersects(query_geom, &geom) [INFO] [stderr] 24 | | }) { [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::block_in_if_condition_stmt)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/geoq/commands/filter.rs:59:71 [INFO] [stderr] | [INFO] [stderr] 59 | if query_polygons.iter().any(|ref query_poly| { [INFO] [stderr] | _______________________________________________________________________^ [INFO] [stderr] 60 | | geoq::contains::contains(query_poly, &geom) [INFO] [stderr] 61 | | }) { [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/geoq/commands/map.rs:33:10 [INFO] [stderr] | [INFO] [stderr] 33 | .expect(&format!("Failed to open media: {}", media)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Failed to open media: {}", media))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [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/geoq/commands/json.rs:10:50 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn find_number(v: &Map, keys: &Vec<&str>) -> Option { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[&str]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geoq/par.rs:60:1 [INFO] [stderr] | [INFO] [stderr] 60 | / pub fn for_entity_par<'a, F: 'static>(input: &'a mut BufRead, handler: F) -> Result<(), Error> [INFO] [stderr] 61 | | where F: Send + Sync + Fn(Entity) -> Result, Error> [INFO] [stderr] 62 | | { [INFO] [stderr] 63 | | let num_workers = num_cpus::get(); [INFO] [stderr] ... | [INFO] [stderr] 150 | | Ok(()) [INFO] [stderr] 151 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `output_channels` [INFO] [stderr] --> src/geoq/par.rs:120:22 [INFO] [stderr] | [INFO] [stderr] 120 | for i in 0..output_channels.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 120 | for (i, ) in output_channels.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/geoq/par.rs:167:25 [INFO] [stderr] | [INFO] [stderr] 167 | let mut input = r#"34.2277,-118.2623 [INFO] [stderr] | _________________________^ [INFO] [stderr] 168 | | {"type":"Polygon","coordinates":[[[-117.87231445312499,34.77997173591062],[-117.69653320312499,34.77997173591062],[-117.69653320312499,34.90170042871546],[-117.87231445312499,34.90170042871546],[-117.87231445312499,34.77997173591062]]]} [INFO] [stderr] 169 | | {"type":"Polygon","coordinates":[[[-118.27880859375001,34.522398580663314],[-117.89154052734375,34.522398580663314],[-117.89154052734375,34.649025753526985],[-118.27880859375001,34.649025753526985],[-118.27880859375001,34.522398580663314]]]} [INFO] [stderr] 170 | | "#.as_bytes(); [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] help: consider using a byte string literal instead [INFO] [stderr] | [INFO] [stderr] 167 | let mut input = br#"34.2277,-118.2623 [INFO] [stderr] 168 | {"type":"Polygon","coordinates":[[[-117.87231445312499,34.77997173591062],[-117.69653320312499,34.77997173591062],[-117.69653320312499,34.90170042871546],[-117.87231445312499,34.90170042871546],[-117.87231445312499,34.77997173591062]]]} [INFO] [stderr] 169 | {"type":"Polygon","coordinates":[[[-118.27880859375001,34.522398580663314],[-117.89154052734375,34.522398580663314],[-117.89154052734375,34.649025753526985],[-118.27880859375001,34.649025753526985],[-118.27880859375001,34.522398580663314]]]} [INFO] [stderr] 170 | "#; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 10s [INFO] running `"docker" "inspect" "7b90fd621a7ae08d603cea386c8588ff8dfb0d91b53076b58b834ea5a33be387"` [INFO] running `"docker" "rm" "-f" "7b90fd621a7ae08d603cea386c8588ff8dfb0d91b53076b58b834ea5a33be387"` [INFO] [stdout] 7b90fd621a7ae08d603cea386c8588ff8dfb0d91b53076b58b834ea5a33be387