[INFO] updating cached repository JosephFerano/a03 [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/JosephFerano/a03 [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/JosephFerano/a03" "work/ex/clippy-test-run/sources/stable/gh/JosephFerano/a03"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/JosephFerano/a03'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/JosephFerano/a03" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/JosephFerano/a03"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/JosephFerano/a03'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 2602a97892eabfed05280832b4bd995d22b91283 [INFO] sha for GitHub repo JosephFerano/a03: 2602a97892eabfed05280832b4bd995d22b91283 [INFO] validating manifest of JosephFerano/a03 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 JosephFerano/a03 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 JosephFerano/a03 [INFO] finished frobbing JosephFerano/a03 [INFO] frobbed toml for JosephFerano/a03 written to work/ex/clippy-test-run/sources/stable/gh/JosephFerano/a03/Cargo.toml [INFO] started frobbing JosephFerano/a03 [INFO] finished frobbing JosephFerano/a03 [INFO] frobbed toml for JosephFerano/a03 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/JosephFerano/a03/Cargo.toml [INFO] crate JosephFerano/a03 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 JosephFerano/a03 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/JosephFerano/a03:/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] 30c832357306a90436a1bc9c1ba0a9731d81d44b04823c12198b67722ab90475 [INFO] running `"docker" "start" "-a" "30c832357306a90436a1bc9c1ba0a9731d81d44b04823c12198b67722ab90475"` [INFO] [stderr] Checking rusqlite v0.15.0 [INFO] [stderr] Checking a03 v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `std::net::Ipv4Addr` [INFO] [stderr] --> src/lib.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::net::Ipv4Addr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::net::SocketAddrV4` [INFO] [stderr] --> src/lib.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::net::SocketAddrV4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str::FromStr` [INFO] [stderr] --> src/lib.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::str::FromStr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::net::Ipv4Addr` [INFO] [stderr] --> src/lib.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::net::Ipv4Addr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::net::SocketAddrV4` [INFO] [stderr] --> src/lib.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::net::SocketAddrV4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str::FromStr` [INFO] [stderr] --> src/lib.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::str::FromStr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lib.rs:94:9 [INFO] [stderr] | [INFO] [stderr] 94 | let mut args: Vec = std::env::args().skip(1).collect(); [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: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:97:30 [INFO] [stderr] | [INFO] [stderr] 97 | if endpoint_arg.contains(":") { [INFO] [stderr] | ^^^ help: try using a char instead: `':'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lib.rs:94:9 [INFO] [stderr] | [INFO] [stderr] 94 | let mut args: Vec = std::env::args().skip(1).collect(); [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: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:97:30 [INFO] [stderr] | [INFO] [stderr] 97 | if endpoint_arg.contains(":") { [INFO] [stderr] | ^^^ help: try using a char instead: `':'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: literal with an empty format string [INFO] [stderr] --> src/bin/meta_data.rs:49:37 [INFO] [stderr] | [INFO] [stderr] 49 | Ok(_) => println!("{}", "Copy client attempted to read non-existing file"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::print_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stderr] [INFO] [stderr] warning: literal with an empty format string [INFO] [stderr] --> src/bin/meta_data.rs:71:33 [INFO] [stderr] | [INFO] [stderr] 71 | Ok(_) => println!("{}", "Sent nodes with chunks"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stderr] [INFO] [stderr] warning: literal with an empty format string [INFO] [stderr] --> src/bin/meta_data.rs:87:37 [INFO] [stderr] | [INFO] [stderr] 87 | Ok(_) => println!("{}", "Copy client attempted to add an existing file"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stderr] [INFO] [stderr] warning: literal with an empty format string [INFO] [stderr] --> src/bin/meta_data.rs:118:33 [INFO] [stderr] | [INFO] [stderr] 118 | Ok(_) => println!("{}", "Sent nodes with chunks"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stderr] [INFO] [stderr] warning: literal with an empty format string [INFO] [stderr] --> src/bin/meta_data.rs:125:33 [INFO] [stderr] | [INFO] [stderr] 125 | Ok(_) => println!("{}", "Sent file paths"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stderr] [INFO] [stderr] warning: literal with an empty format string [INFO] [stderr] --> src/bin/data_node.rs:70:41 [INFO] [stderr] | [INFO] [stderr] 70 | Ok(_) => println!("{}", "Copy client attempted to read non-existing file"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] warning: literal with an empty format string [INFO] [stderr] --> src/bin/data_node.rs:70:41 [INFO] [stderr] | [INFO] [stderr] 70 | Ok(_) => println!("{}", "Copy client attempted to read non-existing file"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::print_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::print_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stderr] [INFO] [stderr] warning: literal with an empty format string [INFO] [stderr] --> src/bin/meta_data.rs:49:37 [INFO] [stderr] | [INFO] [stderr] 49 | Ok(_) => println!("{}", "Copy client attempted to read non-existing file"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::print_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stderr] [INFO] [stderr] warning: literal with an empty format string [INFO] [stderr] --> src/bin/meta_data.rs:71:33 [INFO] [stderr] | [INFO] [stderr] 71 | Ok(_) => println!("{}", "Sent nodes with chunks"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stderr] [INFO] [stderr] warning: literal with an empty format string [INFO] [stderr] --> src/bin/meta_data.rs:87:37 [INFO] [stderr] | [INFO] [stderr] 87 | Ok(_) => println!("{}", "Copy client attempted to add an existing file"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stderr] [INFO] [stderr] warning: literal with an empty format string [INFO] [stderr] --> src/bin/meta_data.rs:118:33 [INFO] [stderr] | [INFO] [stderr] 118 | Ok(_) => println!("{}", "Sent nodes with chunks"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stderr] [INFO] [stderr] warning: literal with an empty format string [INFO] [stderr] --> src/bin/meta_data.rs:125:33 [INFO] [stderr] | [INFO] [stderr] 125 | Ok(_) => println!("{}", "Sent file paths"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/bin/ls.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Ipv4Addr`, `SocketAddrV4`, `TcpListener` [INFO] [stderr] --> src/bin/ls.rs:8:16 [INFO] [stderr] | [INFO] [stderr] 8 | use std::net::{TcpListener, TcpStream, Shutdown, SocketAddrV4, Ipv4Addr}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::borrow::Cow` [INFO] [stderr] --> src/bin/ls.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::borrow::Cow; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/bin/ls.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Read` [INFO] [stderr] --> src/bin/ls.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::io::Read; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/bin/ls.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Ipv4Addr`, `SocketAddrV4`, `TcpListener` [INFO] [stderr] --> src/bin/ls.rs:8:16 [INFO] [stderr] | [INFO] [stderr] 8 | use std::net::{TcpListener, TcpStream, Shutdown, SocketAddrV4, Ipv4Addr}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::borrow::Cow` [INFO] [stderr] --> src/bin/ls.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::borrow::Cow; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/bin/ls.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Read` [INFO] [stderr] --> src/bin/ls.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::io::Read; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/bin/data_node.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Read` [INFO] [stderr] --> src/bin/data_node.rs:9:22 [INFO] [stderr] | [INFO] [stderr] 9 | use std::io::{Write, Read}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/bin/data_node.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Read` [INFO] [stderr] --> src/bin/data_node.rs:9:22 [INFO] [stderr] | [INFO] [stderr] 9 | use std::io::{Write, Read}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `stream` [INFO] [stderr] --> src/bin/data_node.rs:102:13 [INFO] [stderr] | [INFO] [stderr] 102 | fn shutdown(stream: &mut TcpStream, metadata_endpoint: &String, node_endpoint: &String) { [INFO] [stderr] | ^^^^^^ help: consider using `_stream` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/bin/copy.rs:49:9 [INFO] [stderr] | [INFO] [stderr] 49 | nodes.map(|ns| send_file_to_data_nodes(&filename, &ns, &file)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(ns) = nodes { send_file_to_data_nodes(&filename, &ns, &file) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_map_unit_fn)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/bin/copy.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | nodes.map(|ns| get_file_from_data_nodes(&destination, &filename, &ns)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(ns) = nodes { get_file_from_data_nodes(&destination, &filename, &ns) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bin/copy.rs:56:15 [INFO] [stderr] | [INFO] [stderr] 56 | filename: &String, [INFO] [stderr] | ^^^^^^^ [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] help: change this to [INFO] [stderr] | [INFO] [stderr] 56 | filename: &str, [INFO] [stderr] | ^^^^ [INFO] [stderr] help: change `filename.clone()` to [INFO] [stderr] | [INFO] [stderr] 68 | filename: filename.to_string(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [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/copy.rs:57:12 [INFO] [stderr] | [INFO] [stderr] 57 | nodes: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[AvailableNodes]` [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/copy.rs:58:11 [INFO] [stderr] | [INFO] [stderr] 58 | file: &Vec) [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [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 `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bin/copy.rs:85:23 [INFO] [stderr] | [INFO] [stderr] 85 | destination_path: &String, [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [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 `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bin/copy.rs:86:15 [INFO] [stderr] | [INFO] [stderr] 86 | filename: &String, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] help: change this to [INFO] [stderr] | [INFO] [stderr] 86 | filename: &str, [INFO] [stderr] | ^^^^ [INFO] [stderr] help: change `filename.clone()` to [INFO] [stderr] | [INFO] [stderr] 94 | filename: filename.to_string(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [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/copy.rs:87:12 [INFO] [stderr] | [INFO] [stderr] 87 | nodes: &Vec) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[AvailableNodes]` [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: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/bin/copy.rs:124:13 [INFO] [stderr] | [INFO] [stderr] 124 | copy.write(&chunk[..]).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/bin/copy.rs:142:36 [INFO] [stderr] | [INFO] [stderr] 142 | let mut endpoint_arg: String = args.get(0).unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/bin/copy.rs:149:49 [INFO] [stderr] | [INFO] [stderr] 149 | let is_copy_to_dfs = !endpoint_arg.contains(":"); [INFO] [stderr] | ^^^ help: try using a char instead: `':'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/bin/copy.rs:151:24 [INFO] [stderr] | [INFO] [stderr] 151 | endpoint_arg = args.get(1).unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/bin/copy.rs:156:20 [INFO] [stderr] | [INFO] [stderr] 156 | filename = args.get(0).unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/bin/copy.rs:162:20 [INFO] [stderr] | [INFO] [stderr] 162 | filename = args.get(1).unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `skip(x).next()` on an iterator. This is more succinctly expressed by calling `nth(x)` [INFO] [stderr] --> src/bin/data_node.rs:19:21 [INFO] [stderr] | [INFO] [stderr] 19 | let data_path = std::env::args().skip(3).next() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::iter_skip_next)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_skip_next [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bin/data_node.rs:42:29 [INFO] [stderr] | [INFO] [stderr] 42 | fn receive_chunk(base_path: &String, json: &String, data: &Vec) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [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 `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bin/data_node.rs:42:44 [INFO] [stderr] | [INFO] [stderr] 42 | fn receive_chunk(base_path: &String, json: &String, data: &Vec) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [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/data_node.rs:42:59 [INFO] [stderr] | [INFO] [stderr] 42 | fn receive_chunk(base_path: &String, json: &String, data: &Vec) { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [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 `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bin/data_node.rs:49:26 [INFO] [stderr] | [INFO] [stderr] 49 | fn send_chunk(base_path: &String, stream: &mut TcpStream, json: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [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 `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bin/data_node.rs:49:65 [INFO] [stderr] | [INFO] [stderr] 49 | fn send_chunk(base_path: &String, stream: &mut TcpStream, json: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [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: identical conversion [INFO] [stderr] --> src/bin/data_node.rs:59:32 [INFO] [stderr] | [INFO] [stderr] 59 | data: Some(Vec::from(f)), [INFO] [stderr] | ^^^^^^^^^^^^ help: consider removing `Vec::from()`: `f` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bin/data_node.rs:77:49 [INFO] [stderr] | [INFO] [stderr] 77 | fn register_with_meta_server(metadata_endpoint: &String, node_endpoint: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] warning: unused variable: `stream` [INFO] [stderr] --> src/bin/data_node.rs:102:13 [INFO] [stderr] | [INFO] [stderr] 102 | fn shutdown(stream: &mut TcpStream, metadata_endpoint: &String, node_endpoint: &String) { [INFO] [stderr] | ^^^^^^ help: consider using `_stream` instead [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 `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bin/data_node.rs:77:73 [INFO] [stderr] | [INFO] [stderr] 77 | fn register_with_meta_server(metadata_endpoint: &String, node_endpoint: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [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: Could not compile `a03`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/bin/data_node.rs:80:48 [INFO] [stderr] | [INFO] [stderr] 80 | let split: Vec<&str> = node_endpoint.split(":").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `':'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bin/data_node.rs:102:56 [INFO] [stderr] | [INFO] [stderr] 102 | fn shutdown(stream: &mut TcpStream, metadata_endpoint: &String, node_endpoint: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [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 `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bin/data_node.rs:102:80 [INFO] [stderr] | [INFO] [stderr] 102 | fn shutdown(stream: &mut TcpStream, metadata_endpoint: &String, node_endpoint: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [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: single-character string constant used as pattern [INFO] [stderr] --> src/bin/data_node.rs:104:48 [INFO] [stderr] | [INFO] [stderr] 104 | let split: Vec<&str> = node_endpoint.split(":").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `':'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: called `skip(x).next()` on an iterator. This is more succinctly expressed by calling `nth(x)` [INFO] [stderr] --> src/bin/data_node.rs:19:21 [INFO] [stderr] | [INFO] [stderr] 19 | let data_path = std::env::args().skip(3).next() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::iter_skip_next)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_skip_next [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bin/data_node.rs:42:29 [INFO] [stderr] | [INFO] [stderr] 42 | fn receive_chunk(base_path: &String, json: &String, data: &Vec) { [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bin/data_node.rs:42:44 [INFO] [stderr] | [INFO] [stderr] 42 | fn receive_chunk(base_path: &String, json: &String, data: &Vec) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [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/data_node.rs:42:59 [INFO] [stderr] | [INFO] [stderr] 42 | fn receive_chunk(base_path: &String, json: &String, data: &Vec) { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [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 `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bin/data_node.rs:49:26 [INFO] [stderr] | [INFO] [stderr] 49 | fn send_chunk(base_path: &String, stream: &mut TcpStream, json: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [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 `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bin/data_node.rs:49:65 [INFO] [stderr] | [INFO] [stderr] 49 | fn send_chunk(base_path: &String, stream: &mut TcpStream, json: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [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: identical conversion [INFO] [stderr] --> src/bin/data_node.rs:59:32 [INFO] [stderr] | [INFO] [stderr] 59 | data: Some(Vec::from(f)), [INFO] [stderr] | ^^^^^^^^^^^^ help: consider removing `Vec::from()`: `f` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bin/data_node.rs:77:49 [INFO] [stderr] | [INFO] [stderr] 77 | fn register_with_meta_server(metadata_endpoint: &String, node_endpoint: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [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 `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bin/data_node.rs:77:73 [INFO] [stderr] | [INFO] [stderr] 77 | fn register_with_meta_server(metadata_endpoint: &String, node_endpoint: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [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: single-character string constant used as pattern [INFO] [stderr] --> src/bin/data_node.rs:80:48 [INFO] [stderr] | [INFO] [stderr] 80 | let split: Vec<&str> = node_endpoint.split(":").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `':'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bin/data_node.rs:102:56 [INFO] [stderr] | [INFO] [stderr] 102 | fn shutdown(stream: &mut TcpStream, metadata_endpoint: &String, node_endpoint: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [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 `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bin/data_node.rs:102:80 [INFO] [stderr] | [INFO] [stderr] 102 | fn shutdown(stream: &mut TcpStream, metadata_endpoint: &String, node_endpoint: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [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: single-character string constant used as pattern [INFO] [stderr] --> src/bin/data_node.rs:104:48 [INFO] [stderr] | [INFO] [stderr] 104 | let split: Vec<&str> = node_endpoint.split(":").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `':'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_data_node` [INFO] [stderr] --> src/bin/meta_data.rs:176:1 [INFO] [stderr] | [INFO] [stderr] 176 | fn get_data_node(conn: &Connection, address: &str, port: i32) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `remove_file` [INFO] [stderr] --> src/bin/meta_data.rs:218:1 [INFO] [stderr] | [INFO] [stderr] 218 | fn remove_file(conn: &Connection, fname: String) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/bin/meta_data.rs:17:48 [INFO] [stderr] | [INFO] [stderr] 17 | let port = std::env::args().skip(1).next().unwrap_or(String::from(DEFAULT_PORT)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| String::from(DEFAULT_PORT))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: called `skip(x).next()` on an iterator. This is more succinctly expressed by calling `nth(x)` [INFO] [stderr] --> src/bin/meta_data.rs:17:16 [INFO] [stderr] | [INFO] [stderr] 17 | let port = std::env::args().skip(1).next().unwrap_or(String::from(DEFAULT_PORT)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::iter_skip_next)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_skip_next [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `dnodes` [INFO] [stderr] --> src/bin/meta_data.rs:96:14 [INFO] [stderr] | [INFO] [stderr] 96 | for i in 0..dnodes.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 96 | for (i, ) in dnodes.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bin/meta_data.rs:130:71 [INFO] [stderr] | [INFO] [stderr] 130 | fn node_registration(stream: &mut TcpStream, conn: &Connection, json: &String) { [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bin/meta_data.rs:202:39 [INFO] [stderr] | [INFO] [stderr] 202 | fn add_file(conn: &Connection, fname: &String, fsize: i64) -> bool { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [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 `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bin/meta_data.rs:225:44 [INFO] [stderr] | [INFO] [stderr] 225 | fn get_file_info(conn: &Connection, fname: &String) -> Option { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [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/meta_data.rs:254:61 [INFO] [stderr] | [INFO] [stderr] 254 | fn add_blocks_to_inode(conn: &Connection, fid: u32, blocks: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Block]` [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: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/bin/copy.rs:49:9 [INFO] [stderr] | [INFO] [stderr] 49 | nodes.map(|ns| send_file_to_data_nodes(&filename, &ns, &file)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(ns) = nodes { send_file_to_data_nodes(&filename, &ns, &file) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_map_unit_fn)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/bin/copy.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | nodes.map(|ns| get_file_from_data_nodes(&destination, &filename, &ns)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(ns) = nodes { get_file_from_data_nodes(&destination, &filename, &ns) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bin/copy.rs:56:15 [INFO] [stderr] | [INFO] [stderr] 56 | filename: &String, [INFO] [stderr] | ^^^^^^^ [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] help: change this to [INFO] [stderr] | [INFO] [stderr] 56 | filename: &str, [INFO] [stderr] | ^^^^ [INFO] [stderr] help: change `filename.clone()` to [INFO] [stderr] | [INFO] [stderr] 68 | filename: filename.to_string(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [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/copy.rs:57:12 [INFO] [stderr] | [INFO] [stderr] 57 | nodes: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[AvailableNodes]` [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/copy.rs:58:11 [INFO] [stderr] | [INFO] [stderr] 58 | file: &Vec) [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [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 `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bin/copy.rs:85:23 [INFO] [stderr] | [INFO] [stderr] 85 | destination_path: &String, [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [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 `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bin/copy.rs:86:15 [INFO] [stderr] | [INFO] [stderr] 86 | filename: &String, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] help: change this to [INFO] [stderr] | [INFO] [stderr] 86 | filename: &str, [INFO] [stderr] | ^^^^ [INFO] [stderr] help: change `filename.clone()` to [INFO] [stderr] | [INFO] [stderr] 94 | filename: filename.to_string(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [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/copy.rs:87:12 [INFO] [stderr] | [INFO] [stderr] 87 | nodes: &Vec) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[AvailableNodes]` [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: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/bin/copy.rs:124:13 [INFO] [stderr] | [INFO] [stderr] 124 | copy.write(&chunk[..]).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/bin/copy.rs:142:36 [INFO] [stderr] | [INFO] [stderr] 142 | let mut endpoint_arg: String = args.get(0).unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/bin/copy.rs:149:49 [INFO] [stderr] | [INFO] [stderr] 149 | let is_copy_to_dfs = !endpoint_arg.contains(":"); [INFO] [stderr] | ^^^ help: try using a char instead: `':'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/bin/copy.rs:151:24 [INFO] [stderr] | [INFO] [stderr] 151 | endpoint_arg = args.get(1).unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/bin/copy.rs:156:20 [INFO] [stderr] | [INFO] [stderr] 156 | filename = args.get(0).unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/bin/copy.rs:162:20 [INFO] [stderr] | [INFO] [stderr] 162 | filename = args.get(1).unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `a03`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: function is never used: `remove_file` [INFO] [stderr] --> src/bin/meta_data.rs:218:1 [INFO] [stderr] | [INFO] [stderr] 218 | fn remove_file(conn: &Connection, fname: String) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/bin/meta_data.rs:17:48 [INFO] [stderr] | [INFO] [stderr] 17 | let port = std::env::args().skip(1).next().unwrap_or(String::from(DEFAULT_PORT)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| String::from(DEFAULT_PORT))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: called `skip(x).next()` on an iterator. This is more succinctly expressed by calling `nth(x)` [INFO] [stderr] --> src/bin/meta_data.rs:17:16 [INFO] [stderr] | [INFO] [stderr] 17 | let port = std::env::args().skip(1).next().unwrap_or(String::from(DEFAULT_PORT)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::iter_skip_next)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_skip_next [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `dnodes` [INFO] [stderr] --> src/bin/meta_data.rs:96:14 [INFO] [stderr] | [INFO] [stderr] 96 | for i in 0..dnodes.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 96 | for (i, ) in dnodes.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bin/meta_data.rs:130:71 [INFO] [stderr] | [INFO] [stderr] 130 | fn node_registration(stream: &mut TcpStream, conn: &Connection, json: &String) { [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bin/meta_data.rs:202:39 [INFO] [stderr] | [INFO] [stderr] 202 | fn add_file(conn: &Connection, fname: &String, fsize: i64) -> bool { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [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 `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bin/meta_data.rs:225:44 [INFO] [stderr] | [INFO] [stderr] 225 | fn get_file_info(conn: &Connection, fname: &String) -> Option { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [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/meta_data.rs:254:61 [INFO] [stderr] | [INFO] [stderr] 254 | fn add_blocks_to_inode(conn: &Connection, fid: u32, blocks: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Block]` [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: the loop variable `i` is used to index `ds` [INFO] [stderr] --> src/bin/meta_data.rs:363:18 [INFO] [stderr] | [INFO] [stderr] 363 | for i in 0..ds.len() { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 363 | for (i, ) in ds.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "30c832357306a90436a1bc9c1ba0a9731d81d44b04823c12198b67722ab90475"` [INFO] running `"docker" "rm" "-f" "30c832357306a90436a1bc9c1ba0a9731d81d44b04823c12198b67722ab90475"` [INFO] [stdout] 30c832357306a90436a1bc9c1ba0a9731d81d44b04823c12198b67722ab90475