[INFO] cloning repository https://github.com/robertbrignull/Snowflake [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/robertbrignull/Snowflake" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frobertbrignull%2FSnowflake", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frobertbrignull%2FSnowflake'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ccd661092384fc13bd00d3d9aa0161d40107a001 [INFO] linting robertbrignull/Snowflake against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frobertbrignull%2FSnowflake" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/robertbrignull/Snowflake [INFO] finished tweaking git repo https://github.com/robertbrignull/Snowflake [INFO] tweaked toml for git repo https://github.com/robertbrignull/Snowflake written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/robertbrignull/Snowflake 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/robertbrignull/Snowflake 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] Downloading crates ... [INFO] [stderr] Downloaded bytemuck v1.7.2 [INFO] [stderr] Downloaded redox_syscall v0.1.54 [INFO] [stderr] Downloaded libc v0.2.103 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] f62f02082bf14396e1c0d7a680bc3e8c68847921143da0c1f5eaf158ff5c7884 [INFO] running `Command { std: "docker" "start" "-a" "f62f02082bf14396e1c0d7a680bc3e8c68847921143da0c1f5eaf158ff5c7884", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f62f02082bf14396e1c0d7a680bc3e8c68847921143da0c1f5eaf158ff5c7884", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f62f02082bf14396e1c0d7a680bc3e8c68847921143da0c1f5eaf158ff5c7884", kill_on_drop: false }` [INFO] [stdout] f62f02082bf14396e1c0d7a680bc3e8c68847921143da0c1f5eaf158ff5c7884 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] f0d384fa2a5a8f00057348f244dcb4238979c9b0920abf6584c67c0bdee90411 [INFO] running `Command { std: "docker" "start" "-a" "f0d384fa2a5a8f00057348f244dcb4238979c9b0920abf6584c67c0bdee90411", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.103 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling rayon v1.0.3 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Compiling crc32fast v1.2.1 [INFO] [stderr] Checking crossbeam-utils v0.2.2 [INFO] [stderr] Compiling num-rational v0.3.2 [INFO] [stderr] Checking weezl v0.1.5 [INFO] [stderr] Checking miniz_oxide v0.3.7 [INFO] [stderr] Checking deflate v0.8.6 [INFO] [stderr] Checking unicode-width v0.1.5 [INFO] [stderr] Compiling anyhow v1.0.44 [INFO] [stderr] Checking ppv-lite86 v0.2.10 [INFO] [stderr] Checking bytemuck v1.7.2 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking gif v0.11.2 [INFO] [stderr] Checking crossbeam-epoch v0.3.1 [INFO] [stderr] Checking crossbeam-deque v0.2.0 [INFO] [stderr] Checking png v0.16.8 [INFO] [stderr] Checking num_cpus v1.10.0 [INFO] [stderr] Checking getrandom v0.2.3 [INFO] [stderr] Checking atty v0.2.11 [INFO] [stderr] Checking clap v2.33.3 [INFO] [stderr] Checking rand_core v0.6.3 [INFO] [stderr] Checking rayon-core v1.4.1 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.4 [INFO] [stderr] Checking num-iter v0.1.37 [INFO] [stderr] Checking jpeg-decoder v0.1.22 [INFO] [stderr] Checking tiff v0.6.1 [INFO] [stderr] Checking image v0.23.14 [INFO] [stderr] Checking snowflake v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/generate.rs:14:16 [INFO] [stdout] | [INFO] [stdout] 14 | Rotational(u32), [INFO] [stdout] | ---------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 14 - Rotational(u32), [INFO] [stdout] 14 + Rotational(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/generate.rs:15:18 [INFO] [stdout] | [INFO] [stdout] 15 | Reflectional(u32), [INFO] [stdout] | ------------ ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 15 - Reflectional(u32), [INFO] [stdout] 15 + Reflectional(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/flake.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | / return Flake { [INFO] [stdout] 20 | | flake_file: flake_file.to_string(), [INFO] [stdout] 21 | | buffered_points: Vec::new(), [INFO] [stdout] 22 | | }; [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] 19 ~ Flake { [INFO] [stdout] 20 + flake_file: flake_file.to_string(), [INFO] [stdout] 21 + buffered_points: Vec::new(), [INFO] [stdout] 22 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/flake.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | return Result::Ok(()); [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] 58 - return Result::Ok(()); [INFO] [stdout] 58 + Result::Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/flake.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | return Result::Ok(()); [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] 79 - return Result::Ok(()); [INFO] [stdout] 79 + Result::Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `.write(true)` because there is `.append(true)` [INFO] [stdout] --> src/flake.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | .write(true) [INFO] [stdout] | ^^^^^^^^^^^^ help: remove `.write(true)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ineffective_open_options [INFO] [stdout] = note: `#[warn(clippy::ineffective_open_options)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | return Symmetry::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] 26 - return Symmetry::None; [INFO] [stdout] 26 + Symmetry::None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | return Result::Ok(()); [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] 73 - return Result::Ok(()); [INFO] [stdout] 73 + Result::Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | return Point { x, y }; [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] 80 - return Point { x, y }; [INFO] [stdout] 80 + Point { x, y } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/point.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | return self.distance_2(other_point).sqrt(); [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] 11 - return self.distance_2(other_point).sqrt(); [INFO] [stdout] 11 + self.distance_2(other_point).sqrt() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/point.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | return (self.x - other_point.x).powf(2.0) + (self.y - other_point.y).powf(2.0); [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] 15 - return (self.x - other_point.x).powf(2.0) + (self.y - other_point.y).powf(2.0); [INFO] [stdout] 15 + (self.x - other_point.x).powf(2.0) + (self.y - other_point.y).powf(2.0) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/point.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | return write!(f, "({}, {})", self.x, self.y); [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] 21 - return write!(f, "({}, {})", self.x, self.y); [INFO] [stdout] 21 + write!(f, "({}, {})", self.x, self.y) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stdout] --> src/quad_tree.rs:34:29 [INFO] [stdout] | [INFO] [stdout] 34 | fn quadrants(&self) -> [&Box; 4] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `&QuadTreeNode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stdout] = note: `#[warn(clippy::borrowed_box)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | / return [ [INFO] [stdout] 36 | | &self.north_west, [INFO] [stdout] 37 | | &self.north_east, [INFO] [stdout] 38 | | &self.south_west, [INFO] [stdout] 39 | | &self.south_east, [INFO] [stdout] 40 | | ]; [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] 35 ~ [ [INFO] [stdout] 36 + &self.north_west, [INFO] [stdout] 37 + &self.north_east, [INFO] [stdout] 38 + &self.south_west, [INFO] [stdout] 39 + &self.south_east, [INFO] [stdout] 40 ~ ] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | / return match self { [INFO] [stdout] 47 | | QuadTreeNode::Points(node) => node.center, [INFO] [stdout] 48 | | QuadTreeNode::Split(node) => node.center, [INFO] [stdout] 49 | | }; [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] 46 ~ match self { [INFO] [stdout] 47 + QuadTreeNode::Points(node) => node.center, [INFO] [stdout] 48 + QuadTreeNode::Split(node) => node.center, [INFO] [stdout] 49 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | / return match self { [INFO] [stdout] 54 | | QuadTreeNode::Points(node) => node.radius, [INFO] [stdout] 55 | | QuadTreeNode::Split(node) => node.radius, [INFO] [stdout] 56 | | }; [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] 53 ~ match self { [INFO] [stdout] 54 + QuadTreeNode::Points(node) => node.radius, [INFO] [stdout] 55 + QuadTreeNode::Split(node) => node.radius, [INFO] [stdout] 56 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | / return point.x >= center.x - radius [INFO] [stdout] 64 | | && point.x < center.x + radius [INFO] [stdout] 65 | | && point.y >= center.y - radius [INFO] [stdout] 66 | | && point.y < center.y + radius; [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] 63 ~ point.x >= center.x - radius [INFO] [stdout] 64 + && point.x < center.x + radius [INFO] [stdout] 65 + && point.y >= center.y - radius [INFO] [stdout] 66 ~ && point.y < center.y + radius [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | / return QuadTreeNode::Points(QuadTreePointsNode { [INFO] [stdout] 72 | | center, [INFO] [stdout] 73 | | radius, [INFO] [stdout] 74 | | points: Vec::new(), [INFO] [stdout] 75 | | }); [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] 71 ~ QuadTreeNode::Points(QuadTreePointsNode { [INFO] [stdout] 72 + center, [INFO] [stdout] 73 + radius, [INFO] [stdout] 74 + points: Vec::new(), [INFO] [stdout] 75 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 81 | / return QuadTreeNode::Split(QuadTreeSplitNode { [INFO] [stdout] 82 | | center, [INFO] [stdout] 83 | | radius, [INFO] [stdout] 84 | | north_west: Box::new(QuadTreeNode::empty_points_node( [INFO] [stdout] ... | [INFO] [stdout] 111 | | )), [INFO] [stdout] 112 | | }); [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] 81 ~ QuadTreeNode::Split(QuadTreeSplitNode { [INFO] [stdout] 82 + center, [INFO] [stdout] 83 + radius, [INFO] [stdout] 84 + north_west: Box::new(QuadTreeNode::empty_points_node( [INFO] [stdout] 85 + Point { [INFO] [stdout] 86 + x: center.x - child_radius, [INFO] [stdout] 87 + y: center.y + child_radius, [INFO] [stdout] 88 + }, [INFO] [stdout] 89 + child_radius, [INFO] [stdout] 90 + )), [INFO] [stdout] 91 + north_east: Box::new(QuadTreeNode::empty_points_node( [INFO] [stdout] 92 + Point { [INFO] [stdout] 93 + x: center.x + child_radius, [INFO] [stdout] 94 + y: center.y + child_radius, [INFO] [stdout] 95 + }, [INFO] [stdout] 96 + child_radius, [INFO] [stdout] 97 + )), [INFO] [stdout] 98 + south_west: Box::new(QuadTreeNode::empty_points_node( [INFO] [stdout] 99 + Point { [INFO] [stdout] 100 + x: center.x - child_radius, [INFO] [stdout] 101 + y: center.y - child_radius, [INFO] [stdout] 102 + }, [INFO] [stdout] 103 + child_radius, [INFO] [stdout] 104 + )), [INFO] [stdout] 105 + south_east: Box::new(QuadTreeNode::empty_points_node( [INFO] [stdout] 106 + Point { [INFO] [stdout] 107 + x: center.x + child_radius, [INFO] [stdout] 108 + y: center.y - child_radius, [INFO] [stdout] 109 + }, [INFO] [stdout] 110 + child_radius, [INFO] [stdout] 111 + )), [INFO] [stdout] 112 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:116:9 [INFO] [stdout] | [INFO] [stdout] 116 | / return match self { [INFO] [stdout] 117 | | QuadTreeNode::Points(node) => node.points.len() == 0, [INFO] [stdout] 118 | | QuadTreeNode::Split(node) => { [INFO] [stdout] 119 | | node.north_east.is_empty() [INFO] [stdout] ... | [INFO] [stdout] 124 | | }; [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] 116 ~ match self { [INFO] [stdout] 117 + QuadTreeNode::Points(node) => node.points.len() == 0, [INFO] [stdout] 118 + QuadTreeNode::Split(node) => { [INFO] [stdout] 119 + node.north_east.is_empty() [INFO] [stdout] 120 + && node.north_west.is_empty() [INFO] [stdout] 121 + && node.south_east.is_empty() [INFO] [stdout] 122 + && node.south_west.is_empty() [INFO] [stdout] 123 + } [INFO] [stdout] 124 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/quad_tree.rs:208:32 [INFO] [stdout] | [INFO] [stdout] 208 | ... if !r.is_none() && (result.is_none() || r.unwrap().1 < result.unwrap().1) { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `r.is_some()` [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] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:193:17 [INFO] [stdout] | [INFO] [stdout] 193 | return Option::Some((nearest, nearest_distance_2.sqrt())); [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] 193 ~ Option::Some((nearest, nearest_distance_2.sqrt())) [INFO] [stdout] 194 | } [INFO] [stdout] ... [INFO] [stdout] 216 | } [INFO] [stdout] 217 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:215:17 [INFO] [stdout] | [INFO] [stdout] 215 | return result; [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] 215 ~ result [INFO] [stdout] 216 | } [INFO] [stdout] 217 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/quad_tree.rs:181:20 [INFO] [stdout] | [INFO] [stdout] 181 | if node.points.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `node.points.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: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:236:9 [INFO] [stdout] | [INFO] [stdout] 236 | return ((dx - radius) * (dx - radius) + (dy - radius) * (dy - radius)).sqrt(); [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] 236 - return ((dx - radius) * (dx - radius) + (dy - radius) * (dy - radius)).sqrt(); [INFO] [stdout] 236 + ((dx - radius) * (dx - radius) + (dy - radius) * (dy - radius)).sqrt() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:258:9 [INFO] [stdout] | [INFO] [stdout] 258 | return Result::Ok(tree); [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] 258 - return Result::Ok(tree); [INFO] [stdout] 258 + Result::Ok(tree) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:262:9 [INFO] [stdout] | [INFO] [stdout] 262 | return self.root.is_empty(); [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] 262 - return self.root.is_empty(); [INFO] [stdout] 262 + self.root.is_empty() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:275:9 [INFO] [stdout] | [INFO] [stdout] 275 | return self.root.get_nearest(point); [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] 275 - return self.root.get_nearest(point); [INFO] [stdout] 275 + self.root.get_nearest(point) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:279:9 [INFO] [stdout] | [INFO] [stdout] 279 | return self.farthest_distance; [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] 279 - return self.farthest_distance; [INFO] [stdout] 279 + self.farthest_distance [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing a legacy numeric constant [INFO] [stdout] --> src/render.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::f64::INFINITY; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import and use the associated constant `f64::INFINITY` from the primitive type instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/render.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | return Window { left, top, width, height }; [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] 35 - return Window { left, top, width, height }; [INFO] [stdout] 35 + Window { left, top, width, height } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/render.rs:18:25 [INFO] [stdout] | [INFO] [stdout] 18 | let mut left: f64 = INFINITY; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 18 | let mut left: f64 = f64::INFINITY; [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/render.rs:19:24 [INFO] [stdout] | [INFO] [stdout] 19 | let mut top: f64 = INFINITY; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 19 | let mut top: f64 = f64::INFINITY; [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/render.rs:20:27 [INFO] [stdout] | [INFO] [stdout] 20 | let mut right: f64 = -INFINITY; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 20 | let mut right: f64 = -f64::INFINITY; [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/render.rs:21:28 [INFO] [stdout] | [INFO] [stdout] 21 | let mut bottom: f64 = -INFINITY; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 21 | let mut bottom: f64 = -f64::INFINITY; [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/render.rs:38:55 [INFO] [stdout] | [INFO] [stdout] 38 | fn draw_point(point: &Point, window: &Window, buffer: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 38 - fn draw_point(point: &Point, window: &Window, buffer: &mut Vec) { [INFO] [stdout] 38 + fn draw_point(point: &Point, window: &Window, buffer: &mut [u8]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/render.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | return Result::Ok(()); [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] 68 - return Result::Ok(()); [INFO] [stdout] 68 + Result::Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/render.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | &Path::new(output_filename), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `Path::new(output_filename)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` 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/main.rs:23:40 [INFO] [stdout] | [INFO] [stdout] 23 | let mut flake = Flake::new(&flake_file); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `flake_file` [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: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/main.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | / match generate(&mut flake, symmetry, num_points) { [INFO] [stdout] 48 | | Err(err) => { [INFO] [stdout] 49 | | println!("Unable to generate flake"); [INFO] [stdout] 50 | | for cause in err.chain() { [INFO] [stdout] ... | [INFO] [stdout] 55 | | _ => {} [INFO] [stdout] 56 | | } [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] 47 ~ if let Err(err) = generate(&mut flake, symmetry, num_points) { [INFO] [stdout] 48 + println!("Unable to generate flake"); [INFO] [stdout] 49 + for cause in err.chain() { [INFO] [stdout] 50 + println!("{}", cause); [INFO] [stdout] 51 + } [INFO] [stdout] 52 + std::process::exit(1); [INFO] [stdout] 53 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:62:36 [INFO] [stdout] | [INFO] [stdout] 62 | let flake = Flake::new(&flake_file); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `flake_file` [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: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/main.rs:68:13 [INFO] [stdout] | [INFO] [stdout] 68 | / match render(&flake, &output_file) { [INFO] [stdout] 69 | | Err(err) => { [INFO] [stdout] 70 | | println!("Unable to render flake"); [INFO] [stdout] 71 | | for cause in err.chain() { [INFO] [stdout] ... | [INFO] [stdout] 76 | | _ => {} [INFO] [stdout] 77 | | } [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] help: try [INFO] [stdout] | [INFO] [stdout] 68 ~ if let Err(err) = render(&flake, &output_file) { [INFO] [stdout] 69 + println!("Unable to render flake"); [INFO] [stdout] 70 + for cause in err.chain() { [INFO] [stdout] 71 + println!("{}", cause); [INFO] [stdout] 72 + } [INFO] [stdout] 73 + std::process::exit(1); [INFO] [stdout] 74 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:68:34 [INFO] [stdout] | [INFO] [stdout] 68 | match render(&flake, &output_file) { [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `output_file` [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: unneeded `return` statement [INFO] [stdout] --> src/main.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | / return clap::App::new("snowflake-rs") [INFO] [stdout] 88 | | .about("Generates snowflakes through random motion") [INFO] [stdout] 89 | | .subcommand(clap::App::new("generate") [INFO] [stdout] 90 | | .about("Generate a snowflake") [INFO] [stdout] ... | [INFO] [stdout] 130 | | .help("Location of file to output image to"))) [INFO] [stdout] 131 | | .get_matches(); [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] 87 ~ clap::App::new("snowflake-rs") [INFO] [stdout] 88 + .about("Generates snowflakes through random motion") [INFO] [stdout] 89 + .subcommand(clap::App::new("generate") [INFO] [stdout] 90 + .about("Generate a snowflake") [INFO] [stdout] 91 + .arg(clap::Arg::with_name("flake-file") [INFO] [stdout] 92 + .short("f") [INFO] [stdout] 93 + .long("flake-file") [INFO] [stdout] 94 + .number_of_values(1) [INFO] [stdout] 95 + .value_name("FILE") [INFO] [stdout] 96 + .required(true) [INFO] [stdout] 97 + .help("Location of file to store flake information to")) [INFO] [stdout] 98 + .arg(clap::Arg::with_name("num-particles") [INFO] [stdout] 99 + .short("n") [INFO] [stdout] 100 + .long("num-particles") [INFO] [stdout] 101 + .number_of_values(1) [INFO] [stdout] 102 + .value_name("NUM") [INFO] [stdout] 103 + .help("The number of particles to add to the flake, or omit to add indefinitely until stopped")) [INFO] [stdout] 104 + .arg(clap::Arg::with_name("rotational-symmetry") [INFO] [stdout] 105 + .long("rotational-symmetry") [INFO] [stdout] 106 + .number_of_values(1) [INFO] [stdout] 107 + .value_name("NUM") [INFO] [stdout] 108 + .help("The level of rotational symmetry to use, or omit to have no rotational symmetry")) [INFO] [stdout] 109 + .arg(clap::Arg::with_name("reflectional-symmetry") [INFO] [stdout] 110 + .long("reflectional-symmetry") [INFO] [stdout] 111 + .number_of_values(1) [INFO] [stdout] 112 + .value_name("NUM") [INFO] [stdout] 113 + .help("The number of axis of reflectional symmetry to use, or omit to have no reflectional symmetry") [INFO] [stdout] 114 + .conflicts_with("rotational-symmetry"))) [INFO] [stdout] 115 + .subcommand(clap::App::new("render") [INFO] [stdout] 116 + .about("Render a flake file to an image") [INFO] [stdout] 117 + .arg(clap::Arg::with_name("flake-file") [INFO] [stdout] 118 + .short("f") [INFO] [stdout] 119 + .long("flake-file") [INFO] [stdout] 120 + .number_of_values(1) [INFO] [stdout] 121 + .value_name("FILE") [INFO] [stdout] 122 + .required(true) [INFO] [stdout] 123 + .help("Location of file to read flake information from")) [INFO] [stdout] 124 + .arg(clap::Arg::with_name("output") [INFO] [stdout] 125 + .short("o") [INFO] [stdout] 126 + .long("output") [INFO] [stdout] 127 + .number_of_values(1) [INFO] [stdout] 128 + .value_name("FILE") [INFO] [stdout] 129 + .required(true) [INFO] [stdout] 130 + .help("Location of file to output image to"))) [INFO] [stdout] 131 ~ .get_matches() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/generate.rs:14:16 [INFO] [stdout] | [INFO] [stdout] 14 | Rotational(u32), [INFO] [stdout] | ---------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 14 - Rotational(u32), [INFO] [stdout] 14 + Rotational(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/generate.rs:15:18 [INFO] [stdout] | [INFO] [stdout] 15 | Reflectional(u32), [INFO] [stdout] | ------------ ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 15 - Reflectional(u32), [INFO] [stdout] 15 + Reflectional(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/flake.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | / return Flake { [INFO] [stdout] 20 | | flake_file: flake_file.to_string(), [INFO] [stdout] 21 | | buffered_points: Vec::new(), [INFO] [stdout] 22 | | }; [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] 19 ~ Flake { [INFO] [stdout] 20 + flake_file: flake_file.to_string(), [INFO] [stdout] 21 + buffered_points: Vec::new(), [INFO] [stdout] 22 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/flake.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | return Result::Ok(()); [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] 58 - return Result::Ok(()); [INFO] [stdout] 58 + Result::Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/flake.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | return Result::Ok(()); [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] 79 - return Result::Ok(()); [INFO] [stdout] 79 + Result::Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `.write(true)` because there is `.append(true)` [INFO] [stdout] --> src/flake.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | .write(true) [INFO] [stdout] | ^^^^^^^^^^^^ help: remove `.write(true)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ineffective_open_options [INFO] [stdout] = note: `#[warn(clippy::ineffective_open_options)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `points` [INFO] [stdout] --> src/flake.rs:151:22 [INFO] [stdout] | [INFO] [stdout] 151 | for i in 0..num_points { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 151 - for i in 0..num_points { [INFO] [stdout] 151 + for (i, ) in points.iter().enumerate().take(num_points) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | return Symmetry::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] 26 - return Symmetry::None; [INFO] [stdout] 26 + Symmetry::None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | return Result::Ok(()); [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] 73 - return Result::Ok(()); [INFO] [stdout] 73 + Result::Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | return Point { x, y }; [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] 80 - return Point { x, y }; [INFO] [stdout] 80 + Point { x, y } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/point.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | return self.distance_2(other_point).sqrt(); [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] 11 - return self.distance_2(other_point).sqrt(); [INFO] [stdout] 11 + self.distance_2(other_point).sqrt() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/point.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | return (self.x - other_point.x).powf(2.0) + (self.y - other_point.y).powf(2.0); [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] 15 - return (self.x - other_point.x).powf(2.0) + (self.y - other_point.y).powf(2.0); [INFO] [stdout] 15 + (self.x - other_point.x).powf(2.0) + (self.y - other_point.y).powf(2.0) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/point.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | return write!(f, "({}, {})", self.x, self.y); [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] 21 - return write!(f, "({}, {})", self.x, self.y); [INFO] [stdout] 21 + write!(f, "({}, {})", self.x, self.y) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stdout] --> src/quad_tree.rs:34:29 [INFO] [stdout] | [INFO] [stdout] 34 | fn quadrants(&self) -> [&Box; 4] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `&QuadTreeNode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stdout] = note: `#[warn(clippy::borrowed_box)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | / return [ [INFO] [stdout] 36 | | &self.north_west, [INFO] [stdout] 37 | | &self.north_east, [INFO] [stdout] 38 | | &self.south_west, [INFO] [stdout] 39 | | &self.south_east, [INFO] [stdout] 40 | | ]; [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] 35 ~ [ [INFO] [stdout] 36 + &self.north_west, [INFO] [stdout] 37 + &self.north_east, [INFO] [stdout] 38 + &self.south_west, [INFO] [stdout] 39 + &self.south_east, [INFO] [stdout] 40 ~ ] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | / return match self { [INFO] [stdout] 47 | | QuadTreeNode::Points(node) => node.center, [INFO] [stdout] 48 | | QuadTreeNode::Split(node) => node.center, [INFO] [stdout] 49 | | }; [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] 46 ~ match self { [INFO] [stdout] 47 + QuadTreeNode::Points(node) => node.center, [INFO] [stdout] 48 + QuadTreeNode::Split(node) => node.center, [INFO] [stdout] 49 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | / return match self { [INFO] [stdout] 54 | | QuadTreeNode::Points(node) => node.radius, [INFO] [stdout] 55 | | QuadTreeNode::Split(node) => node.radius, [INFO] [stdout] 56 | | }; [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] 53 ~ match self { [INFO] [stdout] 54 + QuadTreeNode::Points(node) => node.radius, [INFO] [stdout] 55 + QuadTreeNode::Split(node) => node.radius, [INFO] [stdout] 56 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | / return point.x >= center.x - radius [INFO] [stdout] 64 | | && point.x < center.x + radius [INFO] [stdout] 65 | | && point.y >= center.y - radius [INFO] [stdout] 66 | | && point.y < center.y + radius; [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] 63 ~ point.x >= center.x - radius [INFO] [stdout] 64 + && point.x < center.x + radius [INFO] [stdout] 65 + && point.y >= center.y - radius [INFO] [stdout] 66 ~ && point.y < center.y + radius [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | / return QuadTreeNode::Points(QuadTreePointsNode { [INFO] [stdout] 72 | | center, [INFO] [stdout] 73 | | radius, [INFO] [stdout] 74 | | points: Vec::new(), [INFO] [stdout] 75 | | }); [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] 71 ~ QuadTreeNode::Points(QuadTreePointsNode { [INFO] [stdout] 72 + center, [INFO] [stdout] 73 + radius, [INFO] [stdout] 74 + points: Vec::new(), [INFO] [stdout] 75 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 81 | / return QuadTreeNode::Split(QuadTreeSplitNode { [INFO] [stdout] 82 | | center, [INFO] [stdout] 83 | | radius, [INFO] [stdout] 84 | | north_west: Box::new(QuadTreeNode::empty_points_node( [INFO] [stdout] ... | [INFO] [stdout] 111 | | )), [INFO] [stdout] 112 | | }); [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] 81 ~ QuadTreeNode::Split(QuadTreeSplitNode { [INFO] [stdout] 82 + center, [INFO] [stdout] 83 + radius, [INFO] [stdout] 84 + north_west: Box::new(QuadTreeNode::empty_points_node( [INFO] [stdout] 85 + Point { [INFO] [stdout] 86 + x: center.x - child_radius, [INFO] [stdout] 87 + y: center.y + child_radius, [INFO] [stdout] 88 + }, [INFO] [stdout] 89 + child_radius, [INFO] [stdout] 90 + )), [INFO] [stdout] 91 + north_east: Box::new(QuadTreeNode::empty_points_node( [INFO] [stdout] 92 + Point { [INFO] [stdout] 93 + x: center.x + child_radius, [INFO] [stdout] 94 + y: center.y + child_radius, [INFO] [stdout] 95 + }, [INFO] [stdout] 96 + child_radius, [INFO] [stdout] 97 + )), [INFO] [stdout] 98 + south_west: Box::new(QuadTreeNode::empty_points_node( [INFO] [stdout] 99 + Point { [INFO] [stdout] 100 + x: center.x - child_radius, [INFO] [stdout] 101 + y: center.y - child_radius, [INFO] [stdout] 102 + }, [INFO] [stdout] 103 + child_radius, [INFO] [stdout] 104 + )), [INFO] [stdout] 105 + south_east: Box::new(QuadTreeNode::empty_points_node( [INFO] [stdout] 106 + Point { [INFO] [stdout] 107 + x: center.x + child_radius, [INFO] [stdout] 108 + y: center.y - child_radius, [INFO] [stdout] 109 + }, [INFO] [stdout] 110 + child_radius, [INFO] [stdout] 111 + )), [INFO] [stdout] 112 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:116:9 [INFO] [stdout] | [INFO] [stdout] 116 | / return match self { [INFO] [stdout] 117 | | QuadTreeNode::Points(node) => node.points.len() == 0, [INFO] [stdout] 118 | | QuadTreeNode::Split(node) => { [INFO] [stdout] 119 | | node.north_east.is_empty() [INFO] [stdout] ... | [INFO] [stdout] 124 | | }; [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] 116 ~ match self { [INFO] [stdout] 117 + QuadTreeNode::Points(node) => node.points.len() == 0, [INFO] [stdout] 118 + QuadTreeNode::Split(node) => { [INFO] [stdout] 119 + node.north_east.is_empty() [INFO] [stdout] 120 + && node.north_west.is_empty() [INFO] [stdout] 121 + && node.south_east.is_empty() [INFO] [stdout] 122 + && node.south_west.is_empty() [INFO] [stdout] 123 + } [INFO] [stdout] 124 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/quad_tree.rs:208:32 [INFO] [stdout] | [INFO] [stdout] 208 | ... if !r.is_none() && (result.is_none() || r.unwrap().1 < result.unwrap().1) { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `r.is_some()` [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] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:193:17 [INFO] [stdout] | [INFO] [stdout] 193 | return Option::Some((nearest, nearest_distance_2.sqrt())); [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] 193 ~ Option::Some((nearest, nearest_distance_2.sqrt())) [INFO] [stdout] 194 | } [INFO] [stdout] ... [INFO] [stdout] 216 | } [INFO] [stdout] 217 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:215:17 [INFO] [stdout] | [INFO] [stdout] 215 | return result; [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] 215 ~ result [INFO] [stdout] 216 | } [INFO] [stdout] 217 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/quad_tree.rs:181:20 [INFO] [stdout] | [INFO] [stdout] 181 | if node.points.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `node.points.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: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:236:9 [INFO] [stdout] | [INFO] [stdout] 236 | return ((dx - radius) * (dx - radius) + (dy - radius) * (dy - radius)).sqrt(); [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] 236 - return ((dx - radius) * (dx - radius) + (dy - radius) * (dy - radius)).sqrt(); [INFO] [stdout] 236 + ((dx - radius) * (dx - radius) + (dy - radius) * (dy - radius)).sqrt() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:258:9 [INFO] [stdout] | [INFO] [stdout] 258 | return Result::Ok(tree); [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] 258 - return Result::Ok(tree); [INFO] [stdout] 258 + Result::Ok(tree) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:262:9 [INFO] [stdout] | [INFO] [stdout] 262 | return self.root.is_empty(); [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] 262 - return self.root.is_empty(); [INFO] [stdout] 262 + self.root.is_empty() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:275:9 [INFO] [stdout] | [INFO] [stdout] 275 | return self.root.get_nearest(point); [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] 275 - return self.root.get_nearest(point); [INFO] [stdout] 275 + self.root.get_nearest(point) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:279:9 [INFO] [stdout] | [INFO] [stdout] 279 | return self.farthest_distance; [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] 279 - return self.farthest_distance; [INFO] [stdout] 279 + self.farthest_distance [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:305:21 [INFO] [stdout] | [INFO] [stdout] 305 | return node.points.clone(); [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] 305 ~ node.points.clone() [INFO] [stdout] 306 | } [INFO] [stdout] ... [INFO] [stdout] 313 | } [INFO] [stdout] 314 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/quad_tree.rs:312:21 [INFO] [stdout] | [INFO] [stdout] 312 | return points; [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] 312 ~ points [INFO] [stdout] 313 | } [INFO] [stdout] 314 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/quad_tree.rs:386:9 [INFO] [stdout] | [INFO] [stdout] 386 | assert_eq!(true, node.is_empty()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 386 - assert_eq!(true, node.is_empty()); [INFO] [stdout] 386 + assert!(node.is_empty()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/quad_tree.rs:389:9 [INFO] [stdout] | [INFO] [stdout] 389 | assert_eq!(false, node.is_empty()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 389 - assert_eq!(false, node.is_empty()); [INFO] [stdout] 389 + assert!(!node.is_empty()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/quad_tree.rs:395:9 [INFO] [stdout] | [INFO] [stdout] 395 | assert_eq!(true, node.is_empty()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 395 - assert_eq!(true, node.is_empty()); [INFO] [stdout] 395 + assert!(node.is_empty()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/quad_tree.rs:398:9 [INFO] [stdout] | [INFO] [stdout] 398 | assert_eq!(false, node.is_empty()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 398 - assert_eq!(false, node.is_empty()); [INFO] [stdout] 398 + assert!(!node.is_empty()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/quad_tree.rs:405:9 [INFO] [stdout] | [INFO] [stdout] 405 | assert_eq!(true, node.point_is_in_bounds(&Point::ZERO)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 405 - assert_eq!(true, node.point_is_in_bounds(&Point::ZERO)); [INFO] [stdout] 405 + assert!(node.point_is_in_bounds(&Point::ZERO)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/quad_tree.rs:406:9 [INFO] [stdout] | [INFO] [stdout] 406 | assert_eq!(true, node.point_is_in_bounds(&Point { x: 5.0, y: 5.0 })); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 406 - assert_eq!(true, node.point_is_in_bounds(&Point { x: 5.0, y: 5.0 })); [INFO] [stdout] 406 + assert!(node.point_is_in_bounds(&Point { x: 5.0, y: 5.0 })); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/quad_tree.rs:408:9 [INFO] [stdout] | [INFO] [stdout] 408 | assert_eq!(false, node.point_is_in_bounds(&Point { x: 100.0, y: 0.0 })); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 408 - assert_eq!(false, node.point_is_in_bounds(&Point { x: 100.0, y: 0.0 })); [INFO] [stdout] 408 + assert!(!node.point_is_in_bounds(&Point { x: 100.0, y: 0.0 })); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/quad_tree.rs:409:9 [INFO] [stdout] | [INFO] [stdout] 409 | assert_eq!(false, node.point_is_in_bounds(&Point { x: 0.0, y: 50.0 })); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 409 - assert_eq!(false, node.point_is_in_bounds(&Point { x: 0.0, y: 50.0 })); [INFO] [stdout] 409 + assert!(!node.point_is_in_bounds(&Point { x: 0.0, y: 50.0 })); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/quad_tree.rs:410:9 [INFO] [stdout] | [INFO] [stdout] 410 | assert_eq!(false, node.point_is_in_bounds(&Point { x: 20.0, y: 20.0 })); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 410 - assert_eq!(false, node.point_is_in_bounds(&Point { x: 20.0, y: 20.0 })); [INFO] [stdout] 410 + assert!(!node.point_is_in_bounds(&Point { x: 20.0, y: 20.0 })); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/quad_tree.rs:412:9 [INFO] [stdout] | [INFO] [stdout] 412 | assert_eq!(false, node.point_is_in_bounds(&Point { x: 10.0, y: 0.0 })); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 412 - assert_eq!(false, node.point_is_in_bounds(&Point { x: 10.0, y: 0.0 })); [INFO] [stdout] 412 + assert!(!node.point_is_in_bounds(&Point { x: 10.0, y: 0.0 })); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/quad_tree.rs:413:9 [INFO] [stdout] | [INFO] [stdout] 413 | assert_eq!(true, node.point_is_in_bounds(&Point { x: -10.0, y: 0.0 })); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 413 - assert_eq!(true, node.point_is_in_bounds(&Point { x: -10.0, y: 0.0 })); [INFO] [stdout] 413 + assert!(node.point_is_in_bounds(&Point { x: -10.0, y: 0.0 })); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/quad_tree.rs:414:9 [INFO] [stdout] | [INFO] [stdout] 414 | assert_eq!(false, node.point_is_in_bounds(&Point { x: 0.0, y: 10.0 })); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 414 - assert_eq!(false, node.point_is_in_bounds(&Point { x: 0.0, y: 10.0 })); [INFO] [stdout] 414 + assert!(!node.point_is_in_bounds(&Point { x: 0.0, y: 10.0 })); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/quad_tree.rs:415:9 [INFO] [stdout] | [INFO] [stdout] 415 | assert_eq!(true, node.point_is_in_bounds(&Point { x: 0.0, y: -10.0 })); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 415 - assert_eq!(true, node.point_is_in_bounds(&Point { x: 0.0, y: -10.0 })); [INFO] [stdout] 415 + assert!(node.point_is_in_bounds(&Point { x: 0.0, y: -10.0 })); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/quad_tree.rs:435:9 [INFO] [stdout] | [INFO] [stdout] 435 | assert_eq!(true, node.points().is_empty()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 435 - assert_eq!(true, node.points().is_empty()); [INFO] [stdout] 435 + assert!(node.points().is_empty()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/quad_tree.rs:467:9 [INFO] [stdout] | [INFO] [stdout] 467 | assert_eq!(true, node.get_nearest(&Point::ZERO).is_none()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 467 - assert_eq!(true, node.get_nearest(&Point::ZERO).is_none()); [INFO] [stdout] 467 + assert!(node.get_nearest(&Point::ZERO).is_none()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/quad_tree.rs:553:13 [INFO] [stdout] | [INFO] [stdout] 553 | assert_eq!(true, tree.is_empty()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 553 - assert_eq!(true, tree.is_empty()); [INFO] [stdout] 553 + assert!(tree.is_empty()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/quad_tree.rs:556:13 [INFO] [stdout] | [INFO] [stdout] 556 | assert_eq!(false, tree.is_empty()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 556 - assert_eq!(false, tree.is_empty()); [INFO] [stdout] 556 + assert!(!tree.is_empty()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing a legacy numeric constant [INFO] [stdout] --> src/render.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::f64::INFINITY; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import and use the associated constant `f64::INFINITY` from the primitive type instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/render.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | return Window { left, top, width, height }; [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] 35 - return Window { left, top, width, height }; [INFO] [stdout] 35 + Window { left, top, width, height } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/render.rs:18:25 [INFO] [stdout] | [INFO] [stdout] 18 | let mut left: f64 = INFINITY; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 18 | let mut left: f64 = f64::INFINITY; [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/render.rs:19:24 [INFO] [stdout] | [INFO] [stdout] 19 | let mut top: f64 = INFINITY; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 19 | let mut top: f64 = f64::INFINITY; [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/render.rs:20:27 [INFO] [stdout] | [INFO] [stdout] 20 | let mut right: f64 = -INFINITY; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 20 | let mut right: f64 = -f64::INFINITY; [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/render.rs:21:28 [INFO] [stdout] | [INFO] [stdout] 21 | let mut bottom: f64 = -INFINITY; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 21 | let mut bottom: f64 = -f64::INFINITY; [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/render.rs:38:55 [INFO] [stdout] | [INFO] [stdout] 38 | fn draw_point(point: &Point, window: &Window, buffer: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 38 - fn draw_point(point: &Point, window: &Window, buffer: &mut Vec) { [INFO] [stdout] 38 + fn draw_point(point: &Point, window: &Window, buffer: &mut [u8]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/render.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | return Result::Ok(()); [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] 68 - return Result::Ok(()); [INFO] [stdout] 68 + Result::Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/render.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | &Path::new(output_filename), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `Path::new(output_filename)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/test_utils.rs:9:41 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn with_test_dir ()>(func: F) { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/test_utils.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | return end - start; [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] 28 - return end - start; [INFO] [stdout] 28 + end - start [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/test_utils.rs:24:33 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn time_func ()>(func: F) -> Duration { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:23:40 [INFO] [stdout] | [INFO] [stdout] 23 | let mut flake = Flake::new(&flake_file); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `flake_file` [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: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/main.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | / match generate(&mut flake, symmetry, num_points) { [INFO] [stdout] 48 | | Err(err) => { [INFO] [stdout] 49 | | println!("Unable to generate flake"); [INFO] [stdout] 50 | | for cause in err.chain() { [INFO] [stdout] ... | [INFO] [stdout] 55 | | _ => {} [INFO] [stdout] 56 | | } [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] 47 ~ if let Err(err) = generate(&mut flake, symmetry, num_points) { [INFO] [stdout] 48 + println!("Unable to generate flake"); [INFO] [stdout] 49 + for cause in err.chain() { [INFO] [stdout] 50 + println!("{}", cause); [INFO] [stdout] 51 + } [INFO] [stdout] 52 + std::process::exit(1); [INFO] [stdout] 53 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:62:36 [INFO] [stdout] | [INFO] [stdout] 62 | let flake = Flake::new(&flake_file); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `flake_file` [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: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/main.rs:68:13 [INFO] [stdout] | [INFO] [stdout] 68 | / match render(&flake, &output_file) { [INFO] [stdout] 69 | | Err(err) => { [INFO] [stdout] 70 | | println!("Unable to render flake"); [INFO] [stdout] 71 | | for cause in err.chain() { [INFO] [stdout] ... | [INFO] [stdout] 76 | | _ => {} [INFO] [stdout] 77 | | } [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] help: try [INFO] [stdout] | [INFO] [stdout] 68 ~ if let Err(err) = render(&flake, &output_file) { [INFO] [stdout] 69 + println!("Unable to render flake"); [INFO] [stdout] 70 + for cause in err.chain() { [INFO] [stdout] 71 + println!("{}", cause); [INFO] [stdout] 72 + } [INFO] [stdout] 73 + std::process::exit(1); [INFO] [stdout] 74 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:68:34 [INFO] [stdout] | [INFO] [stdout] 68 | match render(&flake, &output_file) { [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `output_file` [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: unneeded `return` statement [INFO] [stdout] --> src/main.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | / return clap::App::new("snowflake-rs") [INFO] [stdout] 88 | | .about("Generates snowflakes through random motion") [INFO] [stdout] 89 | | .subcommand(clap::App::new("generate") [INFO] [stdout] 90 | | .about("Generate a snowflake") [INFO] [stdout] ... | [INFO] [stdout] 130 | | .help("Location of file to output image to"))) [INFO] [stdout] 131 | | .get_matches(); [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] 87 ~ clap::App::new("snowflake-rs") [INFO] [stdout] 88 + .about("Generates snowflakes through random motion") [INFO] [stdout] 89 + .subcommand(clap::App::new("generate") [INFO] [stdout] 90 + .about("Generate a snowflake") [INFO] [stdout] 91 + .arg(clap::Arg::with_name("flake-file") [INFO] [stdout] 92 + .short("f") [INFO] [stdout] 93 + .long("flake-file") [INFO] [stdout] 94 + .number_of_values(1) [INFO] [stdout] 95 + .value_name("FILE") [INFO] [stdout] 96 + .required(true) [INFO] [stdout] 97 + .help("Location of file to store flake information to")) [INFO] [stdout] 98 + .arg(clap::Arg::with_name("num-particles") [INFO] [stdout] 99 + .short("n") [INFO] [stdout] 100 + .long("num-particles") [INFO] [stdout] 101 + .number_of_values(1) [INFO] [stdout] 102 + .value_name("NUM") [INFO] [stdout] 103 + .help("The number of particles to add to the flake, or omit to add indefinitely until stopped")) [INFO] [stdout] 104 + .arg(clap::Arg::with_name("rotational-symmetry") [INFO] [stdout] 105 + .long("rotational-symmetry") [INFO] [stdout] 106 + .number_of_values(1) [INFO] [stdout] 107 + .value_name("NUM") [INFO] [stdout] 108 + .help("The level of rotational symmetry to use, or omit to have no rotational symmetry")) [INFO] [stdout] 109 + .arg(clap::Arg::with_name("reflectional-symmetry") [INFO] [stdout] 110 + .long("reflectional-symmetry") [INFO] [stdout] 111 + .number_of_values(1) [INFO] [stdout] 112 + .value_name("NUM") [INFO] [stdout] 113 + .help("The number of axis of reflectional symmetry to use, or omit to have no reflectional symmetry") [INFO] [stdout] 114 + .conflicts_with("rotational-symmetry"))) [INFO] [stdout] 115 + .subcommand(clap::App::new("render") [INFO] [stdout] 116 + .about("Render a flake file to an image") [INFO] [stdout] 117 + .arg(clap::Arg::with_name("flake-file") [INFO] [stdout] 118 + .short("f") [INFO] [stdout] 119 + .long("flake-file") [INFO] [stdout] 120 + .number_of_values(1) [INFO] [stdout] 121 + .value_name("FILE") [INFO] [stdout] 122 + .required(true) [INFO] [stdout] 123 + .help("Location of file to read flake information from")) [INFO] [stdout] 124 + .arg(clap::Arg::with_name("output") [INFO] [stdout] 125 + .short("o") [INFO] [stdout] 126 + .long("output") [INFO] [stdout] 127 + .number_of_values(1) [INFO] [stdout] 128 + .value_name("FILE") [INFO] [stdout] 129 + .required(true) [INFO] [stdout] 130 + .help("Location of file to output image to"))) [INFO] [stdout] 131 ~ .get_matches() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.59s [INFO] running `Command { std: "docker" "inspect" "f0d384fa2a5a8f00057348f244dcb4238979c9b0920abf6584c67c0bdee90411", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f0d384fa2a5a8f00057348f244dcb4238979c9b0920abf6584c67c0bdee90411", kill_on_drop: false }` [INFO] [stdout] f0d384fa2a5a8f00057348f244dcb4238979c9b0920abf6584c67c0bdee90411