[INFO] updating cached repository kanishkd4/Rust-by-example [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/kanishkd4/Rust-by-example [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/kanishkd4/Rust-by-example" "work/ex/clippy-test-run/sources/stable/gh/kanishkd4/Rust-by-example"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/kanishkd4/Rust-by-example'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/kanishkd4/Rust-by-example" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/kanishkd4/Rust-by-example"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/kanishkd4/Rust-by-example'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] a2b88db631e7cfa65de6b348419da65cb5c3b8c7 [INFO] sha for GitHub repo kanishkd4/Rust-by-example: a2b88db631e7cfa65de6b348419da65cb5c3b8c7 [INFO] validating manifest of kanishkd4/Rust-by-example 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 kanishkd4/Rust-by-example 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 kanishkd4/Rust-by-example [INFO] finished frobbing kanishkd4/Rust-by-example [INFO] frobbed toml for kanishkd4/Rust-by-example written to work/ex/clippy-test-run/sources/stable/gh/kanishkd4/Rust-by-example/Cargo.toml [INFO] started frobbing kanishkd4/Rust-by-example [INFO] finished frobbing kanishkd4/Rust-by-example [INFO] frobbed toml for kanishkd4/Rust-by-example written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/kanishkd4/Rust-by-example/Cargo.toml [INFO] crate kanishkd4/Rust-by-example has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting kanishkd4/Rust-by-example against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/kanishkd4/Rust-by-example:/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] 22d069d0261349bf4eb561262117debc8c4900e06ad9f1c4bd999a5c55f57f51 [INFO] running `"docker" "start" "-a" "22d069d0261349bf4eb561262117debc8c4900e06ad9f1c4bd999a5c55f57f51"` [INFO] [stderr] Checking rust-by-example v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/bin/c9_functions_methods.rs:61:17 [INFO] [stderr] | [INFO] [stderr] 61 | Point { 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/bin/c9_functions_methods.rs:61:23 [INFO] [stderr] | [INFO] [stderr] 61 | Point { 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: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/bin/c15_scoping_borrowing.rs:79:39 [INFO] [stderr] | [INFO] [stderr] 79 | let Point1 { x: ref ref_to_x, y: _ } = point; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: Try with `Point1 { x: ref ref_to_x, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/bin/c15_scoping_borrowing.rs:85:22 [INFO] [stderr] | [INFO] [stderr] 85 | let Point1 { x: _, y: ref mut mut_ref_to_y } = mutable_point; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Point1 { y: ref mut mut_ref_to_y, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/bin/c15_scoping_borrowing.rs:10:29 [INFO] [stderr] | [INFO] [stderr] 10 | fn borrow_i32(borrowed_i32: &i32) { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `i32` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/bin/c15_scoping_borrowing.rs:70:9 [INFO] [stderr] | [INFO] [stderr] 70 | let ref ref_c1 = c; [INFO] [stderr] | ----^^^^^^^^^^----- help: try: `let ref_c1 = &c;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/bin/c15_scoping_lifetimes3.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | / fn coerce_static<'a>(_: &'a i32) -> &'a i32 { [INFO] [stderr] 11 | | &NUM // returns a reference to NUM where its 'static lifetime is coerced to that of the input argument [INFO] [stderr] 12 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/bin/c15_scoping_lifetimes3.rs:44:20 [INFO] [stderr] | [INFO] [stderr] 44 | fn elided_input(x: &i32) { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `i32` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/bin/c15_scoping_lifetimes3.rs:48:1 [INFO] [stderr] | [INFO] [stderr] 48 | / fn annotated_input<'a>(x: &'a i32) { [INFO] [stderr] 49 | | println!("annotated_input: {}", x); [INFO] [stderr] 50 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/bin/c15_scoping_lifetimes3.rs:48:27 [INFO] [stderr] | [INFO] [stderr] 48 | fn annotated_input<'a>(x: &'a i32) { [INFO] [stderr] | ^^^^^^^ help: consider passing by value instead: `i32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/bin/c15_scoping_lifetimes3.rs:54:1 [INFO] [stderr] | [INFO] [stderr] 54 | fn annotaed_pass<'a>(x: &'a i32) -> &'a i32 { x } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/bin/c9_functions_methods.rs:33:21 [INFO] [stderr] | [INFO] [stderr] 33 | fn fizzbuzz(n: u32) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/bin/c9_functions_methods.rs:43:14 [INFO] [stderr] | [INFO] [stderr] 43 | for n in 1..n+1 { [INFO] [stderr] | ^^^^^^ help: use: `1..=n` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: function is never used: `foo` [INFO] [stderr] --> src/bin/c14_generics_functions_impl_traits.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | fn foo(_arg: T) {} // becuase T has been specified as a generic type parameter using , [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] warning: type `web_event` should have a camel case name such as `WebEvent` [INFO] [stderr] --> src/bin/c3_custom_types_enums1.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | / enum web_event { [INFO] [stderr] 7 | | // an enum can be unit like [INFO] [stderr] 8 | | page_load, [INFO] [stderr] 9 | | page_unload, [INFO] [stderr] ... | [INFO] [stderr] 14 | | click { x: i64, y: i64 }, [INFO] [stderr] 15 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_camel_case_types)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant `page_load` should have a camel case name such as `PageLoad` [INFO] [stderr] --> src/bin/c3_custom_types_enums1.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | page_load, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `page_unload` should have a camel case name such as `PageUnload` [INFO] [stderr] --> src/bin/c3_custom_types_enums1.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | page_unload, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `key_press` should have a camel case name such as `KeyPress` [INFO] [stderr] --> src/bin/c3_custom_types_enums1.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | key_press(char), [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `paste` should have a camel case name such as `Paste` [INFO] [stderr] --> src/bin/c3_custom_types_enums1.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | paste(String), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `click` should have a camel case name such as `Click` [INFO] [stderr] --> src/bin/c3_custom_types_enums1.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | click { x: i64, y: i64 }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `S` [INFO] [stderr] --> src/bin/c14_generics_functions_impl_traits.rs:48:1 [INFO] [stderr] | [INFO] [stderr] 48 | struct S(A); // concrete type S that takes concrete type A defined above // commented for struct S below [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `SGen` [INFO] [stderr] --> src/bin/c14_generics_functions_impl_traits.rs:49:1 [INFO] [stderr] | [INFO] [stderr] 49 | struct SGen(T); // Generic type SGen [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `reg_fn` [INFO] [stderr] --> src/bin/c14_generics_functions_impl_traits.rs:51:1 [INFO] [stderr] | [INFO] [stderr] 51 | fn reg_fn(_s: S) {} // a regular function that takes an argument of type S - not a generic function [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `gen_spec_t` [INFO] [stderr] --> src/bin/c14_generics_functions_impl_traits.rs:53:1 [INFO] [stderr] | [INFO] [stderr] 53 | fn gen_spec_t(_s: SGen) {} // this is also not a generic as SGen has been given the type A [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `gen_spec_i32` [INFO] [stderr] --> src/bin/c14_generics_functions_impl_traits.rs:54:1 [INFO] [stderr] | [INFO] [stderr] 54 | fn gen_spec_i32(_s: SGen) {} // this is also not a generic [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `generic` [INFO] [stderr] --> src/bin/c14_generics_functions_impl_traits.rs:55:1 [INFO] [stderr] | [INFO] [stderr] 55 | fn generic(_s: SGen) {} // a generic function [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `S1` [INFO] [stderr] --> src/bin/c14_generics_functions_impl_traits.rs:59:1 [INFO] [stderr] | [INFO] [stderr] 59 | struct S1; // concrete type S [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `GenericVal` [INFO] [stderr] --> src/bin/c14_generics_functions_impl_traits.rs:60:1 [INFO] [stderr] | [INFO] [stderr] 60 | struct GenericVal(T, ); // Generic type GenericVal [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/bin/c3_custom_types_enums2.rs:56:17 [INFO] [stderr] | [INFO] [stderr] 56 | format!("Nil") [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider using .to_string(): `"Nil".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/bin/c16_traits.rs:40:17 [INFO] [stderr] | [INFO] [stderr] 40 | Sheep { name: name, naked: false } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [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: field is never used: `p1` [INFO] [stderr] --> src/bin/c3_custom_types_structs.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | p1: Point, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `p2` [INFO] [stderr] --> src/bin/c3_custom_types_structs.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | p2: Point, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/bin/c16_traits_derive_op_drop.rs:22:21 [INFO] [stderr] | [INFO] [stderr] 22 | Centimeters(inches as f64 * 2.54) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `f64::from(inches)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: equal expressions as operands to `==` [INFO] [stderr] --> src/bin/c17_macro_rules_syntax.rs:92:11 [INFO] [stderr] | [INFO] [stderr] 92 | test!(1i32 + 1 == 2i32; and 2i32 * 2 == 4i32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::eq_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] error: equal expressions as operands to `==` [INFO] [stderr] --> src/bin/c17_macro_rules_syntax.rs:92:33 [INFO] [stderr] | [INFO] [stderr] 92 | test!(1i32 + 1 == 2i32; and 2i32 * 2 == 4i32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `rust-by-example`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/bin/c17_macro_dry_dsl_variadics.rs:21:70 [INFO] [stderr] | [INFO] [stderr] 21 | fn $func + Copy>(xs: &mut Vec, ys: &Vec) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&[T]` [INFO] [stderr] ... [INFO] [stderr] 32 | op!(add_assign, Add, +=, add); [INFO] [stderr] | ------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/bin/c17_macro_dry_dsl_variadics.rs:21:70 [INFO] [stderr] | [INFO] [stderr] 21 | fn $func + Copy>(xs: &mut Vec, ys: &Vec) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&[T]` [INFO] [stderr] ... [INFO] [stderr] 33 | op!(mul_assign, Mul, *=, mul); [INFO] [stderr] | ------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/bin/c17_macro_dry_dsl_variadics.rs:21:70 [INFO] [stderr] | [INFO] [stderr] 21 | fn $func + Copy>(xs: &mut Vec, ys: &Vec) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&[T]` [INFO] [stderr] ... [INFO] [stderr] 34 | op!(sub_assign, Sub, -=, sub); [INFO] [stderr] | ------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] error: this operation will always return zero. This is likely not the intended outcome [INFO] [stderr] --> src/bin/c17_macro_dry_dsl_variadics.rs:95:14 [INFO] [stderr] | [INFO] [stderr] 95 | eval (1 + 2) * (3 / 4) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::erasing_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#erasing_op [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `rust-by-example`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/bin/c15_scoping_lifetimes2.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | fn add_one<'a>(&'a mut self) { self.0 += 1; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/bin/c15_scoping_lifetimes2.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | / fn print<'a>(&'a self) { [INFO] [stderr] 9 | | println!("`print`: {}", self.0); [INFO] [stderr] 10 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/bin/c15_scoping_lifetimes2.rs:90:24 [INFO] [stderr] | [INFO] [stderr] 90 | fn multiply<'a>(first: &'a i32, second: &'a i32) -> i32 { [INFO] [stderr] | ^^^^^^^ help: consider passing by value instead: `i32` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/bin/c15_scoping_lifetimes2.rs:90:41 [INFO] [stderr] | [INFO] [stderr] 90 | fn multiply<'a>(first: &'a i32, second: &'a i32) -> i32 { [INFO] [stderr] | ^^^^^^^ help: consider passing by value instead: `i32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/bin/c15_scoping_lifetimes2.rs:96:36 [INFO] [stderr] | [INFO] [stderr] 96 | fn choose_first<'a: 'b, 'b>(first: &'a i32, _: &'b i32) -> &'b i32 { [INFO] [stderr] | ^^^^^^^ help: consider passing by value instead: `i32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: function is never used: `printer` [INFO] [stderr] --> src/bin/c14_generics_bounds_where.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | fn printer(t: T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `s` [INFO] [stderr] --> src/bin/c14_generics_bounds_where.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | struct s(T); // S can only be a type that implements the Display trait - so no vectors [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `s` should have a camel case name such as `S` [INFO] [stderr] --> src/bin/c14_generics_bounds_where.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | struct s(T); // S can only be a type that implements the Display trait - so no vectors [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_camel_case_types)] on by default [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/bin/c2_primitives.rs:21:20 [INFO] [stderr] | [INFO] [stderr] 21 | println!("{}", 0.000001 == 0.000_001); // _ can be used in numeric literals to improve readability [INFO] [stderr] | ^^^^^^^^ help: consider: `0.000_001` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: function is never used: `printer` [INFO] [stderr] --> src/bin/c14_generics_bounds_where.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | fn printer(t: T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `s` [INFO] [stderr] --> src/bin/c14_generics_bounds_where.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | struct s(T); // S can only be a type that implements the Display trait - so no vectors [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `s` should have a camel case name such as `S` [INFO] [stderr] --> src/bin/c14_generics_bounds_where.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | struct s(T); // S can only be a type that implements the Display trait - so no vectors [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_camel_case_types)] on by default [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Matrix` [INFO] [stderr] --> src/bin/c2_primitives.rs:94:1 [INFO] [stderr] | [INFO] [stderr] 94 | struct Matrix(f32, f32, f32, f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> src/bin/c2_primitives.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #[allow(unused)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused)]` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::useless_attribute)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] error: equal expressions as operands to `==` [INFO] [stderr] --> src/bin/c2_primitives.rs:21:20 [INFO] [stderr] | [INFO] [stderr] 21 | println!("{}", 0.000001 == 0.000_001); // _ can be used in numeric literals to improve readability [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::eq_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/bin/c2_primitives.rs:21:20 [INFO] [stderr] | [INFO] [stderr] 21 | println!("{}", 0.000001 == 0.000_001); // _ can be used in numeric literals to improve readability [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(0.000001 - 0.000_001).abs() < error` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/bin/c2_primitives.rs:21:20 [INFO] [stderr] | [INFO] [stderr] 21 | println!("{}", 0.000001 == 0.000_001); // _ can be used in numeric literals to improve readability [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `rust-by-example`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "22d069d0261349bf4eb561262117debc8c4900e06ad9f1c4bd999a5c55f57f51"` [INFO] running `"docker" "rm" "-f" "22d069d0261349bf4eb561262117debc8c4900e06ad9f1c4bd999a5c55f57f51"` [INFO] [stdout] 22d069d0261349bf4eb561262117debc8c4900e06ad9f1c4bd999a5c55f57f51