[INFO] crate array3d 0.1.0 is already in cache [INFO] extracting crate array3d 0.1.0 into work/ex/clippy-test-run/sources/stable/reg/array3d/0.1.0 [INFO] extracting crate array3d 0.1.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/array3d/0.1.0 [INFO] validating manifest of array3d-0.1.0 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of array3d-0.1.0 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing array3d-0.1.0 [INFO] finished frobbing array3d-0.1.0 [INFO] frobbed toml for array3d-0.1.0 written to work/ex/clippy-test-run/sources/stable/reg/array3d/0.1.0/Cargo.toml [INFO] started frobbing array3d-0.1.0 [INFO] finished frobbing array3d-0.1.0 [INFO] frobbed toml for array3d-0.1.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/array3d/0.1.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting array3d-0.1.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/array3d/0.1.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 036d012ba1f49e787f747ee2cd0ad7a1fefbb4944fff8913d1e98fbcc9d054bb [INFO] running `"docker" "start" "-a" "036d012ba1f49e787f747ee2cd0ad7a1fefbb4944fff8913d1e98fbcc9d054bb"` [INFO] [stderr] Checking lininterp v0.1.3 [INFO] [stderr] Checking array3d v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:38:35 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn v2i(x:i32,y:i32)->V2i{Vec2{x:x,y:y}} [INFO] [stderr] | ^^^ help: replace it with: `x` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:38:39 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn v2i(x:i32,y:i32)->V2i{Vec2{x:x,y:y}} [INFO] [stderr] | ^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:39:41 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn v3i(x:i32,y:i32,z:i32)->V3i{Vec3{x:x,y:y,z:z}} [INFO] [stderr] | ^^^ help: replace it with: `x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:39:45 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn v3i(x:i32,y:i32,z:i32)->V3i{Vec3{x:x,y:y,z:z}} [INFO] [stderr] | ^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:39:49 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn v3i(x:i32,y:i32,z:i32)->V3i{Vec3{x:x,y:y,z:z}} [INFO] [stderr] | ^^^ help: replace it with: `z` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:38:35 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn v2i(x:i32,y:i32)->V2i{Vec2{x:x,y:y}} [INFO] [stderr] | ^^^ help: replace it with: `x` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:38:39 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn v2i(x:i32,y:i32)->V2i{Vec2{x:x,y:y}} [INFO] [stderr] | ^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:39:41 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn v3i(x:i32,y:i32,z:i32)->V3i{Vec3{x:x,y:y,z:z}} [INFO] [stderr] | ^^^ help: replace it with: `x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:39:45 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn v3i(x:i32,y:i32,z:i32)->V3i{Vec3{x:x,y:y,z:z}} [INFO] [stderr] | ^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:39:49 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn v3i(x:i32,y:i32,z:i32)->V3i{Vec3{x:x,y:y,z:z}} [INFO] [stderr] | ^^^ help: replace it with: `z` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BitAnd`, `BitOr`, `BitXor` [INFO] [stderr] --> src/lib.rs:12:36 [INFO] [stderr] | [INFO] [stderr] 12 | use std::ops::{Add,Sub,Mul,Div,Rem,BitOr,BitAnd,BitXor,Index,IndexMut}; [INFO] [stderr] | ^^^^^ ^^^^^^ ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BitAnd`, `BitOr`, `BitXor` [INFO] [stderr] --> src/lib.rs:12:36 [INFO] [stderr] | [INFO] [stderr] 12 | use std::ops::{Add,Sub,Mul,Div,Rem,BitOr,BitAnd,BitXor,Index,IndexMut}; [INFO] [stderr] | ^^^^^ ^^^^^^ ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pos` [INFO] [stderr] --> src/lib.rs:472:19 [INFO] [stderr] | [INFO] [stderr] 472 | self.fold_half(|pos:V3i,cell:[[[&T;2];2];2]|->T{ [INFO] [stderr] | ^^^ help: consider using `_pos` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Neighbours2d` [INFO] [stderr] --> src/lib.rs:44:1 [INFO] [stderr] | [INFO] [stderr] 44 | type Neighbours2d=Vec2>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Neighbours3d` [INFO] [stderr] --> src/lib.rs:45:1 [INFO] [stderr] | [INFO] [stderr] 45 | type Neighbours3d=Vec3>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Neighbours4d` [INFO] [stderr] --> src/lib.rs:46:1 [INFO] [stderr] | [INFO] [stderr] 46 | type Neighbours4d=Vec4>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `downsample_half` [INFO] [stderr] --> src/lib.rs:471:2 [INFO] [stderr] | [INFO] [stderr] 471 | fn downsample_half(&self)->Array3d{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `upsample_double_axis` [INFO] [stderr] --> src/lib.rs:488:2 [INFO] [stderr] | [INFO] [stderr] 488 | fn upsample_double_axis(&self,axis:i32)->Array3d{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `upsample_double_xyz` [INFO] [stderr] --> src/lib.rs:496:2 [INFO] [stderr] | [INFO] [stderr] 496 | fn upsample_double_xyz(&self)->Array3d{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `Axis_t` should have a camel case name such as `AxisT` [INFO] [stderr] --> src/lib.rs:27:1 [INFO] [stderr] | [INFO] [stderr] 27 | type Axis_t=i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_camel_case_types)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant `XAxis` should have an upper case name such as `XAXIS` [INFO] [stderr] --> src/lib.rs:28:1 [INFO] [stderr] | [INFO] [stderr] 28 | const XAxis:Axis_t=0; const YAxis:Axis_t=1; const ZAxis:Axis_t=2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_upper_case_globals)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant `YAxis` should have an upper case name such as `YAXIS` [INFO] [stderr] --> src/lib.rs:28:23 [INFO] [stderr] | [INFO] [stderr] 28 | const XAxis:Axis_t=0; const YAxis:Axis_t=1; const ZAxis:Axis_t=2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `ZAxis` should have an upper case name such as `ZAXIS` [INFO] [stderr] --> src/lib.rs:28:45 [INFO] [stderr] | [INFO] [stderr] 28 | const XAxis:Axis_t=0; const YAxis:Axis_t=1; const ZAxis:Axis_t=2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant in pattern `XAxis` should have an upper case name such as `XAXIS` [INFO] [stderr] --> src/lib.rs:32:40 [INFO] [stderr] | [INFO] [stderr] 32 | fn index(&self,i:Axis_t)->&T{match i{ XAxis=>&self.x,YAxis=>&self.y,ZAxis=>&self.z,_=>panic!("Vec3 index out of range")}} [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant in pattern `YAxis` should have an upper case name such as `YAXIS` [INFO] [stderr] --> src/lib.rs:32:55 [INFO] [stderr] | [INFO] [stderr] 32 | fn index(&self,i:Axis_t)->&T{match i{ XAxis=>&self.x,YAxis=>&self.y,ZAxis=>&self.z,_=>panic!("Vec3 index out of range")}} [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant in pattern `ZAxis` should have an upper case name such as `ZAXIS` [INFO] [stderr] --> src/lib.rs:32:70 [INFO] [stderr] | [INFO] [stderr] 32 | fn index(&self,i:Axis_t)->&T{match i{ XAxis=>&self.x,YAxis=>&self.y,ZAxis=>&self.z,_=>panic!("Vec3 index out of range")}} [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant in pattern `XAxis` should have an upper case name such as `XAXIS` [INFO] [stderr] --> src/lib.rs:35:52 [INFO] [stderr] | [INFO] [stderr] 35 | fn index_mut(&mut self,i:Axis_t)->&mut T{match i{ XAxis=>&mut self.x,YAxis=>&mut self.y,ZAxis=>&mut self.z,_=>panic!("Vec3 index out of range")}} [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant in pattern `YAxis` should have an upper case name such as `YAXIS` [INFO] [stderr] --> src/lib.rs:35:71 [INFO] [stderr] | [INFO] [stderr] 35 | fn index_mut(&mut self,i:Axis_t)->&mut T{match i{ XAxis=>&mut self.x,YAxis=>&mut self.y,ZAxis=>&mut self.z,_=>panic!("Vec3 index out of range")}} [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant in pattern `ZAxis` should have an upper case name such as `ZAXIS` [INFO] [stderr] --> src/lib.rs:35:90 [INFO] [stderr] | [INFO] [stderr] 35 | fn index_mut(&mut self,i:Axis_t)->&mut T{match i{ XAxis=>&mut self.x,YAxis=>&mut self.y,ZAxis=>&mut self.z,_=>panic!("Vec3 index out of range")}} [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: item `Array2d` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/lib.rs:71:1 [INFO] [stderr] | [INFO] [stderr] 71 | / impl Array2d{ [INFO] [stderr] 72 | | pub fn new()->Self{Array2d{shape:v2i(0,0),data:Vec::new()}} [INFO] [stderr] 73 | | pub fn len(&self)->usize{ v2i_hmul_usize(self.shape) } [INFO] [stderr] 74 | | pub fn linear_index(&self, pos:V2i)->usize{ [INFO] [stderr] ... | [INFO] [stderr] 98 | | } [INFO] [stderr] 99 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `Array2d` [INFO] [stderr] --> src/lib.rs:72:2 [INFO] [stderr] | [INFO] [stderr] 72 | pub fn new()->Self{Array2d{shape:v2i(0,0),data:Vec::new()}} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 71 | impl Default for Array2d { [INFO] [stderr] 72 | fn default() -> Self { [INFO] [stderr] 73 | Self::new() [INFO] [stderr] 74 | } [INFO] [stderr] 75 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: item `Array3d` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/lib.rs:117:1 [INFO] [stderr] | [INFO] [stderr] 117 | / impl Array3d{ [INFO] [stderr] 118 | | pub fn from_fnT> (s:V3i,f:F) -> Array3d { [INFO] [stderr] 119 | | let mut a=Array3d{shape:s, data:Vec::new()}; [INFO] [stderr] 120 | | a.data.reserve(v3i_hmul_usize(s)); [INFO] [stderr] ... | [INFO] [stderr] 454 | | } [INFO] [stderr] 455 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pos` [INFO] [stderr] --> src/lib.rs:472:19 [INFO] [stderr] | [INFO] [stderr] 472 | self.fold_half(|pos:V3i,cell:[[[&T;2];2];2]|->T{ [INFO] [stderr] | ^^^ help: consider using `_pos` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Neighbours2d` [INFO] [stderr] --> src/lib.rs:44:1 [INFO] [stderr] | [INFO] [stderr] 44 | type Neighbours2d=Vec2>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Neighbours3d` [INFO] [stderr] --> src/lib.rs:45:1 [INFO] [stderr] | [INFO] [stderr] 45 | type Neighbours3d=Vec3>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Neighbours4d` [INFO] [stderr] --> src/lib.rs:46:1 [INFO] [stderr] | [INFO] [stderr] 46 | type Neighbours4d=Vec4>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `downsample_half` [INFO] [stderr] --> src/lib.rs:471:2 [INFO] [stderr] | [INFO] [stderr] 471 | fn downsample_half(&self)->Array3d{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `upsample_double_axis` [INFO] [stderr] --> src/lib.rs:488:2 [INFO] [stderr] | [INFO] [stderr] 488 | fn upsample_double_axis(&self,axis:i32)->Array3d{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `upsample_double_xyz` [INFO] [stderr] --> src/lib.rs:496:2 [INFO] [stderr] | [INFO] [stderr] 496 | fn upsample_double_xyz(&self)->Array3d{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `Axis_t` should have a camel case name such as `AxisT` [INFO] [stderr] --> src/lib.rs:27:1 [INFO] [stderr] | [INFO] [stderr] 27 | type Axis_t=i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_camel_case_types)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant `XAxis` should have an upper case name such as `XAXIS` [INFO] [stderr] --> src/lib.rs:28:1 [INFO] [stderr] | [INFO] [stderr] 28 | const XAxis:Axis_t=0; const YAxis:Axis_t=1; const ZAxis:Axis_t=2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `YAxis` should have an upper case name such as `YAXIS` [INFO] [stderr] --> src/lib.rs:28:23 [INFO] [stderr] | [INFO] [stderr] 28 | const XAxis:Axis_t=0; const YAxis:Axis_t=1; const ZAxis:Axis_t=2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `ZAxis` should have an upper case name such as `ZAXIS` [INFO] [stderr] --> src/lib.rs:28:45 [INFO] [stderr] | [INFO] [stderr] 28 | const XAxis:Axis_t=0; const YAxis:Axis_t=1; const ZAxis:Axis_t=2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant in pattern `XAxis` should have an upper case name such as `XAXIS` [INFO] [stderr] --> src/lib.rs:32:40 [INFO] [stderr] | [INFO] [stderr] 32 | fn index(&self,i:Axis_t)->&T{match i{ XAxis=>&self.x,YAxis=>&self.y,ZAxis=>&self.z,_=>panic!("Vec3 index out of range")}} [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant in pattern `YAxis` should have an upper case name such as `YAXIS` [INFO] [stderr] --> src/lib.rs:32:55 [INFO] [stderr] | [INFO] [stderr] 32 | fn index(&self,i:Axis_t)->&T{match i{ XAxis=>&self.x,YAxis=>&self.y,ZAxis=>&self.z,_=>panic!("Vec3 index out of range")}} [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant in pattern `ZAxis` should have an upper case name such as `ZAXIS` [INFO] [stderr] --> src/lib.rs:32:70 [INFO] [stderr] | [INFO] [stderr] 32 | fn index(&self,i:Axis_t)->&T{match i{ XAxis=>&self.x,YAxis=>&self.y,ZAxis=>&self.z,_=>panic!("Vec3 index out of range")}} [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant in pattern `XAxis` should have an upper case name such as `XAXIS` [INFO] [stderr] --> src/lib.rs:35:52 [INFO] [stderr] | [INFO] [stderr] 35 | fn index_mut(&mut self,i:Axis_t)->&mut T{match i{ XAxis=>&mut self.x,YAxis=>&mut self.y,ZAxis=>&mut self.z,_=>panic!("Vec3 index out of range")}} [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant in pattern `YAxis` should have an upper case name such as `YAXIS` [INFO] [stderr] --> src/lib.rs:35:71 [INFO] [stderr] | [INFO] [stderr] 35 | fn index_mut(&mut self,i:Axis_t)->&mut T{match i{ XAxis=>&mut self.x,YAxis=>&mut self.y,ZAxis=>&mut self.z,_=>panic!("Vec3 index out of range")}} [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant in pattern `ZAxis` should have an upper case name such as `ZAXIS` [INFO] [stderr] --> src/lib.rs:35:90 [INFO] [stderr] | [INFO] [stderr] 35 | fn index_mut(&mut self,i:Axis_t)->&mut T{match i{ XAxis=>&mut self.x,YAxis=>&mut self.y,ZAxis=>&mut self.z,_=>panic!("Vec3 index out of range")}} [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: item `Array2d` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/lib.rs:71:1 [INFO] [stderr] | [INFO] [stderr] 71 | / impl Array2d{ [INFO] [stderr] 72 | | pub fn new()->Self{Array2d{shape:v2i(0,0),data:Vec::new()}} [INFO] [stderr] 73 | | pub fn len(&self)->usize{ v2i_hmul_usize(self.shape) } [INFO] [stderr] 74 | | pub fn linear_index(&self, pos:V2i)->usize{ [INFO] [stderr] ... | [INFO] [stderr] 98 | | } [INFO] [stderr] 99 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `Array2d` [INFO] [stderr] --> src/lib.rs:72:2 [INFO] [stderr] | [INFO] [stderr] 72 | pub fn new()->Self{Array2d{shape:v2i(0,0),data:Vec::new()}} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 71 | impl Default for Array2d { [INFO] [stderr] 72 | fn default() -> Self { [INFO] [stderr] 73 | Self::new() [INFO] [stderr] 74 | } [INFO] [stderr] 75 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: item `Array3d` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/lib.rs:117:1 [INFO] [stderr] | [INFO] [stderr] 117 | / impl Array3d{ [INFO] [stderr] 118 | | pub fn from_fnT> (s:V3i,f:F) -> Array3d { [INFO] [stderr] 119 | | let mut a=Array3d{shape:s, data:Vec::new()}; [INFO] [stderr] 120 | | a.data.reserve(v3i_hmul_usize(s)); [INFO] [stderr] ... | [INFO] [stderr] 454 | | } [INFO] [stderr] 455 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.79s [INFO] running `"docker" "inspect" "036d012ba1f49e787f747ee2cd0ad7a1fefbb4944fff8913d1e98fbcc9d054bb"` [INFO] running `"docker" "rm" "-f" "036d012ba1f49e787f747ee2cd0ad7a1fefbb4944fff8913d1e98fbcc9d054bb"` [INFO] [stdout] 036d012ba1f49e787f747ee2cd0ad7a1fefbb4944fff8913d1e98fbcc9d054bb