[INFO] cloning repository https://github.com/langurmonkey/gaiasky-catgen [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/langurmonkey/gaiasky-catgen" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flangurmonkey%2Fgaiasky-catgen", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flangurmonkey%2Fgaiasky-catgen'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 8b6576a7767e2d742cf8d5b365a16320e109d699 [INFO] linting langurmonkey/gaiasky-catgen against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flangurmonkey%2Fgaiasky-catgen" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/langurmonkey/gaiasky-catgen [INFO] finished tweaking git repo https://github.com/langurmonkey/gaiasky-catgen [INFO] tweaked toml for git repo https://github.com/langurmonkey/gaiasky-catgen written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/langurmonkey/gaiasky-catgen on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/langurmonkey/gaiasky-catgen already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded procfs v0.16.0 [INFO] [stderr] Downloaded base_custom v0.2.0 [INFO] [stderr] Downloaded procfs-core v0.16.0 [INFO] [stderr] Downloaded simba v0.9.0 [INFO] [stderr] Downloaded nalgebra v0.33.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7e8ce776b4e45e0353f69055e2c06705f3b18d7a823aab103affd0961341d2a5 [INFO] running `Command { std: "docker" "start" "-a" "7e8ce776b4e45e0353f69055e2c06705f3b18d7a823aab103affd0961341d2a5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7e8ce776b4e45e0353f69055e2c06705f3b18d7a823aab103affd0961341d2a5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7e8ce776b4e45e0353f69055e2c06705f3b18d7a823aab103affd0961341d2a5", kill_on_drop: false }` [INFO] [stdout] 7e8ce776b4e45e0353f69055e2c06705f3b18d7a823aab103affd0961341d2a5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0bb95a50244372aa16b217b05f0ecdbc88f0ef5c2e6aaf3a0ed29c67a143d547 [INFO] running `Command { std: "docker" "start" "-a" "0bb95a50244372aa16b217b05f0ecdbc88f0ef5c2e6aaf3a0ed29c67a143d547", kill_on_drop: false }` [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Compiling serde v1.0.204 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking bytemuck v1.16.1 [INFO] [stderr] Compiling matrixmultiply v0.3.8 [INFO] [stderr] Compiling rustix v0.38.34 [INFO] [stderr] Checking destructure_traitobject v0.2.0 [INFO] [stderr] Compiling serde_json v1.0.120 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Checking miniz_oxide v0.7.4 [INFO] [stderr] Checking indexmap v2.2.6 [INFO] [stderr] Compiling syn v2.0.70 [INFO] [stderr] Compiling procfs v0.16.0 [INFO] [stderr] Checking linux-raw-sys v0.4.14 [INFO] [stderr] Checking rawpointer v0.2.1 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Checking unsafe-any-ors v1.0.0 [INFO] [stderr] Checking arc-swap v1.7.1 [INFO] [stderr] Checking log-mdc v0.1.0 [INFO] [stderr] Checking typemap-ors v1.0.0 [INFO] [stderr] Checking base_custom v0.2.0 [INFO] [stderr] Checking argparse v0.2.2 [INFO] [stderr] Checking glob v0.3.1 [INFO] [stderr] Checking fast-float v0.2.0 [INFO] [stderr] Checking safe_arch v0.7.2 [INFO] [stderr] Checking wide v0.7.25 [INFO] [stderr] Checking flate2 v1.0.30 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Checking approx v0.5.1 [INFO] [stderr] Checking ordered-float v2.10.1 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking thread-id v4.2.1 [INFO] [stderr] Checking memmap v0.7.0 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking procfs-core v0.16.0 [INFO] [stderr] Checking simba v0.9.0 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Compiling serde_derive v1.0.204 [INFO] [stderr] Compiling thiserror-impl v1.0.61 [INFO] [stderr] Compiling nalgebra-macros v0.2.2 [INFO] [stderr] Checking regex v1.10.5 [INFO] [stderr] Checking thiserror v1.0.61 [INFO] [stderr] Checking nalgebra v0.33.0 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Checking serde-value v0.7.0 [INFO] [stderr] Checking log4rs v1.3.0 [INFO] [stderr] Checking gaiasky-catgen v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: field `gal_eq` is never read [INFO] [stdout] --> src/coord.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Coord { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 11 | pub gal_eq: Matrix4, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `distpc_cap` is never read [INFO] [stdout] --> src/load.rs:334:9 [INFO] [stdout] | [INFO] [stdout] 322 | pub struct Loader { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 334 | pub distpc_cap: f64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `distpc_cap` and `root` are never read [INFO] [stdout] --> src/lod.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct Octree { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 28 | pub distpc_cap: f64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub root: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/data.rs:38:26 [INFO] [stdout] | [INFO] [stdout] 38 | Some(val) => &val, [INFO] [stdout] | ^^^^ help: change this to: `val` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods with the following characteristics: (`to_*` and `self` type is `Copy`) usually take `self` by value [INFO] [stdout] --> src/load.rs:66:19 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn to_str(&self) -> &str { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider choosing a less ambiguous name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stdout] = note: `#[warn(clippy::wrong_self_convention)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/load.rs:201:17 [INFO] [stdout] | [INFO] [stdout] 201 | return Some(addit); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 201 - return Some(addit); [INFO] [stdout] 201 + Some(addit) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/load.rs:217:17 [INFO] [stdout] | [INFO] [stdout] 217 | return Some(addit); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 217 - return Some(addit); [INFO] [stdout] 217 + Some(addit) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/load.rs:221:13 [INFO] [stdout] | [INFO] [stdout] 221 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 221 - return None; [INFO] [stdout] 221 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `token` after checking its variant with `is_none` [INFO] [stdout] --> src/load.rs:270:28 [INFO] [stdout] | [INFO] [stdout] 267 | if token.is_none() { [INFO] [stdout] | ------------------ help: try: `if let Some() = token` [INFO] [stdout] ... [INFO] [stdout] 270 | if token.unwrap().trim().is_empty() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/load.rs:229:43 [INFO] [stdout] | [INFO] [stdout] 229 | let mmap = unsafe { Mmap::map(&f).expect(&format!("Error mapping file {}", file)) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|_| panic!("Error mapping file {}", file))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] = note: `#[warn(clippy::expect_fun_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the variable `i` is used as a loop counter [INFO] [stdout] --> src/load.rs:241:17 [INFO] [stdout] | [INFO] [stdout] 241 | for token in tokens { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider using: `for (i, token) in tokens.into_iter().enumerate()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stdout] = note: `#[warn(clippy::explicit_counter_loop)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `tokens.get(0)` [INFO] [stdout] --> src/load.rs:259:55 [INFO] [stdout] | [INFO] [stdout] 259 | let source_id: i64 = parse::parse_i64(tokens.get(0)); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `tokens.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/load.rs:282:16 [INFO] [stdout] | [INFO] [stdout] 282 | if total % 100000 == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: replace with: `total.is_multiple_of(100000)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sid` after checking its variant with `is_some` [INFO] [stdout] --> src/load.rs:307:25 [INFO] [stdout] | [INFO] [stdout] 306 | if sid.is_some() { [INFO] [stdout] | ---------------- help: try: `if let Some() = sid` [INFO] [stdout] 307 | let v = sid.unwrap().get(index); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `v` after checking its variant with `is_some` [INFO] [stdout] --> src/load.rs:309:26 [INFO] [stdout] | [INFO] [stdout] 308 | if v.is_some() { [INFO] [stdout] | -------------- help: try: `if let Some() = v` [INFO] [stdout] 309 | Some(v.unwrap().clone()) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `f64` which implements the `Copy` trait [INFO] [stdout] --> src/load.rs:309:26 [INFO] [stdout] | [INFO] [stdout] 309 | Some(v.unwrap().clone()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*v.unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (15/7) [INFO] [stdout] --> src/load.rs:378:5 [INFO] [stdout] | [INFO] [stdout] 378 | / pub fn new( [INFO] [stdout] 379 | | sep: Regex, [INFO] [stdout] 380 | | max_files: i32, [INFO] [stdout] 381 | | max_records: i32, [INFO] [stdout] ... | [INFO] [stdout] 393 | | indices_str: &str, [INFO] [stdout] 394 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/load.rs:512:43 [INFO] [stdout] | [INFO] [stdout] 512 | let mmap = unsafe { Mmap::map(&f).expect(&format!("Error mapping file {}", file)) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|_| panic!("Error mapping file {}", file))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/load.rs:514:9 [INFO] [stdout] | [INFO] [stdout] 514 | let reader: Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `reader` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 514 ~ [INFO] [stdout] 515 ~ let reader: Box = if is_gz { [INFO] [stdout] 516 ~ Box::new(io::BufReader::new(GzDecoder::new(&mmap[..]))) [INFO] [stdout] 517 | } else { [INFO] [stdout] 518 ~ Box::new(&mmap[..]) [INFO] [stdout] 519 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/load.rs:719:12 [INFO] [stdout] | [INFO] [stdout] 719 | if !(must_load || !has_geodist || (has_geodist && has_geodist_star)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 719 - if !(must_load || !has_geodist || (has_geodist && has_geodist_star)) { [INFO] [stdout] 719 + if !(must_load || !has_geodist || has_geodist_star) { [INFO] [stdout] | [INFO] [stdout] 719 - if !(must_load || !has_geodist || (has_geodist && has_geodist_star)) { [INFO] [stdout] 719 + if !must_load && has_geodist && !has_geodist_star { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/load.rs:719:13 [INFO] [stdout] | [INFO] [stdout] 719 | if !(must_load || !has_geodist || (has_geodist && has_geodist_star)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 719 - if !(must_load || !has_geodist || (has_geodist && has_geodist_star)) { [INFO] [stdout] 719 + if !!(!must_load && has_geodist && !has_geodist_star) { [INFO] [stdout] | [INFO] [stdout] 719 - if !(must_load || !has_geodist || (has_geodist && has_geodist_star)) { [INFO] [stdout] 719 + if !must_load || !has_geodist || has_geodist_star { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (20/7) [INFO] [stdout] --> src/load.rs:604:5 [INFO] [stdout] | [INFO] [stdout] 604 | / fn create_particle( [INFO] [stdout] 605 | | &mut self, [INFO] [stdout] 606 | | ssource_id: Option<&&str>, [INFO] [stdout] 607 | | ship_id: Option<&&str>, [INFO] [stdout] ... | [INFO] [stdout] 624 | | steff: Option<&&str>, [INFO] [stdout] 625 | | ) -> Option { [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/load.rs:645:9 [INFO] [stdout] | [INFO] [stdout] 645 | / if !appmag.is_finite() { [INFO] [stdout] 646 | | if !parse::is_empty(sbp) && !parse::is_empty(srp) { [INFO] [stdout] 647 | | let bp: f64 = parse::parse_f64(sbp); [INFO] [stdout] 648 | | let rp: f64 = parse::parse_f64(srp); [INFO] [stdout] ... | [INFO] [stdout] 651 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 645 ~ if !appmag.is_finite() [INFO] [stdout] 646 ~ && !parse::is_empty(sbp) && !parse::is_empty(srp) { [INFO] [stdout] 647 | let bp: f64 = parse::parse_f64(sbp); [INFO] [stdout] 648 | let rp: f64 = parse::parse_f64(srp); [INFO] [stdout] 649 | appmag = self.gmag_from_xp(bp, rp); [INFO] [stdout] 650 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/load.rs:725:9 [INFO] [stdout] | [INFO] [stdout] 725 | let dist_pc: f64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ created here [INFO] [stdout] 726 | / dist_pc = if self.use_phot_dist { [INFO] [stdout] 727 | | if phot_dist > 0.0 { [INFO] [stdout] 728 | | phot_dist [INFO] [stdout] 729 | | } else { [INFO] [stdout] ... | [INFO] [stdout] 739 | | 1000.0 / plx [INFO] [stdout] 740 | | }; [INFO] [stdout] | |_________^ initialised here [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] help: move the declaration `dist_pc` here [INFO] [stdout] | [INFO] [stdout] 725 ~ [INFO] [stdout] 726 ~ let dist_pc: f64 = if self.use_phot_dist { [INFO] [stdout] 727 + if phot_dist > 0.0 { [INFO] [stdout] 728 + phot_dist [INFO] [stdout] 729 + } else { [INFO] [stdout] 730 + -1.0 [INFO] [stdout] 731 + } [INFO] [stdout] 732 + } else if has_geodist { [INFO] [stdout] 733 + if geodist_pc > 0.0 { [INFO] [stdout] 734 + geodist_pc [INFO] [stdout] 735 + } else { [INFO] [stdout] 736 + -1.0 [INFO] [stdout] 737 + } [INFO] [stdout] 738 + } else { [INFO] [stdout] 739 + 1000.0 / plx [INFO] [stdout] 740 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/load.rs:841:17 [INFO] [stdout] | [INFO] [stdout] 841 | / if pebr.is_finite() { [INFO] [stdout] 842 | | pebr [INFO] [stdout] 843 | | } else { [INFO] [stdout] 844 | | 0.0 [INFO] [stdout] 845 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 840 ~ 1 [INFO] [stdout] 841 ~ if pebr.is_finite() => { [INFO] [stdout] 842 | pebr [INFO] [stdout] 843 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f32` -> `f32`) [INFO] [stdout] --> src/load.rs:888:51 [INFO] [stdout] | [INFO] [stdout] 888 | let color_packed: f32 = color::col_to_f32(col_r as f32, col_g as f32, col_b as f32, 1.0); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `col_r` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f32` -> `f32`) [INFO] [stdout] --> src/load.rs:888:65 [INFO] [stdout] | [INFO] [stdout] 888 | let color_packed: f32 = color::col_to_f32(col_r as f32, col_g as f32, col_b as f32, 1.0); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `col_g` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f32` -> `f32`) [INFO] [stdout] --> src/load.rs:888:79 [INFO] [stdout] | [INFO] [stdout] 888 | let color_packed: f32 = color::col_to_f32(col_r as f32, col_g as f32, col_b as f32, 1.0); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `col_b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/load.rs:895:12 [INFO] [stdout] | [INFO] [stdout] 895 | if self.total_loaded % 100000 == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `self.total_loaded.is_multiple_of(100000)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/load.rs:926:13 [INFO] [stdout] | [INFO] [stdout] 926 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 926 - return false; [INFO] [stdout] 926 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/load.rs:928:13 [INFO] [stdout] | [INFO] [stdout] 928 | return plx >= 0.0 && plx_e < plx * self.plx_err_bright && plx_e < self.plx_err_cap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 928 - return plx >= 0.0 && plx_e < plx * self.plx_err_bright && plx_e < self.plx_err_cap; [INFO] [stdout] 928 + plx >= 0.0 && plx_e < plx * self.plx_err_bright && plx_e < self.plx_err_cap [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/load.rs:930:13 [INFO] [stdout] | [INFO] [stdout] 930 | return plx >= 0.0 && plx_e < plx * self.plx_err_faint && plx_e < self.plx_err_cap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 930 - return plx >= 0.0 && plx_e < plx * self.plx_err_faint && plx_e < self.plx_err_cap; [INFO] [stdout] 930 + plx >= 0.0 && plx_e < plx * self.plx_err_faint && plx_e < self.plx_err_cap [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/load.rs:943:24 [INFO] [stdout] | [INFO] [stdout] 943 | Some(d) => return d > 0.5, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 943 - Some(d) => return d > 0.5, [INFO] [stdout] 943 + Some(d) => d > 0.5, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/load.rs:952:17 [INFO] [stdout] | [INFO] [stdout] 952 | / if d.is_finite() { [INFO] [stdout] 953 | | d [INFO] [stdout] 954 | | } else { [INFO] [stdout] 955 | | -1.0 [INFO] [stdout] 956 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 951 ~ Some(d) [INFO] [stdout] 952 ~ if d.is_finite() => { [INFO] [stdout] 953 | d [INFO] [stdout] 954 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `gal_eq` is never read [INFO] [stdout] --> src/coord.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Coord { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 11 | pub gal_eq: Matrix4, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `distpc_cap` is never read [INFO] [stdout] --> src/load.rs:334:9 [INFO] [stdout] | [INFO] [stdout] 322 | pub struct Loader { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 334 | pub distpc_cap: f64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `distpc_cap` and `root` are never read [INFO] [stdout] --> src/lod.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct Octree { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 28 | pub distpc_cap: f64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub root: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/load.rs:1047:13 [INFO] [stdout] | [INFO] [stdout] 1047 | return f64::NAN; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1047 - return f64::NAN; [INFO] [stdout] 1047 + f64::NAN [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/load.rs:1051:13 [INFO] [stdout] | [INFO] [stdout] 1051 | / return -2.5 [INFO] [stdout] 1052 | | * f64::log10( [INFO] [stdout] 1053 | | 10.0_f64.powf((25.3385 - bp) / 2.5) + 10.0_f64.powf((24.7479 - rp) / 2.5), [INFO] [stdout] 1054 | | ) [INFO] [stdout] 1055 | | + 25.6874; [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1051 ~ -2.5 [INFO] [stdout] 1052 + * f64::log10( [INFO] [stdout] 1053 + 10.0_f64.powf((25.3385 - bp) / 2.5) + 10.0_f64.powf((24.7479 - rp) / 2.5), [INFO] [stdout] 1054 + ) [INFO] [stdout] 1055 ~ + 25.6874 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `node.parent` after checking its variant with `is_some` [INFO] [stdout] --> src/lod.rs:200:37 [INFO] [stdout] | [INFO] [stdout] 198 | && node.parent.is_some() [INFO] [stdout] | --------------------- the check is happening here [INFO] [stdout] 199 | { [INFO] [stdout] 200 | let parent_id = node.parent.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `node.parent` after checking its variant with `is_some` [INFO] [stdout] --> src/lod.rs:265:41 [INFO] [stdout] | [INFO] [stdout] 263 | && node.parent.is_some() [INFO] [stdout] | --------------------- the check is happening here [INFO] [stdout] 264 | { [INFO] [stdout] 265 | let parent_id = node.parent.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/lod.rs:111:17 [INFO] [stdout] | [INFO] [stdout] 111 | let octant_i: usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] help: move the declaration `octant_i` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 111 ~ [INFO] [stdout] 112 | [INFO] [stdout] 113 ~ let octant_i: usize = if !self.has_node(octant_id) { [INFO] [stdout] 114 | // Octree node does not exist yet, create it [INFO] [stdout] ... [INFO] [stdout] 118 | [INFO] [stdout] 119 ~ oc_i [INFO] [stdout] 120 | } else { [INFO] [stdout] 121 ~ self.get_node(octant_id) [INFO] [stdout] 122 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/lod.rs:181:87 [INFO] [stdout] | [INFO] [stdout] 181 | let (ncomputedstars, ncomputednodes) = self.nodes.borrow()[0].compute_numbers(&self); [INFO] [stdout] | ^^^^^ help: change this to: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/data.rs:38:26 [INFO] [stdout] | [INFO] [stdout] 38 | Some(val) => &val, [INFO] [stdout] | ^^^^ help: change this to: `val` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/lod.rs:315:48 [INFO] [stdout] | [INFO] [stdout] 315 | self.nodes.borrow()[0].compute_numbers(&self); [INFO] [stdout] | ^^^^^ help: change this to: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/lod.rs:327:5 [INFO] [stdout] | [INFO] [stdout] 327 | / fn add_new_node( [INFO] [stdout] 328 | | &self, [INFO] [stdout] 329 | | new_id: OctantId, [INFO] [stdout] 330 | | x: f64, [INFO] [stdout] ... | [INFO] [stdout] 335 | | parent: Option, [INFO] [stdout] 336 | | ) -> usize { [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `self.nodes.borrow().get(0)` [INFO] [stdout] --> src/lod.rs:351:23 [INFO] [stdout] | [INFO] [stdout] 351 | let mut min = self.nodes.borrow().get(0).unwrap().min.copy(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.nodes.borrow().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `self.nodes.borrow().get(0)` [INFO] [stdout] --> src/lod.rs:352:22 [INFO] [stdout] | [INFO] [stdout] 352 | let mut hs = self.nodes.borrow().get(0).unwrap().size.x / 2.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.nodes.borrow().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `self.nodes.borrow().get(0)` [INFO] [stdout] --> src/lod.rs:355:13 [INFO] [stdout] | [INFO] [stdout] 355 | if !self.nodes.borrow().get(0).unwrap().contains(x, y, z) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.nodes.borrow().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/lod.rs:401:13 [INFO] [stdout] | [INFO] [stdout] 401 | hs = hs / 2.0; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `hs /= 2.0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods with the following characteristics: (`to_*` and `self` type is `Copy`) usually take `self` by value [INFO] [stdout] --> src/load.rs:66:19 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn to_str(&self) -> &str { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider choosing a less ambiguous name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stdout] = note: `#[warn(clippy::wrong_self_convention)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `self.nodes [INFO] [stdout] .borrow().get(0)` [INFO] [stdout] --> src/lod.rs:643:9 [INFO] [stdout] | [INFO] [stdout] 643 | / self.nodes [INFO] [stdout] 644 | | .borrow() [INFO] [stdout] 645 | | .get(0) [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 643 ~ self.nodes [INFO] [stdout] 644 + .borrow().first() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/load.rs:201:17 [INFO] [stdout] | [INFO] [stdout] 201 | return Some(addit); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 201 - return Some(addit); [INFO] [stdout] 201 + Some(addit) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/load.rs:217:17 [INFO] [stdout] | [INFO] [stdout] 217 | return Some(addit); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 217 - return Some(addit); [INFO] [stdout] 217 + Some(addit) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/load.rs:221:13 [INFO] [stdout] | [INFO] [stdout] 221 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 221 - return None; [INFO] [stdout] 221 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `token` after checking its variant with `is_none` [INFO] [stdout] --> src/load.rs:270:28 [INFO] [stdout] | [INFO] [stdout] 267 | if token.is_none() { [INFO] [stdout] | ------------------ help: try: `if let Some() = token` [INFO] [stdout] ... [INFO] [stdout] 270 | if token.unwrap().trim().is_empty() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/load.rs:229:43 [INFO] [stdout] | [INFO] [stdout] 229 | let mmap = unsafe { Mmap::map(&f).expect(&format!("Error mapping file {}", file)) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|_| panic!("Error mapping file {}", file))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] = note: `#[warn(clippy::expect_fun_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the variable `i` is used as a loop counter [INFO] [stdout] --> src/load.rs:241:17 [INFO] [stdout] | [INFO] [stdout] 241 | for token in tokens { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider using: `for (i, token) in tokens.into_iter().enumerate()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stdout] = note: `#[warn(clippy::explicit_counter_loop)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `tokens.get(0)` [INFO] [stdout] --> src/load.rs:259:55 [INFO] [stdout] | [INFO] [stdout] 259 | let source_id: i64 = parse::parse_i64(tokens.get(0)); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `tokens.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/lod.rs:778:17 [INFO] [stdout] | [INFO] [stdout] 778 | / match c { [INFO] [stdout] 779 | | Some(child) => { [INFO] [stdout] 780 | | let idx = *octree.nodes_idx.borrow().get(&child.0).unwrap(); [INFO] [stdout] 781 | | let nodes = octree.nodes.borrow(); [INFO] [stdout] ... | [INFO] [stdout] 787 | | None => (), [INFO] [stdout] 788 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 778 ~ if let Some(child) = c { [INFO] [stdout] 779 + let idx = *octree.nodes_idx.borrow().get(&child.0).unwrap(); [INFO] [stdout] 780 + let nodes = octree.nodes.borrow(); [INFO] [stdout] 781 + let node = nodes.get(idx).unwrap(); [INFO] [stdout] 782 + if !node.deleted.get() { [INFO] [stdout] 783 + node.print(i, octree) [INFO] [stdout] 784 + } [INFO] [stdout] 785 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `ch` after checking its variant with `is_some` [INFO] [stdout] --> src/lod.rs:797:32 [INFO] [stdout] | [INFO] [stdout] 796 | if ch.is_some() { [INFO] [stdout] | --------------- help: try: `if let Some() = ch` [INFO] [stdout] 797 | let child_id = ch.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/load.rs:282:16 [INFO] [stdout] | [INFO] [stdout] 282 | if total % 100000 == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: replace with: `total.is_multiple_of(100000)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `sid` after checking its variant with `is_some` [INFO] [stdout] --> src/load.rs:307:25 [INFO] [stdout] | [INFO] [stdout] 306 | if sid.is_some() { [INFO] [stdout] | ---------------- help: try: `if let Some() = sid` [INFO] [stdout] 307 | let v = sid.unwrap().get(index); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `v` after checking its variant with `is_some` [INFO] [stdout] --> src/load.rs:309:26 [INFO] [stdout] | [INFO] [stdout] 308 | if v.is_some() { [INFO] [stdout] | -------------- help: try: `if let Some() = v` [INFO] [stdout] 309 | Some(v.unwrap().clone()) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `f64` which implements the `Copy` trait [INFO] [stdout] --> src/load.rs:309:26 [INFO] [stdout] | [INFO] [stdout] 309 | Some(v.unwrap().clone()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*v.unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (15/7) [INFO] [stdout] --> src/load.rs:378:5 [INFO] [stdout] | [INFO] [stdout] 378 | / pub fn new( [INFO] [stdout] 379 | | sep: Regex, [INFO] [stdout] 380 | | max_files: i32, [INFO] [stdout] 381 | | max_records: i32, [INFO] [stdout] ... | [INFO] [stdout] 393 | | indices_str: &str, [INFO] [stdout] 394 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/util.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | let delta; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] help: move the declaration `delta` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 36 ~ [INFO] [stdout] 37 ~ let delta = if x2 + z2 == 0.0 { [INFO] [stdout] 38 ~ if y > 0.0 { [INFO] [stdout] 39 | consts::PI / 2.0 [INFO] [stdout] 40 | } else { [INFO] [stdout] 41 | -consts::PI / 2.0 [INFO] [stdout] 42 ~ } [INFO] [stdout] 43 | } else { [INFO] [stdout] 44 ~ (y / (x2 + z2).sqrt()).atan() [INFO] [stdout] 45 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/load.rs:512:43 [INFO] [stdout] | [INFO] [stdout] 512 | let mmap = unsafe { Mmap::map(&f).expect(&format!("Error mapping file {}", file)) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|_| panic!("Error mapping file {}", file))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/load.rs:514:9 [INFO] [stdout] | [INFO] [stdout] 514 | let reader: Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `reader` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 514 ~ [INFO] [stdout] 515 ~ let reader: Box = if is_gz { [INFO] [stdout] 516 ~ Box::new(io::BufReader::new(GzDecoder::new(&mmap[..]))) [INFO] [stdout] 517 | } else { [INFO] [stdout] 518 ~ Box::new(&mmap[..]) [INFO] [stdout] 519 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `i32` is unnecessary [INFO] [stdout] --> src/write.rs:36:18 [INFO] [stdout] | [INFO] [stdout] 36 | f.write_all(&(-1 as i32).to_be_bytes()) [INFO] [stdout] | ^^^^^^^^^^^ help: try: `(-1_i32)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `i32` is unnecessary [INFO] [stdout] --> src/write.rs:39:18 [INFO] [stdout] | [INFO] [stdout] 39 | f.write_all(&(1 as i32).to_be_bytes()) [INFO] [stdout] | ^^^^^^^^^^ help: try: `1_i32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i64` -> `i64`) [INFO] [stdout] --> src/write.rs:52:22 [INFO] [stdout] | [INFO] [stdout] 52 | f.write_all(&(node.id.0 as i64).to_be_bytes()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `node.id.0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i64` -> `i64`) [INFO] [stdout] --> src/write.rs:69:30 [INFO] [stdout] | [INFO] [stdout] 69 | f.write_all(&(node.get_child(i).unwrap().0 as i64).to_be_bytes()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `node.get_child(i).unwrap().0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `i64` is unnecessary [INFO] [stdout] --> src/write.rs:72:30 [INFO] [stdout] | [INFO] [stdout] 72 | f.write_all(&(-1 as i64).to_be_bytes()) [INFO] [stdout] | ^^^^^^^^^^^ help: try: `(-1_i64)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/load.rs:719:12 [INFO] [stdout] | [INFO] [stdout] 719 | if !(must_load || !has_geodist || (has_geodist && has_geodist_star)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 719 - if !(must_load || !has_geodist || (has_geodist && has_geodist_star)) { [INFO] [stdout] 719 + if !(must_load || !has_geodist || has_geodist_star) { [INFO] [stdout] | [INFO] [stdout] 719 - if !(must_load || !has_geodist || (has_geodist && has_geodist_star)) { [INFO] [stdout] 719 + if !must_load && has_geodist && !has_geodist_star { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/load.rs:719:13 [INFO] [stdout] | [INFO] [stdout] 719 | if !(must_load || !has_geodist || (has_geodist && has_geodist_star)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 719 - if !(must_load || !has_geodist || (has_geodist && has_geodist_star)) { [INFO] [stdout] 719 + if !!(!must_load && has_geodist && !has_geodist_star) { [INFO] [stdout] | [INFO] [stdout] 719 - if !(must_load || !has_geodist || (has_geodist && has_geodist_star)) { [INFO] [stdout] 719 + if !must_load || !has_geodist || has_geodist_star { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (20/7) [INFO] [stdout] --> src/load.rs:604:5 [INFO] [stdout] | [INFO] [stdout] 604 | / fn create_particle( [INFO] [stdout] 605 | | &mut self, [INFO] [stdout] 606 | | ssource_id: Option<&&str>, [INFO] [stdout] 607 | | ship_id: Option<&&str>, [INFO] [stdout] ... | [INFO] [stdout] 624 | | steff: Option<&&str>, [INFO] [stdout] 625 | | ) -> Option { [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/write.rs:108:14 [INFO] [stdout] | [INFO] [stdout] 108 | .expect(&format!("Error creating directory: {}", particles_dir)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|_| panic!("Error creating directory: {}", particles_dir))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/load.rs:645:9 [INFO] [stdout] | [INFO] [stdout] 645 | / if !appmag.is_finite() { [INFO] [stdout] 646 | | if !parse::is_empty(sbp) && !parse::is_empty(srp) { [INFO] [stdout] 647 | | let bp: f64 = parse::parse_f64(sbp); [INFO] [stdout] 648 | | let rp: f64 = parse::parse_f64(srp); [INFO] [stdout] ... | [INFO] [stdout] 651 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 645 ~ if !appmag.is_finite() [INFO] [stdout] 646 ~ && !parse::is_empty(sbp) && !parse::is_empty(srp) { [INFO] [stdout] 647 | let bp: f64 = parse::parse_f64(sbp); [INFO] [stdout] 648 | let rp: f64 = parse::parse_f64(srp); [INFO] [stdout] 649 | appmag = self.gmag_from_xp(bp, rp); [INFO] [stdout] 650 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/write.rs:139:22 [INFO] [stdout] | [INFO] [stdout] 139 | .expect(&format!("Star not found: {}", *star_idx)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|| panic!("Star not found: {}", *star_idx))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/load.rs:725:9 [INFO] [stdout] | [INFO] [stdout] 725 | let dist_pc: f64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ created here [INFO] [stdout] 726 | / dist_pc = if self.use_phot_dist { [INFO] [stdout] 727 | | if phot_dist > 0.0 { [INFO] [stdout] 728 | | phot_dist [INFO] [stdout] 729 | | } else { [INFO] [stdout] ... | [INFO] [stdout] 739 | | 1000.0 / plx [INFO] [stdout] 740 | | }; [INFO] [stdout] | |_________^ initialised here [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] help: move the declaration `dist_pc` here [INFO] [stdout] | [INFO] [stdout] 725 ~ [INFO] [stdout] 726 ~ let dist_pc: f64 = if self.use_phot_dist { [INFO] [stdout] 727 + if phot_dist > 0.0 { [INFO] [stdout] 728 + phot_dist [INFO] [stdout] 729 + } else { [INFO] [stdout] 730 + -1.0 [INFO] [stdout] 731 + } [INFO] [stdout] 732 + } else if has_geodist { [INFO] [stdout] 733 + if geodist_pc > 0.0 { [INFO] [stdout] 734 + geodist_pc [INFO] [stdout] 735 + } else { [INFO] [stdout] 736 + -1.0 [INFO] [stdout] 737 + } [INFO] [stdout] 738 + } else { [INFO] [stdout] 739 + 1000.0 / plx [INFO] [stdout] 740 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/write.rs:173:21 [INFO] [stdout] | [INFO] [stdout] 173 | names_concat.push_str("|"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `names_concat.push('|')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] = note: `#[warn(clippy::single_char_add_str)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/write.rs:219:22 [INFO] [stdout] | [INFO] [stdout] 219 | .expect(&format!("Star not found: {}", *star_idx)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|| panic!("Star not found: {}", *star_idx))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/load.rs:841:17 [INFO] [stdout] | [INFO] [stdout] 841 | / if pebr.is_finite() { [INFO] [stdout] 842 | | pebr [INFO] [stdout] 843 | | } else { [INFO] [stdout] 844 | | 0.0 [INFO] [stdout] 845 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 840 ~ 1 [INFO] [stdout] 841 ~ if pebr.is_finite() => { [INFO] [stdout] 842 | pebr [INFO] [stdout] 843 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/write.rs:227:25 [INFO] [stdout] | [INFO] [stdout] 227 | size += 8 * 1; [INFO] [stdout] | ^^^^^ help: consider reducing it to: `8` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] = note: `#[warn(clippy::identity_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/write.rs:229:25 [INFO] [stdout] | [INFO] [stdout] 229 | size += 4 * 1; [INFO] [stdout] | ^^^^^ help: consider reducing it to: `4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicitly performing saturating subtraction [INFO] [stdout] --> src/write.rs:235:17 [INFO] [stdout] | [INFO] [stdout] 235 | / if name_size > 0 { [INFO] [stdout] 236 | | name_size -= 1; [INFO] [stdout] 237 | | } [INFO] [stdout] | |_________________^ help: try: `name_size = name_size.saturating_sub(1);` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_saturating_sub [INFO] [stdout] = note: `#[warn(clippy::implicit_saturating_sub)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f32` -> `f32`) [INFO] [stdout] --> src/load.rs:888:51 [INFO] [stdout] | [INFO] [stdout] 888 | let color_packed: f32 = color::col_to_f32(col_r as f32, col_g as f32, col_b as f32, 1.0); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `col_r` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f32` -> `f32`) [INFO] [stdout] --> src/load.rs:888:65 [INFO] [stdout] | [INFO] [stdout] 888 | let color_packed: f32 = color::col_to_f32(col_r as f32, col_g as f32, col_b as f32, 1.0); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `col_g` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/write.rs:247:14 [INFO] [stdout] | [INFO] [stdout] 247 | .expect(&format!("Error creating directory: {}", particles_dir)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|_| panic!("Error creating directory: {}", particles_dir))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f32` -> `f32`) [INFO] [stdout] --> src/load.rs:888:79 [INFO] [stdout] | [INFO] [stdout] 888 | let color_packed: f32 = color::col_to_f32(col_r as f32, col_g as f32, col_b as f32, 1.0); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `col_b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/load.rs:895:12 [INFO] [stdout] | [INFO] [stdout] 895 | if self.total_loaded % 100000 == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `self.total_loaded.is_multiple_of(100000)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/load.rs:926:13 [INFO] [stdout] | [INFO] [stdout] 926 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 926 - return false; [INFO] [stdout] 926 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/load.rs:928:13 [INFO] [stdout] | [INFO] [stdout] 928 | return plx >= 0.0 && plx_e < plx * self.plx_err_bright && plx_e < self.plx_err_cap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 928 - return plx >= 0.0 && plx_e < plx * self.plx_err_bright && plx_e < self.plx_err_cap; [INFO] [stdout] 928 + plx >= 0.0 && plx_e < plx * self.plx_err_bright && plx_e < self.plx_err_cap [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/load.rs:930:13 [INFO] [stdout] | [INFO] [stdout] 930 | return plx >= 0.0 && plx_e < plx * self.plx_err_faint && plx_e < self.plx_err_cap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 930 - return plx >= 0.0 && plx_e < plx * self.plx_err_faint && plx_e < self.plx_err_cap; [INFO] [stdout] 930 + plx >= 0.0 && plx_e < plx * self.plx_err_faint && plx_e < self.plx_err_cap [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/write.rs:295:22 [INFO] [stdout] | [INFO] [stdout] 295 | .expect(&format!("Star not found: {}", *star_idx)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|| panic!("Star not found: {}", *star_idx))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/load.rs:943:24 [INFO] [stdout] | [INFO] [stdout] 943 | Some(d) => return d > 0.5, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 943 - Some(d) => return d > 0.5, [INFO] [stdout] 943 + Some(d) => d > 0.5, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/load.rs:952:17 [INFO] [stdout] | [INFO] [stdout] 952 | / if d.is_finite() { [INFO] [stdout] 953 | | d [INFO] [stdout] 954 | | } else { [INFO] [stdout] 955 | | -1.0 [INFO] [stdout] 956 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 951 ~ Some(d) [INFO] [stdout] 952 ~ if d.is_finite() => { [INFO] [stdout] 953 | d [INFO] [stdout] 954 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/write.rs:367:21 [INFO] [stdout] | [INFO] [stdout] 367 | names_concat.push_str("|"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `names_concat.push('|')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/load.rs:1047:13 [INFO] [stdout] | [INFO] [stdout] 1047 | return f64::NAN; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1047 - return f64::NAN; [INFO] [stdout] 1047 + f64::NAN [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/load.rs:1051:13 [INFO] [stdout] | [INFO] [stdout] 1051 | / return -2.5 [INFO] [stdout] 1052 | | * f64::log10( [INFO] [stdout] 1053 | | 10.0_f64.powf((25.3385 - bp) / 2.5) + 10.0_f64.powf((24.7479 - rp) / 2.5), [INFO] [stdout] 1054 | | ) [INFO] [stdout] 1055 | | + 25.6874; [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1051 ~ -2.5 [INFO] [stdout] 1052 + * f64::log10( [INFO] [stdout] 1053 + 10.0_f64.powf((25.3385 - bp) / 2.5) + 10.0_f64.powf((24.7479 - rp) / 2.5), [INFO] [stdout] 1054 + ) [INFO] [stdout] 1055 ~ + 25.6874 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `tokens.get(0)` [INFO] [stdout] --> src/xmatch.rs:17:42 [INFO] [stdout] | [INFO] [stdout] 17 | let source_id = parse::parse_i64(tokens.get(0)); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `tokens.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `node.parent` after checking its variant with `is_some` [INFO] [stdout] --> src/lod.rs:200:37 [INFO] [stdout] | [INFO] [stdout] 198 | && node.parent.is_some() [INFO] [stdout] | --------------------- the check is happening here [INFO] [stdout] 199 | { [INFO] [stdout] 200 | let parent_id = node.parent.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/main.rs:249:8 [INFO] [stdout] | [INFO] [stdout] 249 | if args.input.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!args.input.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `node.parent` after checking its variant with `is_some` [INFO] [stdout] --> src/lod.rs:265:41 [INFO] [stdout] | [INFO] [stdout] 263 | && node.parent.is_some() [INFO] [stdout] | --------------------- the check is happening here [INFO] [stdout] 264 | { [INFO] [stdout] 265 | let parent_id = node.parent.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/main.rs:274:12 [INFO] [stdout] | [INFO] [stdout] 274 | if args.hip.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!args.hip.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/lod.rs:111:17 [INFO] [stdout] | [INFO] [stdout] 111 | let octant_i: usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] help: move the declaration `octant_i` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 111 ~ [INFO] [stdout] 112 | [INFO] [stdout] 113 ~ let octant_i: usize = if !self.has_node(octant_id) { [INFO] [stdout] 114 | // Octree node does not exist yet, create it [INFO] [stdout] ... [INFO] [stdout] 118 | [INFO] [stdout] 119 ~ oc_i [INFO] [stdout] 120 | } else { [INFO] [stdout] 121 ~ self.get_node(octant_id) [INFO] [stdout] 122 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/main.rs:294:12 [INFO] [stdout] | [INFO] [stdout] 294 | if args.hip.len() > 0 && args.xmatch.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!args.hip.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/main.rs:294:34 [INFO] [stdout] | [INFO] [stdout] 294 | if args.hip.len() > 0 && args.xmatch.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!args.xmatch.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:366:48 [INFO] [stdout] | [INFO] [stdout] 366 | let hip_star = hip_map.get(&hip_id).unwrap(); [INFO] [stdout] | ^^^^^^^ help: change this to: `hip_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/lod.rs:181:87 [INFO] [stdout] | [INFO] [stdout] 181 | let (ncomputedstars, ncomputednodes) = self.nodes.borrow()[0].compute_numbers(&self); [INFO] [stdout] | ^^^^^ help: change this to: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/lod.rs:315:48 [INFO] [stdout] | [INFO] [stdout] 315 | self.nodes.borrow()[0].compute_numbers(&self); [INFO] [stdout] | ^^^^^ help: change this to: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/lod.rs:327:5 [INFO] [stdout] | [INFO] [stdout] 327 | / fn add_new_node( [INFO] [stdout] 328 | | &self, [INFO] [stdout] 329 | | new_id: OctantId, [INFO] [stdout] 330 | | x: f64, [INFO] [stdout] ... | [INFO] [stdout] 335 | | parent: Option, [INFO] [stdout] 336 | | ) -> usize { [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `self.nodes.borrow().get(0)` [INFO] [stdout] --> src/lod.rs:351:23 [INFO] [stdout] | [INFO] [stdout] 351 | let mut min = self.nodes.borrow().get(0).unwrap().min.copy(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.nodes.borrow().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `self.nodes.borrow().get(0)` [INFO] [stdout] --> src/lod.rs:352:22 [INFO] [stdout] | [INFO] [stdout] 352 | let mut hs = self.nodes.borrow().get(0).unwrap().size.x / 2.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.nodes.borrow().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `self.nodes.borrow().get(0)` [INFO] [stdout] --> src/lod.rs:355:13 [INFO] [stdout] | [INFO] [stdout] 355 | if !self.nodes.borrow().get(0).unwrap().contains(x, y, z) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.nodes.borrow().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/lod.rs:401:13 [INFO] [stdout] | [INFO] [stdout] 401 | hs = hs / 2.0; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `hs /= 2.0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/color.rs:88:14 [INFO] [stdout] | [INFO] [stdout] 88 | unsafe { mem::transmute::<[u8; 4], f32>(bytes) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 88 - unsafe { mem::transmute::<[u8; 4], f32>(bytes) } [INFO] [stdout] 88 + unsafe { f32::from_ne_bytes(bytes) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `self.nodes [INFO] [stdout] .borrow().get(0)` [INFO] [stdout] --> src/lod.rs:643:9 [INFO] [stdout] | [INFO] [stdout] 643 | / self.nodes [INFO] [stdout] 644 | | .borrow() [INFO] [stdout] 645 | | .get(0) [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 643 ~ self.nodes [INFO] [stdout] 644 + .borrow().first() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/lod.rs:778:17 [INFO] [stdout] | [INFO] [stdout] 778 | / match c { [INFO] [stdout] 779 | | Some(child) => { [INFO] [stdout] 780 | | let idx = *octree.nodes_idx.borrow().get(&child.0).unwrap(); [INFO] [stdout] 781 | | let nodes = octree.nodes.borrow(); [INFO] [stdout] ... | [INFO] [stdout] 787 | | None => (), [INFO] [stdout] 788 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 778 ~ if let Some(child) = c { [INFO] [stdout] 779 + let idx = *octree.nodes_idx.borrow().get(&child.0).unwrap(); [INFO] [stdout] 780 + let nodes = octree.nodes.borrow(); [INFO] [stdout] 781 + let node = nodes.get(idx).unwrap(); [INFO] [stdout] 782 + if !node.deleted.get() { [INFO] [stdout] 783 + node.print(i, octree) [INFO] [stdout] 784 + } [INFO] [stdout] 785 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `ch` after checking its variant with `is_some` [INFO] [stdout] --> src/lod.rs:797:32 [INFO] [stdout] | [INFO] [stdout] 796 | if ch.is_some() { [INFO] [stdout] | --------------- help: try: `if let Some() = ch` [INFO] [stdout] 797 | let child_id = ch.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/util.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | let delta; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] help: move the declaration `delta` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 36 ~ [INFO] [stdout] 37 ~ let delta = if x2 + z2 == 0.0 { [INFO] [stdout] 38 ~ if y > 0.0 { [INFO] [stdout] 39 | consts::PI / 2.0 [INFO] [stdout] 40 | } else { [INFO] [stdout] 41 | -consts::PI / 2.0 [INFO] [stdout] 42 ~ } [INFO] [stdout] 43 | } else { [INFO] [stdout] 44 ~ (y / (x2 + z2).sqrt()).atan() [INFO] [stdout] 45 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `i32` is unnecessary [INFO] [stdout] --> src/write.rs:36:18 [INFO] [stdout] | [INFO] [stdout] 36 | f.write_all(&(-1 as i32).to_be_bytes()) [INFO] [stdout] | ^^^^^^^^^^^ help: try: `(-1_i32)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `i32` is unnecessary [INFO] [stdout] --> src/write.rs:39:18 [INFO] [stdout] | [INFO] [stdout] 39 | f.write_all(&(1 as i32).to_be_bytes()) [INFO] [stdout] | ^^^^^^^^^^ help: try: `1_i32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i64` -> `i64`) [INFO] [stdout] --> src/write.rs:52:22 [INFO] [stdout] | [INFO] [stdout] 52 | f.write_all(&(node.id.0 as i64).to_be_bytes()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `node.id.0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i64` -> `i64`) [INFO] [stdout] --> src/write.rs:69:30 [INFO] [stdout] | [INFO] [stdout] 69 | f.write_all(&(node.get_child(i).unwrap().0 as i64).to_be_bytes()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `node.get_child(i).unwrap().0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `i64` is unnecessary [INFO] [stdout] --> src/write.rs:72:30 [INFO] [stdout] | [INFO] [stdout] 72 | f.write_all(&(-1 as i64).to_be_bytes()) [INFO] [stdout] | ^^^^^^^^^^^ help: try: `(-1_i64)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/write.rs:108:14 [INFO] [stdout] | [INFO] [stdout] 108 | .expect(&format!("Error creating directory: {}", particles_dir)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|_| panic!("Error creating directory: {}", particles_dir))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/write.rs:139:22 [INFO] [stdout] | [INFO] [stdout] 139 | .expect(&format!("Star not found: {}", *star_idx)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|| panic!("Star not found: {}", *star_idx))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/write.rs:173:21 [INFO] [stdout] | [INFO] [stdout] 173 | names_concat.push_str("|"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `names_concat.push('|')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] = note: `#[warn(clippy::single_char_add_str)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/write.rs:219:22 [INFO] [stdout] | [INFO] [stdout] 219 | .expect(&format!("Star not found: {}", *star_idx)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|| panic!("Star not found: {}", *star_idx))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/write.rs:227:25 [INFO] [stdout] | [INFO] [stdout] 227 | size += 8 * 1; [INFO] [stdout] | ^^^^^ help: consider reducing it to: `8` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] = note: `#[warn(clippy::identity_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/write.rs:229:25 [INFO] [stdout] | [INFO] [stdout] 229 | size += 4 * 1; [INFO] [stdout] | ^^^^^ help: consider reducing it to: `4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicitly performing saturating subtraction [INFO] [stdout] --> src/write.rs:235:17 [INFO] [stdout] | [INFO] [stdout] 235 | / if name_size > 0 { [INFO] [stdout] 236 | | name_size -= 1; [INFO] [stdout] 237 | | } [INFO] [stdout] | |_________________^ help: try: `name_size = name_size.saturating_sub(1);` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_saturating_sub [INFO] [stdout] = note: `#[warn(clippy::implicit_saturating_sub)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/write.rs:247:14 [INFO] [stdout] | [INFO] [stdout] 247 | .expect(&format!("Error creating directory: {}", particles_dir)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|_| panic!("Error creating directory: {}", particles_dir))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/write.rs:295:22 [INFO] [stdout] | [INFO] [stdout] 295 | .expect(&format!("Star not found: {}", *star_idx)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|| panic!("Star not found: {}", *star_idx))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/write.rs:367:21 [INFO] [stdout] | [INFO] [stdout] 367 | names_concat.push_str("|"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `names_concat.push('|')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `tokens.get(0)` [INFO] [stdout] --> src/xmatch.rs:17:42 [INFO] [stdout] | [INFO] [stdout] 17 | let source_id = parse::parse_i64(tokens.get(0)); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `tokens.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/main.rs:249:8 [INFO] [stdout] | [INFO] [stdout] 249 | if args.input.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!args.input.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/main.rs:274:12 [INFO] [stdout] | [INFO] [stdout] 274 | if args.hip.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!args.hip.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/main.rs:294:12 [INFO] [stdout] | [INFO] [stdout] 294 | if args.hip.len() > 0 && args.xmatch.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!args.hip.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/main.rs:294:34 [INFO] [stdout] | [INFO] [stdout] 294 | if args.hip.len() > 0 && args.xmatch.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!args.xmatch.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:366:48 [INFO] [stdout] | [INFO] [stdout] 366 | let hip_star = hip_map.get(&hip_id).unwrap(); [INFO] [stdout] | ^^^^^^^ help: change this to: `hip_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/color.rs:88:14 [INFO] [stdout] | [INFO] [stdout] 88 | unsafe { mem::transmute::<[u8; 4], f32>(bytes) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 88 - unsafe { mem::transmute::<[u8; 4], f32>(bytes) } [INFO] [stdout] 88 + unsafe { f32::from_ne_bytes(bytes) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.30s [INFO] running `Command { std: "docker" "inspect" "0bb95a50244372aa16b217b05f0ecdbc88f0ef5c2e6aaf3a0ed29c67a143d547", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0bb95a50244372aa16b217b05f0ecdbc88f0ef5c2e6aaf3a0ed29c67a143d547", kill_on_drop: false }` [INFO] [stdout] 0bb95a50244372aa16b217b05f0ecdbc88f0ef5c2e6aaf3a0ed29c67a143d547