[INFO] updating cached repository gdemarcsek/learn-rust [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/gdemarcsek/learn-rust [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/gdemarcsek/learn-rust" "work/ex/clippy-test-run/sources/stable/gh/gdemarcsek/learn-rust"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/gdemarcsek/learn-rust'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/gdemarcsek/learn-rust" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/gdemarcsek/learn-rust"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/gdemarcsek/learn-rust'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] c8caf07a1205b8638e5b0711fd943f663662d11d [INFO] sha for GitHub repo gdemarcsek/learn-rust: c8caf07a1205b8638e5b0711fd943f663662d11d [INFO] validating manifest of gdemarcsek/learn-rust 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 gdemarcsek/learn-rust 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 gdemarcsek/learn-rust [INFO] finished frobbing gdemarcsek/learn-rust [INFO] frobbed toml for gdemarcsek/learn-rust written to work/ex/clippy-test-run/sources/stable/gh/gdemarcsek/learn-rust/Cargo.toml [INFO] started frobbing gdemarcsek/learn-rust [INFO] finished frobbing gdemarcsek/learn-rust [INFO] frobbed toml for gdemarcsek/learn-rust written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/gdemarcsek/learn-rust/Cargo.toml [INFO] crate gdemarcsek/learn-rust 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 gdemarcsek/learn-rust 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/gh/gdemarcsek/learn-rust:/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] b3fc153ed77f7ea85339aef01a2cad04225927e5387a27586eb342d2dfe974b1 [INFO] running `"docker" "start" "-a" "b3fc153ed77f7ea85339aef01a2cad04225927e5387a27586eb342d2dfe974b1"` [INFO] [stderr] Checking learn-rust v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | return s; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `s` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:232:30 [INFO] [stderr] | [INFO] [stderr] 232 | let home = IpAddress::V4(2130706433); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `2_130_706_433` [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: long literal lacking separators [INFO] [stderr] --> src/main.rs:233:33 [INFO] [stderr] | [INFO] [stderr] 233 | let foreign = IpAddress::V6(314159263, 123442); [INFO] [stderr] | ^^^^^^^^^ help: consider: `314_159_263` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:233:44 [INFO] [stderr] | [INFO] [stderr] 233 | let foreign = IpAddress::V6(314159263, 123442); [INFO] [stderr] | ^^^^^^ help: consider: `123_442` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::*` [INFO] [stderr] --> src/main.rs:297:9 [INFO] [stderr] | [INFO] [stderr] 297 | use std::*; // glob import from Rust's standard library [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/main.rs:269:9 [INFO] [stderr] | [INFO] [stderr] 269 | _ => -1, // _ is a placeholder that matches any value - if we put it as last, this will mean what the "default" label menas for "switch" in C++ [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `x` [INFO] [stderr] --> src/main.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | let x = 42; // (type is inferred by the compiler whenever possible) [INFO] [stderr] | ^ help: consider using `_x` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable `x` is assigned to, but never used [INFO] [stderr] --> src/main.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | let mut x = 42; // Now 'x' is declared to be mutable, thus... [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_x` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `x` is never read [INFO] [stderr] --> src/main.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | x = 21; // its value can be changed later on [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/main.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | let s = String::from("dynamically allocated string"); // s owns the allocated memory... [INFO] [stderr] | ^ help: consider using `_s` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `y` [INFO] [stderr] --> src/main.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | let y = x; // a copy of the value of 'x' [INFO] [stderr] | ^ help: consider using `_y` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s4` [INFO] [stderr] --> src/main.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | let s4 = gives_ownership(); [INFO] [stderr] | ^^ help: consider using `_s4` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `r1` [INFO] [stderr] --> src/main.rs:105:13 [INFO] [stderr] | [INFO] [stderr] 105 | let r1 = &mut s1; [INFO] [stderr] | ^^ help: consider using `_r1` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `r2` [INFO] [stderr] --> src/main.rs:110:9 [INFO] [stderr] | [INFO] [stderr] 110 | let r2 = &s1; // but out of the scope of 'r1', we can create a reference again... [INFO] [stderr] | ^^ help: consider using `_r2` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `r3` [INFO] [stderr] --> src/main.rs:111:9 [INFO] [stderr] | [INFO] [stderr] 111 | let r3 = &s1; // ...even multiple immutable ones [INFO] [stderr] | ^^ help: consider using `_r3` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `slice3` is never read [INFO] [stderr] --> src/main.rs:150:13 [INFO] [stderr] | [INFO] [stderr] 150 | let mut slice3 = &s[1..6]; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `slice4` [INFO] [stderr] --> src/main.rs:155:9 [INFO] [stderr] | [INFO] [stderr] 155 | let slice4: &[i32]; // the type of each item must be 'i32' [INFO] [stderr] | ^^^^^^ help: consider using `_slice4` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `red` [INFO] [stderr] --> src/main.rs:191:9 [INFO] [stderr] | [INFO] [stderr] 191 | let red = RGBColor(0xff, 0x00, 0x00); [INFO] [stderr] | ^^^ help: consider using `_red` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `foreign` [INFO] [stderr] --> src/main.rs:233:9 [INFO] [stderr] | [INFO] [stderr] 233 | let foreign = IpAddress::V6(314159263, 123442); [INFO] [stderr] | ^^^^^^^ help: consider using `_foreign` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `some_ip` [INFO] [stderr] --> src/main.rs:238:9 [INFO] [stderr] | [INFO] [stderr] 238 | let some_ip = Some(home); [INFO] [stderr] | ^^^^^^^ help: consider using `_some_ip` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `absent_ip` [INFO] [stderr] --> src/main.rs:240:9 [INFO] [stderr] | [INFO] [stderr] 240 | let absent_ip: Option = None; [INFO] [stderr] | ^^^^^^^^^ help: consider using `_absent_ip` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `x` [INFO] [stderr] --> src/main.rs:243:9 [INFO] [stderr] | [INFO] [stderr] 243 | let x: i8 = 5; [INFO] [stderr] | ^ help: consider using `_x` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `y` [INFO] [stderr] --> src/main.rs:244:9 [INFO] [stderr] | [INFO] [stderr] 244 | let y: Option = Some(5); [INFO] [stderr] | ^ help: consider using `_y` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `retcode` [INFO] [stderr] --> src/main.rs:259:9 [INFO] [stderr] | [INFO] [stderr] 259 | let retcode = match error { // match forces us to cover all possible cases [INFO] [stderr] | ^^^^^^^ help: consider using `_retcode` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:139:9 [INFO] [stderr] | [INFO] [stderr] 139 | let mut s = String::from("hello world"); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NetworkError` [INFO] [stderr] --> src/main.rs:252:9 [INFO] [stderr] | [INFO] [stderr] 252 | NetworkError, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `SerilizationError` [INFO] [stderr] --> src/main.rs:253:9 [INFO] [stderr] | [INFO] [stderr] 253 | SerilizationError(String), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `closures` [INFO] [stderr] --> src/main.rs:310:1 [INFO] [stderr] | [INFO] [stderr] 310 | fn closures() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | assert!(0 < s.len()); [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!s.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/main.rs:120:20 [INFO] [stderr] | [INFO] [stderr] 120 | fn check_length(s: &String, l: usize) -> bool { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [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: variable `className` should have a snake case name such as `class_name` [INFO] [stderr] --> src/main.rs:264:41 [INFO] [stderr] | [INFO] [stderr] 264 | RPCCallError::SerilizationError(className) => { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | return s; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `s` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:232:30 [INFO] [stderr] | [INFO] [stderr] 232 | let home = IpAddress::V4(2130706433); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `2_130_706_433` [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: long literal lacking separators [INFO] [stderr] --> src/main.rs:233:33 [INFO] [stderr] | [INFO] [stderr] 233 | let foreign = IpAddress::V6(314159263, 123442); [INFO] [stderr] | ^^^^^^^^^ help: consider: `314_159_263` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:233:44 [INFO] [stderr] | [INFO] [stderr] 233 | let foreign = IpAddress::V6(314159263, 123442); [INFO] [stderr] | ^^^^^^ help: consider: `123_442` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::*` [INFO] [stderr] --> src/main.rs:297:9 [INFO] [stderr] | [INFO] [stderr] 297 | use std::*; // glob import from Rust's standard library [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/main.rs:269:9 [INFO] [stderr] | [INFO] [stderr] 269 | _ => -1, // _ is a placeholder that matches any value - if we put it as last, this will mean what the "default" label menas for "switch" in C++ [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `x` [INFO] [stderr] --> src/main.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | let x = 42; // (type is inferred by the compiler whenever possible) [INFO] [stderr] | ^ help: consider using `_x` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable `x` is assigned to, but never used [INFO] [stderr] --> src/main.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | let mut x = 42; // Now 'x' is declared to be mutable, thus... [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_x` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `x` is never read [INFO] [stderr] --> src/main.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | x = 21; // its value can be changed later on [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/main.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | let s = String::from("dynamically allocated string"); // s owns the allocated memory... [INFO] [stderr] | ^ help: consider using `_s` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `y` [INFO] [stderr] --> src/main.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | let y = x; // a copy of the value of 'x' [INFO] [stderr] | ^ help: consider using `_y` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s4` [INFO] [stderr] --> src/main.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | let s4 = gives_ownership(); [INFO] [stderr] | ^^ help: consider using `_s4` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `r1` [INFO] [stderr] --> src/main.rs:105:13 [INFO] [stderr] | [INFO] [stderr] 105 | let r1 = &mut s1; [INFO] [stderr] | ^^ help: consider using `_r1` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `r2` [INFO] [stderr] --> src/main.rs:110:9 [INFO] [stderr] | [INFO] [stderr] 110 | let r2 = &s1; // but out of the scope of 'r1', we can create a reference again... [INFO] [stderr] | ^^ help: consider using `_r2` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `r3` [INFO] [stderr] --> src/main.rs:111:9 [INFO] [stderr] | [INFO] [stderr] 111 | let r3 = &s1; // ...even multiple immutable ones [INFO] [stderr] | ^^ help: consider using `_r3` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `slice3` is never read [INFO] [stderr] --> src/main.rs:150:13 [INFO] [stderr] | [INFO] [stderr] 150 | let mut slice3 = &s[1..6]; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `slice4` [INFO] [stderr] --> src/main.rs:155:9 [INFO] [stderr] | [INFO] [stderr] 155 | let slice4: &[i32]; // the type of each item must be 'i32' [INFO] [stderr] | ^^^^^^ help: consider using `_slice4` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `red` [INFO] [stderr] --> src/main.rs:191:9 [INFO] [stderr] | [INFO] [stderr] 191 | let red = RGBColor(0xff, 0x00, 0x00); [INFO] [stderr] | ^^^ help: consider using `_red` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `foreign` [INFO] [stderr] --> src/main.rs:233:9 [INFO] [stderr] | [INFO] [stderr] 233 | let foreign = IpAddress::V6(314159263, 123442); [INFO] [stderr] | ^^^^^^^ help: consider using `_foreign` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `some_ip` [INFO] [stderr] --> src/main.rs:238:9 [INFO] [stderr] | [INFO] [stderr] 238 | let some_ip = Some(home); [INFO] [stderr] | ^^^^^^^ help: consider using `_some_ip` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `absent_ip` [INFO] [stderr] --> src/main.rs:240:9 [INFO] [stderr] | [INFO] [stderr] 240 | let absent_ip: Option = None; [INFO] [stderr] | ^^^^^^^^^ help: consider using `_absent_ip` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `x` [INFO] [stderr] --> src/main.rs:243:9 [INFO] [stderr] | [INFO] [stderr] 243 | let x: i8 = 5; [INFO] [stderr] | ^ help: consider using `_x` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `y` [INFO] [stderr] --> src/main.rs:244:9 [INFO] [stderr] | [INFO] [stderr] 244 | let y: Option = Some(5); [INFO] [stderr] | ^ help: consider using `_y` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `retcode` [INFO] [stderr] --> src/main.rs:259:9 [INFO] [stderr] | [INFO] [stderr] 259 | let retcode = match error { // match forces us to cover all possible cases [INFO] [stderr] | ^^^^^^^ help: consider using `_retcode` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:139:9 [INFO] [stderr] | [INFO] [stderr] 139 | let mut s = String::from("hello world"); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NetworkError` [INFO] [stderr] --> src/main.rs:252:9 [INFO] [stderr] | [INFO] [stderr] 252 | NetworkError, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `SerilizationError` [INFO] [stderr] --> src/main.rs:253:9 [INFO] [stderr] | [INFO] [stderr] 253 | SerilizationError(String), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `closures` [INFO] [stderr] --> src/main.rs:310:1 [INFO] [stderr] | [INFO] [stderr] 310 | fn closures() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | assert!(0 < s.len()); [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!s.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/main.rs:120:20 [INFO] [stderr] | [INFO] [stderr] 120 | fn check_length(s: &String, l: usize) -> bool { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [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: variable `className` should have a snake case name such as `class_name` [INFO] [stderr] --> src/main.rs:264:41 [INFO] [stderr] | [INFO] [stderr] 264 | RPCCallError::SerilizationError(className) => { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.06s [INFO] running `"docker" "inspect" "b3fc153ed77f7ea85339aef01a2cad04225927e5387a27586eb342d2dfe974b1"` [INFO] running `"docker" "rm" "-f" "b3fc153ed77f7ea85339aef01a2cad04225927e5387a27586eb342d2dfe974b1"` [INFO] [stdout] b3fc153ed77f7ea85339aef01a2cad04225927e5387a27586eb342d2dfe974b1