[INFO] updating cached repository sabartheman/Rust_huffman_parallel [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/sabartheman/Rust_huffman_parallel [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/sabartheman/Rust_huffman_parallel" "work/ex/clippy-test-run/sources/stable/gh/sabartheman/Rust_huffman_parallel"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/sabartheman/Rust_huffman_parallel'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/sabartheman/Rust_huffman_parallel" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/sabartheman/Rust_huffman_parallel"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/sabartheman/Rust_huffman_parallel'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 9856ae702e29f7289fba9dfd14c861fcacf1362d [INFO] sha for GitHub repo sabartheman/Rust_huffman_parallel: 9856ae702e29f7289fba9dfd14c861fcacf1362d [INFO] validating manifest of sabartheman/Rust_huffman_parallel 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 sabartheman/Rust_huffman_parallel 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 sabartheman/Rust_huffman_parallel [INFO] finished frobbing sabartheman/Rust_huffman_parallel [INFO] frobbed toml for sabartheman/Rust_huffman_parallel written to work/ex/clippy-test-run/sources/stable/gh/sabartheman/Rust_huffman_parallel/Cargo.toml [INFO] started frobbing sabartheman/Rust_huffman_parallel [INFO] finished frobbing sabartheman/Rust_huffman_parallel [INFO] frobbed toml for sabartheman/Rust_huffman_parallel written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/sabartheman/Rust_huffman_parallel/Cargo.toml [INFO] crate sabartheman/Rust_huffman_parallel 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 sabartheman/Rust_huffman_parallel against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/sabartheman/Rust_huffman_parallel:/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] 83e8f745c25b25288fff33c8557aaa22db13f83bb845557bb836e2574ef2ec2f [INFO] running `"docker" "start" "-a" "83e8f745c25b25288fff33c8557aaa22db13f83bb845557bb836e2574ef2ec2f"` [INFO] [stderr] Checking crossbeam v0.3.0 [INFO] [stderr] Checking huffman_rust v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:168:9 [INFO] [stderr] | [INFO] [stderr] 168 | freq: freq, ch: ch_in, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `freq` [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: 5th binding whose name is just one char [INFO] [stderr] --> src/main.rs:254:23 [INFO] [stderr] | [INFO] [stderr] 254 | let mut c = new_box(new_node(a.freq + b.freq, None)); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:168:9 [INFO] [stderr] | [INFO] [stderr] 168 | freq: freq, ch: ch_in, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `freq` [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: 5th binding whose name is just one char [INFO] [stderr] --> src/main.rs:254:23 [INFO] [stderr] | [INFO] [stderr] 254 | let mut c = new_box(new_node(a.freq + b.freq, None)); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/main.rs:103:32 [INFO] [stderr] | [INFO] [stderr] 103 | assign_codes(l, h, (s.clone() + "0")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/main.rs:106:32 [INFO] [stderr] | [INFO] [stderr] 106 | assign_codes(r, h, (s.clone() + "1")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/main.rs:143:15 [INFO] [stderr] | [INFO] [stderr] 143 | }else { [INFO] [stderr] | _______________^ [INFO] [stderr] 144 | | if let Some(ref r) = nodeptr.right{ [INFO] [stderr] 145 | | nodeptr = r; [INFO] [stderr] 146 | | } [INFO] [stderr] 147 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 143 | }else if let Some(ref r) = nodeptr.right{ [INFO] [stderr] 144 | nodeptr = r; [INFO] [stderr] 145 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/main.rs:103:32 [INFO] [stderr] | [INFO] [stderr] 103 | assign_codes(l, h, (s.clone() + "0")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/main.rs:106:32 [INFO] [stderr] | [INFO] [stderr] 106 | assign_codes(r, h, (s.clone() + "1")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/main.rs:143:15 [INFO] [stderr] | [INFO] [stderr] 143 | }else { [INFO] [stderr] | _______________^ [INFO] [stderr] 144 | | if let Some(ref r) = nodeptr.right{ [INFO] [stderr] 145 | | nodeptr = r; [INFO] [stderr] 146 | | } [INFO] [stderr] 147 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 143 | }else if let Some(ref r) = nodeptr.right{ [INFO] [stderr] 144 | nodeptr = r; [INFO] [stderr] 145 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/main.rs:499:16 [INFO] [stderr] | [INFO] [stderr] 499 | if let Err(e) = writeln!(file, "{},{},{},{},{},{},{},", tp1_finish - tp1_start, tp2_finish - tp2_start, tp3_finish - tp3_start, tp4_finish - tp4_start, t3-t1, t2-s2, t3-s3) { [INFO] [stderr] | ^ help: consider using `_e` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/main.rs:499:16 [INFO] [stderr] | [INFO] [stderr] 499 | if let Err(e) = writeln!(file, "{},{},{},{},{},{},{},", tp1_finish - tp1_start, tp2_finish - tp2_start, tp3_finish - tp3_start, tp4_finish - tp4_start, t3-t1, t2-s2, t3-s3) { [INFO] [stderr] | ^ help: consider using `_e` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/main.rs:95:20 [INFO] [stderr] | [INFO] [stderr] 95 | fn assign_codes(p: &Box, [INFO] [stderr] | ^^^^^^^^^^ help: try: `&Node` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::borrowed_box)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/main.rs:134:33 [INFO] [stderr] | [INFO] [stderr] 134 | fn decode_string(s: &str, root: &Box) -> String { [INFO] [stderr] | ^^^^^^^^^^ help: try: `&Node` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:303:5 [INFO] [stderr] | [INFO] [stderr] 303 | / let mut tp4_finish = precise_time_s(); [INFO] [stderr] 304 | | [INFO] [stderr] 305 | | [INFO] [stderr] 306 | | if (input_string.len() % 4) == 0 { [INFO] [stderr] ... | [INFO] [stderr] 337 | | tp4_finish = precise_time_s(); [INFO] [stderr] 338 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let tp4_finish = if (input_string.len() % 4) == 0 { ..; precise_time_s() } else { precise_time_s() };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/main.rs:321:60 [INFO] [stderr] | [INFO] [stderr] 321 | *elem = encode_string(&input_temp[(((&i-1)*&input_temp.len())/4)+1..((&i*&input_temp.len())/4)], &h_temp); [INFO] [stderr] | ^^^^^^^^-----------------^ [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `input_temp.len()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/main.rs:321:94 [INFO] [stderr] | [INFO] [stderr] 321 | *elem = encode_string(&input_temp[(((&i-1)*&input_temp.len())/4)+1..((&i*&input_temp.len())/4)], &h_temp); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 321 | *elem = encode_string(&input_temp[(((&i-1)*&input_temp.len())/4)+1..((i*input_temp.len())/4)], &h_temp); [INFO] [stderr] | ^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:322:25 [INFO] [stderr] | [INFO] [stderr] 322 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/main.rs:351:60 [INFO] [stderr] | [INFO] [stderr] 351 | *elem = encode_string(&input_temp[(((&i-1)*&input_temp.len())/3)+1..((&i*&input_temp.len())/3)], &h_temp); [INFO] [stderr] | ^^^^^^^^-----------------^ [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `input_temp.len()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/main.rs:351:94 [INFO] [stderr] | [INFO] [stderr] 351 | *elem = encode_string(&input_temp[(((&i-1)*&input_temp.len())/3)+1..((&i*&input_temp.len())/3)], &h_temp); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 351 | *elem = encode_string(&input_temp[(((&i-1)*&input_temp.len())/3)+1..((i*input_temp.len())/3)], &h_temp); [INFO] [stderr] | ^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:352:25 [INFO] [stderr] | [INFO] [stderr] 352 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/main.rs:380:60 [INFO] [stderr] | [INFO] [stderr] 380 | *elem = encode_string(&input_temp[(((&i-1)*&input_temp.len())/2)+1..((&i*&input_temp.len())/2)], &h_temp); [INFO] [stderr] | ^^^^^^^^-----------------^ [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `input_temp.len()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/main.rs:380:94 [INFO] [stderr] | [INFO] [stderr] 380 | *elem = encode_string(&input_temp[(((&i-1)*&input_temp.len())/2)+1..((&i*&input_temp.len())/2)], &h_temp); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 380 | *elem = encode_string(&input_temp[(((&i-1)*&input_temp.len())/2)+1..((i*input_temp.len())/2)], &h_temp); [INFO] [stderr] | ^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:381:25 [INFO] [stderr] | [INFO] [stderr] 381 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] error: any number modulo 1 will be 0 [INFO] [stderr] --> src/main.rs:398:7 [INFO] [stderr] | [INFO] [stderr] 398 | if(input_string.len() %1) == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::modulo_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#modulo_one [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/main.rs:95:20 [INFO] [stderr] | [INFO] [stderr] 95 | fn assign_codes(p: &Box, [INFO] [stderr] | ^^^^^^^^^^ help: try: `&Node` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::borrowed_box)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `((&i-1)*&input_temp.len())` [INFO] [stderr] --> src/main.rs:409:59 [INFO] [stderr] | [INFO] [stderr] 409 | *elem = encode_string(&input_temp[(((&i-1)*&input_temp.len())/1)+1..((&i*&input_temp.len())/1)], &h_temp); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/main.rs:409:60 [INFO] [stderr] | [INFO] [stderr] 409 | *elem = encode_string(&input_temp[(((&i-1)*&input_temp.len())/1)+1..((&i*&input_temp.len())/1)], &h_temp); [INFO] [stderr] | ^^^^^^^^-----------------^ [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `input_temp.len()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/main.rs:134:33 [INFO] [stderr] | [INFO] [stderr] 134 | fn decode_string(s: &str, root: &Box) -> String { [INFO] [stderr] | ^^^^^^^^^^ help: try: `&Node` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `(&i*&input_temp.len())` [INFO] [stderr] [INFO] [stderr] --> src/main.rs:409:93 [INFO] [stderr] | [INFO] [stderr] 409 | *elem = encode_string(&input_temp[(((&i-1)*&input_temp.len())/1)+1..((&i*&input_temp.len())/1)], &h_temp); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/main.rs:409:94 [INFO] [stderr] | [INFO] [stderr] 409 | *elem = encode_string(&input_temp[(((&i-1)*&input_temp.len())/1)+1..((&i*&input_temp.len())/1)], &h_temp); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 409 | *elem = encode_string(&input_temp[(((&i-1)*&input_temp.len())/1)+1..((i*input_temp.len())/1)], &h_temp); [INFO] [stderr] | ^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:410:25 [INFO] [stderr] | [INFO] [stderr] 410 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] error: any number modulo 1 will be 0 [INFO] [stderr] --> src/main.rs:481:8 [INFO] [stderr] | [INFO] [stderr] 481 | if (input_string.len() % 1) == 0{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#modulo_one [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:303:5 [INFO] [stderr] | [INFO] [stderr] 303 | / let mut tp4_finish = precise_time_s(); [INFO] [stderr] 304 | | [INFO] [stderr] 305 | | [INFO] [stderr] 306 | | if (input_string.len() % 4) == 0 { [INFO] [stderr] ... | [INFO] [stderr] 337 | | tp4_finish = precise_time_s(); [INFO] [stderr] 338 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let tp4_finish = if (input_string.len() % 4) == 0 { ..; precise_time_s() } else { precise_time_s() };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/main.rs:321:60 [INFO] [stderr] | [INFO] [stderr] 321 | *elem = encode_string(&input_temp[(((&i-1)*&input_temp.len())/4)+1..((&i*&input_temp.len())/4)], &h_temp); [INFO] [stderr] | ^^^^^^^^-----------------^ [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `input_temp.len()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/main.rs:321:94 [INFO] [stderr] | [INFO] [stderr] 321 | *elem = encode_string(&input_temp[(((&i-1)*&input_temp.len())/4)+1..((&i*&input_temp.len())/4)], &h_temp); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 321 | *elem = encode_string(&input_temp[(((&i-1)*&input_temp.len())/4)+1..((i*input_temp.len())/4)], &h_temp); [INFO] [stderr] | ^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:322:25 [INFO] [stderr] | [INFO] [stderr] 322 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] error: Could not compile `huffman_rust`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/main.rs:351:60 [INFO] [stderr] | [INFO] [stderr] 351 | *elem = encode_string(&input_temp[(((&i-1)*&input_temp.len())/3)+1..((&i*&input_temp.len())/3)], &h_temp); [INFO] [stderr] | ^^^^^^^^-----------------^ [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `input_temp.len()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/main.rs:351:94 [INFO] [stderr] | [INFO] [stderr] 351 | *elem = encode_string(&input_temp[(((&i-1)*&input_temp.len())/3)+1..((&i*&input_temp.len())/3)], &h_temp); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 351 | *elem = encode_string(&input_temp[(((&i-1)*&input_temp.len())/3)+1..((i*input_temp.len())/3)], &h_temp); [INFO] [stderr] | ^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:352:25 [INFO] [stderr] | [INFO] [stderr] 352 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/main.rs:380:60 [INFO] [stderr] | [INFO] [stderr] 380 | *elem = encode_string(&input_temp[(((&i-1)*&input_temp.len())/2)+1..((&i*&input_temp.len())/2)], &h_temp); [INFO] [stderr] | ^^^^^^^^-----------------^ [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `input_temp.len()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/main.rs:380:94 [INFO] [stderr] | [INFO] [stderr] 380 | *elem = encode_string(&input_temp[(((&i-1)*&input_temp.len())/2)+1..((&i*&input_temp.len())/2)], &h_temp); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 380 | *elem = encode_string(&input_temp[(((&i-1)*&input_temp.len())/2)+1..((i*input_temp.len())/2)], &h_temp); [INFO] [stderr] | ^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:381:25 [INFO] [stderr] | [INFO] [stderr] 381 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] error: any number modulo 1 will be 0 [INFO] [stderr] --> src/main.rs:398:7 [INFO] [stderr] | [INFO] [stderr] 398 | if(input_string.len() %1) == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::modulo_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#modulo_one [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `((&i-1)*&input_temp.len())` [INFO] [stderr] --> src/main.rs:409:59 [INFO] [stderr] | [INFO] [stderr] 409 | *elem = encode_string(&input_temp[(((&i-1)*&input_temp.len())/1)+1..((&i*&input_temp.len())/1)], &h_temp); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/main.rs:409:60 [INFO] [stderr] | [INFO] [stderr] 409 | *elem = encode_string(&input_temp[(((&i-1)*&input_temp.len())/1)+1..((&i*&input_temp.len())/1)], &h_temp); [INFO] [stderr] | ^^^^^^^^-----------------^ [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `input_temp.len()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `(&i*&input_temp.len())` [INFO] [stderr] --> src/main.rs:409:93 [INFO] [stderr] | [INFO] [stderr] 409 | *elem = encode_string(&input_temp[(((&i-1)*&input_temp.len())/1)+1..((&i*&input_temp.len())/1)], &h_temp); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/main.rs:409:94 [INFO] [stderr] | [INFO] [stderr] 409 | *elem = encode_string(&input_temp[(((&i-1)*&input_temp.len())/1)+1..((&i*&input_temp.len())/1)], &h_temp); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 409 | *elem = encode_string(&input_temp[(((&i-1)*&input_temp.len())/1)+1..((i*input_temp.len())/1)], &h_temp); [INFO] [stderr] | ^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:410:25 [INFO] [stderr] | [INFO] [stderr] 410 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] error: any number modulo 1 will be 0 [INFO] [stderr] --> src/main.rs:481:8 [INFO] [stderr] | [INFO] [stderr] 481 | if (input_string.len() % 1) == 0{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#modulo_one [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `huffman_rust`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "83e8f745c25b25288fff33c8557aaa22db13f83bb845557bb836e2574ef2ec2f"` [INFO] running `"docker" "rm" "-f" "83e8f745c25b25288fff33c8557aaa22db13f83bb845557bb836e2574ef2ec2f"` [INFO] [stdout] 83e8f745c25b25288fff33c8557aaa22db13f83bb845557bb836e2574ef2ec2f