[INFO] crate grafen 0.9.1 is already in cache [INFO] extracting crate grafen 0.9.1 into work/ex/clippy-test-run/sources/stable/reg/grafen/0.9.1 [INFO] extracting crate grafen 0.9.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/grafen/0.9.1 [INFO] validating manifest of grafen-0.9.1 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 grafen-0.9.1 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 grafen-0.9.1 [INFO] finished frobbing grafen-0.9.1 [INFO] frobbed toml for grafen-0.9.1 written to work/ex/clippy-test-run/sources/stable/reg/grafen/0.9.1/Cargo.toml [INFO] started frobbing grafen-0.9.1 [INFO] finished frobbing grafen-0.9.1 [INFO] frobbed toml for grafen-0.9.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/grafen/0.9.1/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 grafen-0.9.1 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/grafen/0.9.1:/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] 128d88e247742e3fa2269ec1ef0f0543266dcf17dc6027fb52e3c456b3c9934c [INFO] running `"docker" "start" "-a" "128d88e247742e3fa2269ec1ef0f0543266dcf17dc6027fb52e3c456b3c9934c"` [INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently [INFO] [stderr] disables Cargo from automatically inferring other binary targets. [INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following [INFO] [stderr] files will be included as a binary target: [INFO] [stderr] [INFO] [stderr] * /opt/crater/workdir/src/bin/error.rs [INFO] [stderr] * /opt/crater/workdir/src/bin/output.rs [INFO] [stderr] [INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be [INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself [INFO] [stderr] and disable this warning by adding `autobins = false` to your [package] [INFO] [stderr] section. You may also move the files to a location where Cargo would not [INFO] [stderr] automatically infer them to be a target, such as in subfolders. [INFO] [stderr] [INFO] [stderr] For more information on this warning you can consult [INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330 [INFO] [stderr] Checking clap v2.23.3 [INFO] [stderr] Checking grafen v0.9.1 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/coord.rs:40:17 [INFO] [stderr] | [INFO] [stderr] 40 | Coord { x: x, y: y, z: z } [INFO] [stderr] | ^^^^ help: replace it with: `x` [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/coord.rs:40:23 [INFO] [stderr] | [INFO] [stderr] 40 | Coord { x: x, y: y, z: z } [INFO] [stderr] | ^^^^ help: replace it with: `y` [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/coord.rs:40:29 [INFO] [stderr] | [INFO] [stderr] 40 | Coord { x: x, y: y, z: z } [INFO] [stderr] | ^^^^ help: replace it with: `z` [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/system.rs:412:13 [INFO] [stderr] | [INFO] [stderr] 412 | origin: origin, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `origin` [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/iterator.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | residue: residue, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `residue` [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/surface/distribution.rs:55:13 [INFO] [stderr] | [INFO] [stderr] 55 | rmin: rmin, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rmin` [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/surface/lattice.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | box_size: box_size, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `box_size` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/surface/lattice.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | coords: coords, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `coords` [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/surface/lattice.rs:66:13 [INFO] [stderr] | [INFO] [stderr] 66 | crystal: crystal, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `crystal` [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/surface/lattice.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | a: a, [INFO] [stderr] | ^^^^ help: replace it with: `a` [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/surface/lattice.rs:157:13 [INFO] [stderr] | [INFO] [stderr] 157 | a: a, [INFO] [stderr] | ^^^^ help: replace it with: `a` [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/surface/lattice.rs:158:13 [INFO] [stderr] | [INFO] [stderr] 158 | b: b, [INFO] [stderr] | ^^^^ help: replace it with: `b` [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/surface/lattice.rs:159:13 [INFO] [stderr] | [INFO] [stderr] 159 | gamma: gamma, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `gamma` [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/surface/points.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | coords: coords, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `coords` [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/coord.rs:40:17 [INFO] [stderr] | [INFO] [stderr] 40 | Coord { x: x, y: y, z: z } [INFO] [stderr] | ^^^^ help: replace it with: `x` [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/coord.rs:40:23 [INFO] [stderr] | [INFO] [stderr] 40 | Coord { x: x, y: y, z: z } [INFO] [stderr] | ^^^^ help: replace it with: `y` [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/coord.rs:40:29 [INFO] [stderr] | [INFO] [stderr] 40 | Coord { x: x, y: y, z: z } [INFO] [stderr] | ^^^^ help: replace it with: `z` [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/system.rs:412:13 [INFO] [stderr] | [INFO] [stderr] 412 | origin: origin, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `origin` [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/iterator.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | residue: residue, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `residue` [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/surface/distribution.rs:55:13 [INFO] [stderr] | [INFO] [stderr] 55 | rmin: rmin, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rmin` [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/surface/lattice.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | box_size: box_size, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `box_size` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/surface/lattice.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | coords: coords, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `coords` [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/surface/lattice.rs:66:13 [INFO] [stderr] | [INFO] [stderr] 66 | crystal: crystal, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `crystal` [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/surface/lattice.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | a: a, [INFO] [stderr] | ^^^^ help: replace it with: `a` [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/surface/lattice.rs:157:13 [INFO] [stderr] | [INFO] [stderr] 157 | a: a, [INFO] [stderr] | ^^^^ help: replace it with: `a` [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/surface/lattice.rs:158:13 [INFO] [stderr] | [INFO] [stderr] 158 | b: b, [INFO] [stderr] | ^^^^ help: replace it with: `b` [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/surface/lattice.rs:159:13 [INFO] [stderr] | [INFO] [stderr] 159 | gamma: gamma, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `gamma` [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/surface/points.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | coords: coords, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `coords` [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/coord.rs:211:9 [INFO] [stderr] | [INFO] [stderr] 211 | return Ok(Coord { x, y, z}) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Coord { x, y, z})` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/database.rs:319:21 [INFO] [stderr] | [INFO] [stderr] 319 | const ERR: &'static str = "Could not construct a string"; [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: use of deprecated item 'rand::sample': renamed to seq::sample_iter [INFO] [stderr] --> src/volume/cuboid.rs:196:32 [INFO] [stderr] | [INFO] [stderr] 196 | let selected_indices = rand::sample(&mut rng, 0..num_cells, num_coords as usize); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/coord.rs:211:9 [INFO] [stderr] | [INFO] [stderr] 211 | return Ok(Coord { x, y, z}) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Coord { x, y, z})` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/database.rs:319:21 [INFO] [stderr] | [INFO] [stderr] 319 | const ERR: &'static str = "Could not construct a string"; [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: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/surface/cylinder.rs:196:58 [INFO] [stderr] | [INFO] [stderr] 196 | let sum_z = cylinder.coords.iter().map(|&Coord { x: _, y: _, z }| z.abs()).sum::(); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/surface/cylinder.rs:196:64 [INFO] [stderr] | [INFO] [stderr] 196 | let sum_z = cylinder.coords.iter().map(|&Coord { x: _, y: _, z }| z.abs()).sum::(); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Coord { z, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/surface/sheet.rs:265:28 [INFO] [stderr] | [INFO] [stderr] 265 | .map(|&Coord { x: _, y: _, z }| z.abs()) [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/surface/sheet.rs:265:34 [INFO] [stderr] | [INFO] [stderr] 265 | .map(|&Coord { x: _, y: _, z }| z.abs()) [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Coord { z, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'rand::sample': renamed to seq::sample_iter [INFO] [stderr] --> src/volume/cuboid.rs:196:32 [INFO] [stderr] | [INFO] [stderr] 196 | let selected_indices = rand::sample(&mut rng, 0..num_cells, num_coords as usize); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/coord.rs:202:19 [INFO] [stderr] | [INFO] [stderr] 202 | value.ok_or("Not enough values to parse".to_string()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| "Not enough values to parse".to_string())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/system.rs:58:12 [INFO] [stderr] | [INFO] [stderr] 58 | if self.components.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.components.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: useless use of `format!` [INFO] [stderr] --> src/system.rs:185:9 [INFO] [stderr] | [INFO] [stderr] 185 | format!("{}", self.code) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `self.code.to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: useless use of `format!` [INFO] [stderr] --> src/system.rs:202:9 [INFO] [stderr] | [INFO] [stderr] 202 | format!("{}", self.code) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `self.code.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/describe.rs:52:18 [INFO] [stderr] | [INFO] [stderr] 52 | name.clone().unwrap_or("(No name)".to_string()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "(No name)".to_string())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `database::DataBase` [INFO] [stderr] --> src/database.rs:269:5 [INFO] [stderr] | [INFO] [stderr] 269 | / pub fn new() -> DataBase { [INFO] [stderr] 270 | | DataBase { [INFO] [stderr] 271 | | path: None, [INFO] [stderr] 272 | | residue_defs: vec![], [INFO] [stderr] 273 | | component_defs: vec![], [INFO] [stderr] 274 | | } [INFO] [stderr] 275 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 253 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/database.rs:283:14 [INFO] [stderr] | [INFO] [stderr] 283 | .unwrap_or("None".to_string()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "None".to_string())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/database.rs:307:49 [INFO] [stderr] | [INFO] [stderr] 307 | serde_json::from_reader(reader).map_err(|e| io::Error::from(e)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `io::Error::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: redundant closure found [INFO] [stderr] --> src/database.rs:312:60 [INFO] [stderr] | [INFO] [stderr] 312 | serde_json::to_writer_pretty(writer, self).map_err(|e| io::Error::from(e)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `io::Error::from` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/surface/cylinder.rs:79:22 [INFO] [stderr] | [INFO] [stderr] 79 | lattice: self.lattice.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.lattice` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: methods called `new` usually return `Self` [INFO] [stderr] --> src/surface/distribution.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | / pub fn new(rmin: f64, size_x: f64, size_y: f64) -> Points { [INFO] [stderr] 14 | | let mut grid = PoissonGrid::new(rmin, size_x, size_y); [INFO] [stderr] 15 | | [INFO] [stderr] 16 | | let init_coord = gen_grid_coord(size_x, size_y); [INFO] [stderr] ... | [INFO] [stderr] 35 | | } [INFO] [stderr] 36 | | } [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/surface/distribution.rs:163:30 [INFO] [stderr] | [INFO] [stderr] 163 | fn select_coordinate(coords: &Vec) -> usize { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Coord]` [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: redundant field names in struct initialization [INFO] [stderr] --> src/bin/ui/edit_database/residue.rs:146:9 [INFO] [stderr] | [INFO] [stderr] 146 | position: position, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [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/bin/ui/edit_database/residue.rs:146:9 [INFO] [stderr] | [INFO] [stderr] 146 | position: position, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [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: use of `ok_or` followed by a function call [INFO] [stderr] --> src/coord.rs:202:19 [INFO] [stderr] | [INFO] [stderr] 202 | value.ok_or("Not enough values to parse".to_string()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| "Not enough values to parse".to_string())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/coord.rs:407:9 [INFO] [stderr] | [INFO] [stderr] 407 | assert_eq!(3.0, Coord::distance(coord1, coord2)); [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/coord.rs:407:9 [INFO] [stderr] | [INFO] [stderr] 407 | assert_eq!(3.0, Coord::distance(coord1, coord2)); [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/coord.rs:408:9 [INFO] [stderr] | [INFO] [stderr] 408 | assert_eq!(3.0, coord1.distance(coord2)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/coord.rs:408:9 [INFO] [stderr] | [INFO] [stderr] 408 | assert_eq!(3.0, coord1.distance(coord2)); [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/coord.rs:502:48 [INFO] [stderr] | [INFO] [stderr] 502 | assert_eq!(Coord::new(1.0, -3.0, 2.0), coord.clone().rotate(Direction::X)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `coord` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/coord.rs:503:48 [INFO] [stderr] | [INFO] [stderr] 503 | assert_eq!(Coord::new(3.0, 2.0, -1.0), coord.clone().rotate(Direction::Y)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `coord` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/coord.rs:504:48 [INFO] [stderr] | [INFO] [stderr] 504 | assert_eq!(Coord::new(-2.0, 1.0, 3.0), coord.clone().rotate(Direction::Z)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `coord` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/system.rs:58:12 [INFO] [stderr] | [INFO] [stderr] 58 | if self.components.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.components.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: useless use of `format!` [INFO] [stderr] --> src/system.rs:185:9 [INFO] [stderr] | [INFO] [stderr] 185 | format!("{}", self.code) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `self.code.to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: useless use of `format!` [INFO] [stderr] --> src/system.rs:202:9 [INFO] [stderr] | [INFO] [stderr] 202 | format!("{}", self.code) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `self.code.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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 `skip(x).next()` on an iterator. This is more succinctly expressed by calling `nth(x)` [INFO] [stderr] --> src/system.rs:431:20 [INFO] [stderr] | [INFO] [stderr] 431 | let atom = iter.skip(6).next().unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::iter_skip_next)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_skip_next [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/describe.rs:52:18 [INFO] [stderr] | [INFO] [stderr] 52 | name.clone().unwrap_or("(No name)".to_string()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "(No name)".to_string())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `database::DataBase` [INFO] [stderr] --> src/database.rs:269:5 [INFO] [stderr] | [INFO] [stderr] 269 | / pub fn new() -> DataBase { [INFO] [stderr] 270 | | DataBase { [INFO] [stderr] 271 | | path: None, [INFO] [stderr] 272 | | residue_defs: vec![], [INFO] [stderr] 273 | | component_defs: vec![], [INFO] [stderr] 274 | | } [INFO] [stderr] 275 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 253 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/database.rs:283:14 [INFO] [stderr] | [INFO] [stderr] 283 | .unwrap_or("None".to_string()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "None".to_string())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/database.rs:307:49 [INFO] [stderr] | [INFO] [stderr] 307 | serde_json::from_reader(reader).map_err(|e| io::Error::from(e)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `io::Error::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: redundant closure found [INFO] [stderr] --> src/database.rs:312:60 [INFO] [stderr] | [INFO] [stderr] 312 | serde_json::to_writer_pretty(writer, self).map_err(|e| io::Error::from(e)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `io::Error::from` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/iterator.rs:118:23 [INFO] [stderr] | [INFO] [stderr] 118 | let coords = [coord1.clone(), coord2.clone()]; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `coord1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/iterator.rs:118:39 [INFO] [stderr] | [INFO] [stderr] 118 | let coords = [coord1.clone(), coord2.clone()]; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `coord2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/surface/cylinder.rs:79:22 [INFO] [stderr] | [INFO] [stderr] 79 | lattice: self.lattice.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.lattice` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/surface/cylinder.rs:172:22 [INFO] [stderr] | [INFO] [stderr] 172 | lattice: lattice.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try dereferencing it: `*lattice` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/surface/cylinder.rs:221:9 [INFO] [stderr] | [INFO] [stderr] 221 | assert_ne!(radius, cylinder.radius); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/surface/cylinder.rs:221:9 [INFO] [stderr] | [INFO] [stderr] 221 | assert_ne!(radius, cylinder.radius); [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/surface/cylinder.rs:222:9 [INFO] [stderr] | [INFO] [stderr] 222 | assert_ne!(height, cylinder.height); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/surface/cylinder.rs:222:9 [INFO] [stderr] | [INFO] [stderr] 222 | assert_ne!(height, cylinder.height); [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/surface/cylinder.rs:225:9 [INFO] [stderr] | [INFO] [stderr] 225 | assert_eq!(6.0 * a / (2.0 * PI), cylinder.radius); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/surface/cylinder.rs:225:9 [INFO] [stderr] | [INFO] [stderr] 225 | assert_eq!(6.0 * a / (2.0 * PI), cylinder.radius); [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/surface/cylinder.rs:226:9 [INFO] [stderr] | [INFO] [stderr] 226 | assert_eq!(5.0 * b, cylinder.height); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/surface/cylinder.rs:226:9 [INFO] [stderr] | [INFO] [stderr] 226 | assert_eq!(5.0 * b, cylinder.height); [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: length comparison to zero [INFO] [stderr] --> src/surface/cylinder.rs:257:17 [INFO] [stderr] | [INFO] [stderr] 257 | assert!(bottom.len() > 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!bottom.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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/surface/cylinder.rs:261:13 [INFO] [stderr] | [INFO] [stderr] 261 | assert_eq!(coord.z, 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/surface/cylinder.rs:261:13 [INFO] [stderr] | [INFO] [stderr] 261 | assert_eq!(coord.z, 0.0); [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/surface/cylinder.rs:274:13 [INFO] [stderr] | [INFO] [stderr] 274 | assert_eq!(coord.z, cylinder.height); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/surface/cylinder.rs:274:13 [INFO] [stderr] | [INFO] [stderr] 274 | assert_eq!(coord.z, cylinder.height); [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: methods called `new` usually return `Self` [INFO] [stderr] --> src/surface/distribution.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | / pub fn new(rmin: f64, size_x: f64, size_y: f64) -> Points { [INFO] [stderr] 14 | | let mut grid = PoissonGrid::new(rmin, size_x, size_y); [INFO] [stderr] 15 | | [INFO] [stderr] 16 | | let init_coord = gen_grid_coord(size_x, size_y); [INFO] [stderr] ... | [INFO] [stderr] 35 | | } [INFO] [stderr] 36 | | } [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/surface/distribution.rs:163:30 [INFO] [stderr] | [INFO] [stderr] 163 | fn select_coordinate(coords: &Vec) -> usize { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Coord]` [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: length comparison to zero [INFO] [stderr] --> src/surface/distribution.rs:182:17 [INFO] [stderr] | [INFO] [stderr] 182 | assert!(distribution.coords.len() > 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!distribution.coords.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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/surface/lattice.rs:185:9 [INFO] [stderr] | [INFO] [stderr] 185 | assert_eq!(1.0, crystal.a); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/surface/lattice.rs:185:9 [INFO] [stderr] | [INFO] [stderr] 185 | assert_eq!(1.0, crystal.a); [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/surface/lattice.rs:186:9 [INFO] [stderr] | [INFO] [stderr] 186 | assert_eq!(1.0, crystal.b); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/surface/lattice.rs:186:9 [INFO] [stderr] | [INFO] [stderr] 186 | assert_eq!(1.0, crystal.b); [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/surface/lattice.rs:187:9 [INFO] [stderr] | [INFO] [stderr] 187 | assert_eq!(2.0 * f64::consts::PI / 3.0, crystal.gamma); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/surface/lattice.rs:187:9 [INFO] [stderr] | [INFO] [stderr] 187 | assert_eq!(2.0 * f64::consts::PI / 3.0, crystal.gamma); [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/surface/lattice.rs:193:9 [INFO] [stderr] | [INFO] [stderr] 193 | assert_eq!(1.0, crystal.a); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/surface/lattice.rs:193:9 [INFO] [stderr] | [INFO] [stderr] 193 | assert_eq!(1.0, crystal.a); [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/surface/lattice.rs:194:9 [INFO] [stderr] | [INFO] [stderr] 194 | assert_eq!(2.0, crystal.b); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/surface/lattice.rs:194:9 [INFO] [stderr] | [INFO] [stderr] 194 | assert_eq!(2.0, crystal.b); [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/surface/lattice.rs:195:9 [INFO] [stderr] | [INFO] [stderr] 195 | assert_eq!(3.0, crystal.gamma); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/surface/lattice.rs:195:9 [INFO] [stderr] | [INFO] [stderr] 195 | assert_eq!(3.0, crystal.gamma); [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/surface/lattice.rs:302:9 [INFO] [stderr] | [INFO] [stderr] 302 | assert_eq!(1.0, dx); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/surface/lattice.rs:302:9 [INFO] [stderr] | [INFO] [stderr] 302 | assert_eq!(1.0, dx); [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/surface/lattice.rs:303:9 [INFO] [stderr] | [INFO] [stderr] 303 | assert_eq!(3.0 * 3.0f64.sqrt() / 2.0, dy); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/surface/lattice.rs:303:9 [INFO] [stderr] | [INFO] [stderr] 303 | assert_eq!(3.0 * 3.0f64.sqrt() / 2.0, dy); [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/surface/sheet.rs:202:22 [INFO] [stderr] | [INFO] [stderr] 202 | lattice: lattice.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try dereferencing it: `*lattice` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/surface/sheet.rs:239:9 [INFO] [stderr] | [INFO] [stderr] 239 | assert_eq!(2.0 * a, sheet.length); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/surface/sheet.rs:239:9 [INFO] [stderr] | [INFO] [stderr] 239 | assert_eq!(2.0 * a, sheet.length); [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/surface/sheet.rs:240:9 [INFO] [stderr] | [INFO] [stderr] 240 | assert_eq!(1.0 * b, sheet.width); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/surface/sheet.rs:240:9 [INFO] [stderr] | [INFO] [stderr] 240 | assert_eq!(1.0 * b, sheet.width); [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/surface/sheet.rs:356:13 [INFO] [stderr] | [INFO] [stderr] 356 | assert_eq!(coord.x, 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/surface/sheet.rs:356:13 [INFO] [stderr] | [INFO] [stderr] 356 | assert_eq!(coord.x, 0.0); [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/surface/sheet.rs:366:13 [INFO] [stderr] | [INFO] [stderr] 366 | assert_eq!(coord.y, 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/surface/sheet.rs:366:13 [INFO] [stderr] | [INFO] [stderr] 366 | assert_eq!(coord.y, 0.0); [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/surface/sheet.rs:376:13 [INFO] [stderr] | [INFO] [stderr] 376 | assert_eq!(coord.z, 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/surface/sheet.rs:376:13 [INFO] [stderr] | [INFO] [stderr] 376 | assert_eq!(coord.z, 0.0); [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: length comparison to zero [INFO] [stderr] --> src/volume/cuboid.rs:302:17 [INFO] [stderr] | [INFO] [stderr] 302 | assert!(cylinder.coords.len() > 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!cylinder.coords.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 zero [INFO] [stderr] --> src/volume/cuboid.rs:354:17 [INFO] [stderr] | [INFO] [stderr] 354 | assert!(sphere.coords.len() > 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!sphere.coords.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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/volume/cuboid.rs:465:9 [INFO] [stderr] | [INFO] [stderr] 465 | assert_eq!(cuboid.volume(), 1.0 * 3.0 * 7.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/volume/cuboid.rs:465:9 [INFO] [stderr] | [INFO] [stderr] 465 | assert_eq!(cuboid.volume(), 1.0 * 3.0 * 7.0); [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/volume/cylinder.rs:280:9 [INFO] [stderr] | [INFO] [stderr] 280 | assert_eq!(cylinder.volume(), base * height); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/volume/cylinder.rs:280:9 [INFO] [stderr] | [INFO] [stderr] 280 | assert_eq!(cylinder.volume(), base * height); [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] error: aborting due to 23 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `grafen`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:169:13 [INFO] [stderr] | [INFO] [stderr] 169 | return Err("Cannot add component: No name is set") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("Cannot add component: No name is set")` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:189:21 [INFO] [stderr] | [INFO] [stderr] 189 | const ERR: &'static str = "could not construct a string"; [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 return statement [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:327:13 [INFO] [stderr] | [INFO] [stderr] 327 | return Err("Cannot add component: No name is set") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("Cannot add component: No name is set")` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:364:21 [INFO] [stderr] | [INFO] [stderr] 364 | const ERR: &'static str = "could not construct a string"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [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 return statement [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:637:13 [INFO] [stderr] | [INFO] [stderr] 637 | return Err("Cannot add component: No name is set") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("Cannot add component: No name is set")` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:652:21 [INFO] [stderr] | [INFO] [stderr] 652 | const ERR: &'static str = "could not construct a string"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [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 return statement [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:169:13 [INFO] [stderr] | [INFO] [stderr] 169 | return Err("Cannot add component: No name is set") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("Cannot add component: No name is set")` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:189:21 [INFO] [stderr] | [INFO] [stderr] 189 | const ERR: &'static str = "could not construct a string"; [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 return statement [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:327:13 [INFO] [stderr] | [INFO] [stderr] 327 | return Err("Cannot add component: No name is set") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("Cannot add component: No name is set")` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:364:21 [INFO] [stderr] | [INFO] [stderr] 364 | const ERR: &'static str = "could not construct a string"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [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 return statement [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:637:13 [INFO] [stderr] | [INFO] [stderr] 637 | return Err("Cannot add component: No name is set") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("Cannot add component: No name is set")` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:652:21 [INFO] [stderr] | [INFO] [stderr] 652 | const ERR: &'static str = "could not construct a string"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/bin/ui/edit_component.rs:105:19 [INFO] [stderr] | [INFO] [stderr] 105 | / match comp { [INFO] [stderr] 106 | | &ComponentEntry::VolumeCuboid(ref obj) => { [INFO] [stderr] 107 | | let volume = Cuboid { [INFO] [stderr] 108 | | name: obj.name.clone(), [INFO] [stderr] ... | [INFO] [stderr] 149 | | _ => None, [INFO] [stderr] 150 | | } [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 105 | match *comp { [INFO] [stderr] 106 | ComponentEntry::VolumeCuboid(ref obj) => { [INFO] [stderr] 107 | let volume = Cuboid { [INFO] [stderr] 108 | name: obj.name.clone(), [INFO] [stderr] 109 | residue: obj.residue.clone(), [INFO] [stderr] 110 | origin: obj.origin, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:111:49 [INFO] [stderr] | [INFO] [stderr] 111 | select_command(item_texts, choices).map_err(|err| UIErrorKind::from(err)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `UIErrorKind::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: identical conversion [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:111:55 [INFO] [stderr] | [INFO] [stderr] 111 | select_command(item_texts, choices).map_err(|err| UIErrorKind::from(err)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `UIErrorKind::from()`: `err` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:174:26 [INFO] [stderr] | [INFO] [stderr] 174 | lattice: self.lattice.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.lattice` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:234:68 [INFO] [stderr] | [INFO] [stderr] 234 | let command = select_command(item_texts, commands).map_err(|err| UIErrorKind::from(err))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `UIErrorKind::from` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:234:74 [INFO] [stderr] | [INFO] [stderr] 234 | let command = select_command(item_texts, commands).map_err(|err| UIErrorKind::from(err))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `UIErrorKind::from()`: `err` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:382:22 [INFO] [stderr] | [INFO] [stderr] 382 | .unwrap_or("None".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "None".to_string())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:392:22 [INFO] [stderr] | [INFO] [stderr] 392 | .unwrap_or("None".into()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "None".into())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:453:30 [INFO] [stderr] | [INFO] [stderr] 453 | .map_err(|err| UIErrorKind::from(err))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `UIErrorKind::from` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:453:36 [INFO] [stderr] | [INFO] [stderr] 453 | .map_err(|err| UIErrorKind::from(err))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `UIErrorKind::from()`: `err` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:520:30 [INFO] [stderr] | [INFO] [stderr] 520 | .map_err(|err| UIErrorKind::from(err))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `UIErrorKind::from` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:520:36 [INFO] [stderr] | [INFO] [stderr] 520 | .map_err(|err| UIErrorKind::from(err))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `UIErrorKind::from()`: `err` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:611:49 [INFO] [stderr] | [INFO] [stderr] 611 | select_command(item_texts, choices).map_err(|err| UIErrorKind::from(err)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `UIErrorKind::from` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:611:55 [INFO] [stderr] | [INFO] [stderr] 611 | select_command(item_texts, choices).map_err(|err| UIErrorKind::from(err)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `UIErrorKind::from()`: `err` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:642:26 [INFO] [stderr] | [INFO] [stderr] 642 | density: self.density.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.density` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:657:75 [INFO] [stderr] | [INFO] [stderr] 657 | let density_string = self.density.map(|dens| format!("{}", dens)).unwrap_or("None".into()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "None".into())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:694:22 [INFO] [stderr] | [INFO] [stderr] 694 | .map_err(|err| UIErrorKind::from(err))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `UIErrorKind::from` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:694:28 [INFO] [stderr] | [INFO] [stderr] 694 | .map_err(|err| UIErrorKind::from(err))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `UIErrorKind::from()`: `err` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/bin/ui/edit_database/residue.rs:131:58 [INFO] [stderr] | [INFO] [stderr] 131 | Err(msg) => Err(GrafenCliError::RunError(format!("{}", msg))), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `msg.to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: identical conversion [INFO] [stderr] --> src/bin/ui/edit_database/mod.rs:21:70 [INFO] [stderr] | [INFO] [stderr] 21 | residue::user_menu(&mut database.residue_defs).map(|msg| msg.into()) [INFO] [stderr] | ^^^^^^^^^^ help: consider removing `.into()`: `msg` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/bin/ui/edit_database/mod.rs:25:28 [INFO] [stderr] | [INFO] [stderr] 25 | .map(|msg| msg.into()) [INFO] [stderr] | ^^^^^^^^^^ help: consider removing `.into()`: `msg` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/bin/main.rs:40:49 [INFO] [stderr] | [INFO] [stderr] 40 | value_t!(matches, "output", String).unwrap_or("conf.gro".to_string()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "conf.gro".to_string())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/bin/main.rs:43:14 [INFO] [stderr] | [INFO] [stderr] 43 | .unwrap_or("System created by grafen".to_string() [INFO] [stderr] | ______________^ [INFO] [stderr] 44 | | ); [INFO] [stderr] | |_________^ help: try this: `unwrap_or_else(|_| "System created by grafen".to_string())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/bin/main.rs:67:62 [INFO] [stderr] | [INFO] [stderr] 67 | if let Err(err) = Config::from_matches(matches).and_then(|conf| ui::user_menu(conf)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `ui::user_menu` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/bin/ui/edit_component.rs:105:19 [INFO] [stderr] | [INFO] [stderr] 105 | / match comp { [INFO] [stderr] 106 | | &ComponentEntry::VolumeCuboid(ref obj) => { [INFO] [stderr] 107 | | let volume = Cuboid { [INFO] [stderr] 108 | | name: obj.name.clone(), [INFO] [stderr] ... | [INFO] [stderr] 149 | | _ => None, [INFO] [stderr] 150 | | } [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 105 | match *comp { [INFO] [stderr] 106 | ComponentEntry::VolumeCuboid(ref obj) => { [INFO] [stderr] 107 | let volume = Cuboid { [INFO] [stderr] 108 | name: obj.name.clone(), [INFO] [stderr] 109 | residue: obj.residue.clone(), [INFO] [stderr] 110 | origin: obj.origin, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:111:49 [INFO] [stderr] | [INFO] [stderr] 111 | select_command(item_texts, choices).map_err(|err| UIErrorKind::from(err)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `UIErrorKind::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: identical conversion [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:111:55 [INFO] [stderr] | [INFO] [stderr] 111 | select_command(item_texts, choices).map_err(|err| UIErrorKind::from(err)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `UIErrorKind::from()`: `err` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:174:26 [INFO] [stderr] | [INFO] [stderr] 174 | lattice: self.lattice.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.lattice` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:234:68 [INFO] [stderr] | [INFO] [stderr] 234 | let command = select_command(item_texts, commands).map_err(|err| UIErrorKind::from(err))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `UIErrorKind::from` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:234:74 [INFO] [stderr] | [INFO] [stderr] 234 | let command = select_command(item_texts, commands).map_err(|err| UIErrorKind::from(err))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `UIErrorKind::from()`: `err` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:382:22 [INFO] [stderr] | [INFO] [stderr] 382 | .unwrap_or("None".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "None".to_string())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:392:22 [INFO] [stderr] | [INFO] [stderr] 392 | .unwrap_or("None".into()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "None".into())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:453:30 [INFO] [stderr] | [INFO] [stderr] 453 | .map_err(|err| UIErrorKind::from(err))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `UIErrorKind::from` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:453:36 [INFO] [stderr] | [INFO] [stderr] 453 | .map_err(|err| UIErrorKind::from(err))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `UIErrorKind::from()`: `err` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:520:30 [INFO] [stderr] | [INFO] [stderr] 520 | .map_err(|err| UIErrorKind::from(err))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `UIErrorKind::from` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:520:36 [INFO] [stderr] | [INFO] [stderr] 520 | .map_err(|err| UIErrorKind::from(err))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `UIErrorKind::from()`: `err` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:611:49 [INFO] [stderr] | [INFO] [stderr] 611 | select_command(item_texts, choices).map_err(|err| UIErrorKind::from(err)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `UIErrorKind::from` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:611:55 [INFO] [stderr] | [INFO] [stderr] 611 | select_command(item_texts, choices).map_err(|err| UIErrorKind::from(err)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `UIErrorKind::from()`: `err` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:642:26 [INFO] [stderr] | [INFO] [stderr] 642 | density: self.density.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.density` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:657:75 [INFO] [stderr] | [INFO] [stderr] 657 | let density_string = self.density.map(|dens| format!("{}", dens)).unwrap_or("None".into()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "None".into())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:694:22 [INFO] [stderr] | [INFO] [stderr] 694 | .map_err(|err| UIErrorKind::from(err))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `UIErrorKind::from` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/bin/ui/edit_database/component.rs:694:28 [INFO] [stderr] | [INFO] [stderr] 694 | .map_err(|err| UIErrorKind::from(err))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `UIErrorKind::from()`: `err` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/bin/ui/edit_database/residue.rs:131:58 [INFO] [stderr] | [INFO] [stderr] 131 | Err(msg) => Err(GrafenCliError::RunError(format!("{}", msg))), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `msg.to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: identical conversion [INFO] [stderr] --> src/bin/ui/edit_database/mod.rs:21:70 [INFO] [stderr] | [INFO] [stderr] 21 | residue::user_menu(&mut database.residue_defs).map(|msg| msg.into()) [INFO] [stderr] | ^^^^^^^^^^ help: consider removing `.into()`: `msg` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/bin/ui/edit_database/mod.rs:25:28 [INFO] [stderr] | [INFO] [stderr] 25 | .map(|msg| msg.into()) [INFO] [stderr] | ^^^^^^^^^^ help: consider removing `.into()`: `msg` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/bin/main.rs:40:49 [INFO] [stderr] | [INFO] [stderr] 40 | value_t!(matches, "output", String).unwrap_or("conf.gro".to_string()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "conf.gro".to_string())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/bin/main.rs:43:14 [INFO] [stderr] | [INFO] [stderr] 43 | .unwrap_or("System created by grafen".to_string() [INFO] [stderr] | ______________^ [INFO] [stderr] 44 | | ); [INFO] [stderr] | |_________^ help: try this: `unwrap_or_else(|_| "System created by grafen".to_string())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/bin/main.rs:67:62 [INFO] [stderr] | [INFO] [stderr] 67 | if let Err(err) = Config::from_matches(matches).and_then(|conf| ui::user_menu(conf)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `ui::user_menu` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "128d88e247742e3fa2269ec1ef0f0543266dcf17dc6027fb52e3c456b3c9934c"` [INFO] running `"docker" "rm" "-f" "128d88e247742e3fa2269ec1ef0f0543266dcf17dc6027fb52e3c456b3c9934c"` [INFO] [stdout] 128d88e247742e3fa2269ec1ef0f0543266dcf17dc6027fb52e3c456b3c9934c